[sword-devel] Ezra Project 0.12.0 released

Caleb Maclennan caleb at alerque.com
Wed Mar 18 17:42:59 EDT 2020


>
> 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 <contact at 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 <contact at 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 <caleb at 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 <contact at 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 at 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 at 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 at crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at 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 at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20200319/c9882028/attachment-0001.html>


More information about the sword-devel mailing list