guix-science / guix-science

Free scientific packages for GNU Guix.
GNU General Public License v3.0
45 stars 14 forks source link

Recommendation: Can someone try to build zotero for guix? #24

Open johnabs opened 1 year ago

johnabs commented 1 year ago

Basically the title, Zotero is FLOSS with the GNU AGPL license, so I'm hoping we can add it to this repo, since I've just migrated to guix, and zotero is by far the best reference manager IMO.

I'm not sure how useful I could be, but I'm more than willing to give it a shot to help with the packaging etc.

Do you think this would be the place to ask, or should I ask the guix/non-guix channels instead?

PromyLOPh commented 1 year ago

Do you think this would be the place to ask, or should I ask the guix/non-guix channels instead? It would be nice to have this in Guix proper, but given the amount of JavaScript necessary I doubt that’s going to happen. Thus guix-science seems a good choice. For a beginner this seems a bit tough though. There’s no easy way to build NPM-based packages – look at how we build rstudio.

xunam commented 1 year ago

Would it be possible to just pick the compiled binary on the website and patch it with patchelf to point at the right libraries ? It feels like a hack but Nix does it this way and it does the job.

An alternative is to run the provided binary in a container. I managed to get it to start using

guix shell --container --emulate-fhs --network \
        --share=/tmp/.X11-unix --share=/home/manu \
        libx11 gcc:lib gtk+ dbus-glib libxt -- ./zotero

The second --share is so that it has access to the library stored in my home dir. Not sure browser integration works through a container, though (I did not try yet).

johnabs commented 1 year ago

Oh my gosh, I'll have to try this out ASAP, I'll have some time to play with this next week! Thanks for the work on it, I'll see if I can make any progress towards a build with this method!

johnabs commented 1 year ago

@xunam I tried your command (with a minor tweak to get the gcc:lib) working, but get the following error with this command: guix shell --container --emulate-fhs --network --share=/tmp/.X11-unix --share=/home/johnbs libx11 -e '(list (@@ (gnu packages commencement) gcc) "lib")' gtk+ dbus-glib libxt -- ./zotero

guix shell: error: ./zotero: command not found hint: Did you mean 'derb'?

I ran the command from within the Zotero_linux-x86_64 folder that was unzipped from the zotero downloads page. Is there something else you changed to the zotero files make it work?

johnabs commented 1 year ago

I got it built! I'll try to submit a PR soon (if I can figure out how to do it; it's been a while 😅)

Edit: Made the PR! @PromyLOPh , @rekado , please take a look when you can, if you don't mind! I hope this ends up being helpful to people :)

xunam commented 1 year ago

Is there something else you changed to the zotero files make it work?

I just tried it again and I had to add bash to the list of packages, because ./zotero is actually a bash script (maybe this has changed since my previous post).

fstamour commented 10 months ago

The PR #27 has been opened for a little over 3 months without any news from the maintainers...

I'll try flatpak for now, but I'm curious... is there is any specific reason why the PR is "stalled"?