It would be nice to have a recent jabref in gentoo.
I guess it is not trivial.
James already had a short look at the old ebuild in https://bugs.gentoo.org/show_bug.cgi?id=579818
Currently jabref is built with gradle which we don't have in tree. How would we build jabref?
Nicolas, thank you for pointing out that we need gradle. Now I remember, that we had been at this point in spring this year already.
*** Bug 608742 has been marked as a duplicate of this bug. ***
Just for information: JabRef 2.10 was the last version built with gradle.
There is not much magic being done in the gradle build (see https://github.com/JabRef/jabref/blob/master/build.gradle):
- generating source using antlr
- generating source using xjc
- patching in VERSION and DEVELOPERS in the source files
- declaring dependencies
- making a fat jar and some magic so that it works with gradle
Other things not required for a binary:
- some Install4J thing - windows + mac only
In case someone has experience with other build tools (Maven?) it should not be that hard to write a pom.xml doing the build for JabRef.
FYI, here what debian did to package 3.8.2:
Debian's patch to build.gradle is available at https://anonscm.debian.org/git/pkg-java/jabref.git/tree/debian/patches/010_gradle_build.patch
The also had issues to get xjc running, thus they added the generated files: https://anonscm.debian.org/git/pkg-java/jabref.git/tree/debian/patches/030_xjc.patch
And the usual org.json replacement patch: https://anonscm.debian.org/git/pkg-java/jabref.git/tree/debian/patches/050_unirest_json.patch
Finally, due to non-available libraries, some functionality has been removed and a DB driver replaced: https://anonscm.debian.org/git/pkg-java/jabref.git/tree/debian/patches/001_koppor_debian.patch
All external libraries are listed at https://github.com/JabRef/jabref/blob/master/external-libraries.txt - required for the upcoming version 4.0 of JabRef relying on JavaFX being available.
Version 3.8.2 does not rely on JavaFX. Its external libraries are listed at https://github.com/JabRef/jabref/blob/v3.8.2/external-libraries.txt
Sure, the dependencies stated at build.gradle are the ones really used: https://github.com/JabRef/jabref/blob/v3.8.2/build.gradle#L70