<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I don&#39;t see anything in here about needing the SWORD library or its headers. Is that somehow fetched and bundled? How are you gaining access to it?</div></div></blockquote><div><br></div><div>The &quot;culprit&quot; here is the node-sword-interface module. Currently the default setup of this module includes install time hooks that use curl, git, cmake, etc. to fetch build and bundle a copy of the SWORD source code inside the node package. The built files subsequently get bundled inside the electron package.</div><div><br></div><div>This arrangement of fetching sources out of band and building them (requiring special tooling) is unacceptable for Arch Linux, so I hand to come up with some workarounds. Tobias also helped provide a workaround. You can see some of the discussion here:</div><div><br></div><div><a href="https://github.com/tobias-klein/node-sword-interface/issues/3">https://github.com/tobias-klein/node-sword-interface/issues/3</a></div><div><br></div><div>In the end node packaging I came up with is here:</div><div><br></div><div><a href="https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=nodejs-sword-interface">https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=nodejs-sword-interface</a></div><div><br></div><div>That builds a copy of the node module that builds itself against a system installed SWORD library.</div><div><br></div><div><a href="https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ezra-project">https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ezra-project</a></div><div><br></div><div>The next piece of the puzzle is actually getting Ezra Project to use that. At least on Arch bundling the electron executable is also inappropriate, so I basically have start with the source, then strip out the dependencies from package.json that are going to be provided by the system (in my case electron, node-gyp, node-prune, node-addon-api, pug-cli, node-sword-interface). Next I step through the steps the original build process takes, replacing them when relevant with local system resources, symlinking in the above built sword module, etc.</div><div><br></div><div>In the end the generated sword library interfaces still get bundled in the electron source asar, but at least they are linked against the system SWORD.</div><div><br></div><div>If you have questions I can help with let me know. This gave me conniptions to get working, but I think I understand it a bit now. There are probably quite o few things &quot;we&quot; could to to make Ezra Project easier to package for distros.</div><div><br></div><div>Caleb<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>And does it depend on NodeJS 10, as the setup seems to initialize? Currently in Fedora is NodeJS 12, so it would want to be packaged with that if we can support it.<br></div><div><br></div><div>--Greg<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 18, 2020 at 3:39 PM Tobias Klein &lt;<a href="mailto:contact@tklein.info" target="_blank">contact@tklein.info</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <p>Hi Greg,</p>
    <p>This Dockerfile defines the environment that I&#39;m using to
      generate the RPM package for Fedora:<br>
      <a href="https://github.com/tobias-klein/ezra-project/blob/master/docker/Fedora31_Dockerfile" target="_blank">https://github.com/tobias-klein/ezra-project/blob/master/docker/Fedora31_Dockerfile</a></p>
    <p>This is the build script for Linux which is then executed in a
      Docker container based on the above image (also used for all other
      Linux-based targets):<br>
      <a href="https://github.com/tobias-klein/ezra-project/blob/master/build_scripts/build.sh" target="_blank">https://github.com/tobias-klein/ezra-project/blob/master/build_scripts/build.sh</a></p>
    <p>And this is the RPM configuration (also documenting the package
      dependencies) that I&#39;m using to generate the Fedora packages (used
      by electron-installer-redhat):<br>
      <a href="https://github.com/tobias-klein/ezra-project/blob/master/package_config/rpm_config_fedora29.json" target="_blank">https://github.com/tobias-klein/ezra-project/blob/master/package_config/rpm_config_fedora29.json</a></p>
    <p>Some general instructions regarding the Build process on Linux
      can be found here:<br>
      <a href="https://github.com/tobias-klein/ezra-project/blob/master/BUILD.md#linux" target="_blank">https://github.com/tobias-klein/ezra-project/blob/master/BUILD.md#linux</a></p>
    <p>Let me know if you have more questions.<br>
      <br>
      Best regards,<br>
      Tobias<br>
      <br>
    </p>
    <div>On 3/18/20 8:08 PM, Greg Hellings
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>Tobias,</div>
        <div><br>
        </div>
        <div>What would I need in place to make this available in
          Fedora?</div>
        <div><br>
        </div>
        <div>--Greg<br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Wed, Mar 18, 2020 at 2:07
          PM Tobias Klein &lt;<a href="mailto:contact@tklein.info" target="_blank">contact@tklein.info</a>&gt; wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>Thanks for the packaging efforts and your feedback,
            Caleb! I appreciate it! :)<br>
            <br>
            Tobias<br>
            <br>
            <div class="gmail_quote">Am 18. März 2020 12:53:56 MEZ
              schrieb Caleb Maclennan &lt;<a href="mailto:caleb@alerque.com" target="_blank">caleb@alerque.com</a>&gt;:
              <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                <div dir="ltr">Great work Tobias.<br>
                  <br>
                  Arch Linux packaging is also updated, 0.12.0 can be
                  built from the AUR (manually or using any aur helper
                  of your choice) or installed from my prebuilt packages
                  in this repository: <a href="https://wiki.archlinux.org/index.php/Unofficial_user_repositories#alerque" target="_blank">https://wiki.archlinux.org/index.php/Unofficial_user_repositories#alerque</a><br>
                  <br>
                  Caleb</div>
                <br>
                <div class="gmail_quote">
                  <div dir="ltr" class="gmail_attr">On Wed, Mar 18, 2020
                    at 1:24 AM Tobias Klein &lt;<a href="mailto:contact@tklein.info" target="_blank">contact@tklein.info</a>&gt;
                    wrote:<br>
                  </div>
                  <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                    <div lang="DE">
                      <div>
                        <p class="MsoNormal">Hi all,<br>
                          <br>
                          <i>Ezra Project 0.12.0</i> has been released.
                          Ezra Project is a topical bible study tool.</p>
                        <p><a href="https://github.com/tobias-klein/ezra-project/releases/tag/0.12.0" target="_blank">https://github.com/tobias-klein/ezra-project/releases/tag/0.12.0</a></p>
                        <p>Note-worthy <i>improvements</i> are:</p>
                        <ul type="disc">
                          <li class="MsoNormal" style="color:rgb(36,41,46);background:white none repeat scroll 0% 0%">SWORD module
                            unlock support</li>
                          <li class="MsoNormal" style="color:rgb(36,41,46);margin-top:3pt;background:white none repeat scroll 0% 0%;box-sizing:border-box">French translation
                            (Thanks to Cyrille and Tom)</li>
                          <li class="MsoNormal" style="background:white none repeat scroll 0% 0%;box-sizing:border-box"><span style="color:rgb(36,41,46)">Internal
                              design change: Load Bible text directly
                              from SWORD modules instead of database</span></li>
                        </ul>
                        <p>Detailed changes are recorded in the <a href="https://github.com/tobias-klein/ezra-project/blob/master/CHANGELOG.md#0120---2020-03-17" target="_blank">Change
                            Log</a>.</p>
                        <p><i>Downloads</i> are available for:</p>
                        <ul type="disc">
                          <li class="MsoNormal">Windows (tested on
                            Windows 10)</li>
                          <li class="MsoNormal">macOS (tested on
                            Catalina)</li>
                          <li class="MsoNormal">Ubuntu 18.04 + 19.04</li>
                          <li class="MsoNormal">Debian 10</li>
                          <li class="MsoNormal">Linux Mint 18</li>
                          <li class="MsoNormal">Fedora 29 (also works
                            with Fedora 30)</li>
                          <li class="MsoNormal">Fedora 31</li>
                          <li class="MsoNormal">CentOS 8</li>
                          <li class="MsoNormal">OpenSuse Leap 15.1</li>
                        </ul>
                        <p>Feedback is appreciated!</p>
                        <p class="MsoNormal">Best regards,<br>
                          Tobias</p>
                      </div>
                    </div>
                    _______________________________________________<br>
                    sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
                    <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
                    Instructions to unsubscribe/change your settings at
                    above page</blockquote>
                </div>
              </blockquote>
            </div>
            <br>
            -- <br>
            Message sent from my phone. Please excuse brevity.</div>
          _______________________________________________<br>
          sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
          <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
          Instructions to unsubscribe/change your settings at above page</blockquote>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
    </blockquote>
  </div>

_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page</blockquote></div>
_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page</blockquote></div></div>