> > I don'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? >
The "culprit" 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. 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: https://github.com/tobias-klein/node-sword-interface/issues/3 In the end node packaging I came up with is here: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=nodejs-sword-interface That builds a copy of the node module that builds itself against a system installed SWORD library. https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ezra-project 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. 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. 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 "we" could to to make Ezra Project easier to package for distros. Caleb > 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. > > --Greg > > On Wed, Mar 18, 2020 at 3:39 PM Tobias Klein <cont...@tklein.info> wrote: > >> Hi Greg, >> >> This Dockerfile defines the environment that I'm using to generate the >> RPM package for Fedora: >> >> https://github.com/tobias-klein/ezra-project/blob/master/docker/Fedora31_Dockerfile >> >> 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): >> >> https://github.com/tobias-klein/ezra-project/blob/master/build_scripts/build.sh >> >> And this is the RPM configuration (also documenting the package >> dependencies) that I'm using to generate the Fedora packages (used by >> electron-installer-redhat): >> >> https://github.com/tobias-klein/ezra-project/blob/master/package_config/rpm_config_fedora29.json >> >> Some general instructions regarding the Build process on Linux can be >> found here: >> https://github.com/tobias-klein/ezra-project/blob/master/BUILD.md#linux >> >> Let me know if you have more questions. >> >> Best regards, >> Tobias >> >> On 3/18/20 8:08 PM, Greg Hellings wrote: >> >> Tobias, >> >> What would I need in place to make this available in Fedora? >> >> --Greg >> >> On Wed, Mar 18, 2020 at 2:07 PM Tobias Klein <cont...@tklein.info> wrote: >> >>> Thanks for the packaging efforts and your feedback, Caleb! I appreciate >>> it! :) >>> >>> Tobias >>> >>> Am 18. März 2020 12:53:56 MEZ schrieb Caleb Maclennan <ca...@alerque.com>: >>> >>>> >>>> Great work Tobias. >>>> >>>> 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: >>>> https://wiki.archlinux.org/index.php/Unofficial_user_repositories#alerque >>>> >>>> Caleb >>>> >>>> On Wed, Mar 18, 2020 at 1:24 AM Tobias Klein <cont...@tklein.info> >>>> wrote: >>>> >>>>> Hi all, >>>>> >>>>> *Ezra Project 0.12.0* has been released. Ezra Project is a topical >>>>> bible study tool. >>>>> >>>>> https://github.com/tobias-klein/ezra-project/releases/tag/0.12.0 >>>>> >>>>> Note-worthy *improvements* are: >>>>> >>>>> - SWORD module unlock support >>>>> - French translation (Thanks to Cyrille and Tom) >>>>> - Internal design change: Load Bible text directly from SWORD >>>>> modules instead of database >>>>> >>>>> Detailed changes are recorded in the Change Log >>>>> <https://github.com/tobias-klein/ezra-project/blob/master/CHANGELOG.md#0120---2020-03-17> >>>>> . >>>>> >>>>> *Downloads* are available for: >>>>> >>>>> - Windows (tested on Windows 10) >>>>> - macOS (tested on Catalina) >>>>> - Ubuntu 18.04 + 19.04 >>>>> - Debian 10 >>>>> - Linux Mint 18 >>>>> - Fedora 29 (also works with Fedora 30) >>>>> - Fedora 31 >>>>> - CentOS 8 >>>>> - OpenSuse Leap 15.1 >>>>> >>>>> Feedback is appreciated! >>>>> >>>>> Best regards, >>>>> Tobias >>>>> _______________________________________________ >>>>> sword-devel mailing list: sword-devel@crosswire.org >>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>> Instructions to unsubscribe/change your settings at above page >>>> >>>> >>> -- >>> Message sent from my phone. Please excuse brevity. >>> _______________________________________________ >>> sword-devel mailing list: sword-devel@crosswire.org >>> http://www.crosswire.org/mailman/listinfo/sword-devel >>> Instructions to unsubscribe/change your settings at above page >> >> >> _______________________________________________ >> sword-devel mailing list: >> sword-devel@crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page >> >> _______________________________________________ >> sword-devel mailing list: sword-devel@crosswire.org >> http://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page > > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page