Loading pkgs/applications/office/jabref/default.nix +53 −58 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ , stdenv , fetchurl , fetchFromGitHub , fetchpatch , wrapGAppsHook , makeDesktopItem , copyDesktopItems Loading @@ -20,21 +21,18 @@ let snapshot = "2.2.1-SNAPSHOT"; pin = "2.2.1-20230117.075740-16"; }; afterburner = { snapshot = "1.1.0-SNAPSHOT"; pin = "1.1.0-20221226.155809-7"; }; }; in stdenv.mkDerivation rec { version = "5.10"; version = "5.11"; pname = "jabref"; src = fetchFromGitHub { owner = "JabRef"; repo = "jabref"; rev = "v${version}"; hash = "sha256-Yj4mjXOZVM0dKcMfTjmnZs/kIs8AR0KJ9HKlyPM96j8="; hash = "sha256-MTnM4QHTFXJt/T8SOWwHlZ1CuegSGjpT3qDaMRi5n18="; fetchSubmodules = true; }; desktopItems = [ Loading @@ -51,16 +49,9 @@ stdenv.mkDerivation rec { }) ]; deps = let javafx-web = fetchurl { url = "https://repo1.maven.org/maven2/org/openjfx/javafx-web/20/javafx-web-20.jar"; hash = "sha256-qRtVN34KURlVM5Ie/x25IfKsKsUcux7V2m3LML74G/s="; }; in stdenv.mkDerivation { deps = stdenv.mkDerivation { pname = "${pname}-deps"; inherit src version postPatch; inherit src version patches postPatch; nativeBuildInputs = [ gradle perl ]; buildPhase = '' Loading @@ -73,24 +64,26 @@ stdenv.mkDerivation rec { find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \ | sh mv $out/org/jabref/afterburner.fx/${versionReplace.afterburner.pin} \ $out/org/jabref/afterburner.fx/${versionReplace.afterburner.snapshot} mv $out/com/tobiasdiez/easybind/${versionReplace.easybind.pin} \ $out/com/tobiasdiez/easybind/${versionReplace.easybind.snapshot} # This jar is required but not used or cached for unknown reason. cp ${javafx-web} $out/org/openjfx/javafx-web/20/javafx-web-20.jar ''; # Don't move info to share/ forceShare = [ "dummy" ]; outputHashMode = "recursive"; outputHash = "sha256-XswHEKjzErL+znau/F6mTORVJlFSgVuT0svK29v5dEU="; outputHash = "sha256-sMbAv122EcLPOqbEVKowfxp9B71iJaccLRlKS75b3Xc="; }; patches = [ # Use JavaFX 21 (fetchpatch { url = "https://github.com/JabRef/jabref/commit/2afd1f622a3ab85fc2cf5fa879c5a4d41c245eca.patch"; hash = "sha256-cs7TSSnEY4Yf5xrqMOpfIA4jVdzM3OQQV/anQxJyy64="; }) ]; postPatch = '' # Pin the version substituteInPlace build.gradle \ --replace 'org.jabref:afterburner.fx:${versionReplace.afterburner.snapshot}' \ 'org.jabref:afterburner.fx:${versionReplace.afterburner.pin}' \ --replace 'com.tobiasdiez:easybind:${versionReplace.easybind.snapshot}' \ 'com.tobiasdiez:easybind:${versionReplace.easybind.pin}' Loading @@ -98,29 +91,31 @@ stdenv.mkDerivation rec { substituteInPlace src/main/java/org/jabref/preferences/JabRefPreferences.java \ --replace 'VERSION_CHECK_ENABLED, Boolean.TRUE' \ 'VERSION_CHECK_ENABLED, Boolean.FALSE' # Add back downloadDependencies task for deps download which is removed upstream in https://github.com/JabRef/jabref/pull/10326 cat <<EOF >> build.gradle task downloadDependencies { description "Pre-downloads *most* dependencies" doLast { configurations.getAsMap().each { name, config -> println "Retrieving dependencies for $name" try { config.files } catch (e) { // some cannot be resolved, just log them project.logger.info e.message } } } } EOF ''; preBuild = '' # Include CSL styles and locales in our build cp -r buildres/csl/* src/main/resources/ # Use the local packages from -deps sed -i -e '/repositories {/a maven { url uri("${deps}") }' \ build.gradle \ buildSrc/build.gradle \ settings.gradle # The `plugin {}` block can't resolve plugins from the deps repo sed -e '/plugins {/,/^}/d' buildSrc/build.gradle > buildSrc/build.gradle.tmp cat > buildSrc/build.gradle <<EOF buildscript { repositories { maven { url uri("${deps}") } } dependencies { classpath 'org.openjfx:javafx-plugin:0.0.14' } } apply plugin: 'java' apply plugin: 'org.openjfx.javafxplugin' EOF cat buildSrc/build.gradle.tmp >> buildSrc/build.gradle ''; nativeBuildInputs = [ Loading pkgs/top-level/all-packages.nix +1 −1 Original line number Diff line number Diff line Loading @@ -32937,7 +32937,7 @@ with pkgs; }; jabref = callPackage ../applications/office/jabref { jdk = jdk20.override { enableJavaFX = true; }; jdk = jdk21.override { enableJavaFX = true; }; gradle = gradle_8; }; Loading
pkgs/applications/office/jabref/default.nix +53 −58 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ , stdenv , fetchurl , fetchFromGitHub , fetchpatch , wrapGAppsHook , makeDesktopItem , copyDesktopItems Loading @@ -20,21 +21,18 @@ let snapshot = "2.2.1-SNAPSHOT"; pin = "2.2.1-20230117.075740-16"; }; afterburner = { snapshot = "1.1.0-SNAPSHOT"; pin = "1.1.0-20221226.155809-7"; }; }; in stdenv.mkDerivation rec { version = "5.10"; version = "5.11"; pname = "jabref"; src = fetchFromGitHub { owner = "JabRef"; repo = "jabref"; rev = "v${version}"; hash = "sha256-Yj4mjXOZVM0dKcMfTjmnZs/kIs8AR0KJ9HKlyPM96j8="; hash = "sha256-MTnM4QHTFXJt/T8SOWwHlZ1CuegSGjpT3qDaMRi5n18="; fetchSubmodules = true; }; desktopItems = [ Loading @@ -51,16 +49,9 @@ stdenv.mkDerivation rec { }) ]; deps = let javafx-web = fetchurl { url = "https://repo1.maven.org/maven2/org/openjfx/javafx-web/20/javafx-web-20.jar"; hash = "sha256-qRtVN34KURlVM5Ie/x25IfKsKsUcux7V2m3LML74G/s="; }; in stdenv.mkDerivation { deps = stdenv.mkDerivation { pname = "${pname}-deps"; inherit src version postPatch; inherit src version patches postPatch; nativeBuildInputs = [ gradle perl ]; buildPhase = '' Loading @@ -73,24 +64,26 @@ stdenv.mkDerivation rec { find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \ | sh mv $out/org/jabref/afterburner.fx/${versionReplace.afterburner.pin} \ $out/org/jabref/afterburner.fx/${versionReplace.afterburner.snapshot} mv $out/com/tobiasdiez/easybind/${versionReplace.easybind.pin} \ $out/com/tobiasdiez/easybind/${versionReplace.easybind.snapshot} # This jar is required but not used or cached for unknown reason. cp ${javafx-web} $out/org/openjfx/javafx-web/20/javafx-web-20.jar ''; # Don't move info to share/ forceShare = [ "dummy" ]; outputHashMode = "recursive"; outputHash = "sha256-XswHEKjzErL+znau/F6mTORVJlFSgVuT0svK29v5dEU="; outputHash = "sha256-sMbAv122EcLPOqbEVKowfxp9B71iJaccLRlKS75b3Xc="; }; patches = [ # Use JavaFX 21 (fetchpatch { url = "https://github.com/JabRef/jabref/commit/2afd1f622a3ab85fc2cf5fa879c5a4d41c245eca.patch"; hash = "sha256-cs7TSSnEY4Yf5xrqMOpfIA4jVdzM3OQQV/anQxJyy64="; }) ]; postPatch = '' # Pin the version substituteInPlace build.gradle \ --replace 'org.jabref:afterburner.fx:${versionReplace.afterburner.snapshot}' \ 'org.jabref:afterburner.fx:${versionReplace.afterburner.pin}' \ --replace 'com.tobiasdiez:easybind:${versionReplace.easybind.snapshot}' \ 'com.tobiasdiez:easybind:${versionReplace.easybind.pin}' Loading @@ -98,29 +91,31 @@ stdenv.mkDerivation rec { substituteInPlace src/main/java/org/jabref/preferences/JabRefPreferences.java \ --replace 'VERSION_CHECK_ENABLED, Boolean.TRUE' \ 'VERSION_CHECK_ENABLED, Boolean.FALSE' # Add back downloadDependencies task for deps download which is removed upstream in https://github.com/JabRef/jabref/pull/10326 cat <<EOF >> build.gradle task downloadDependencies { description "Pre-downloads *most* dependencies" doLast { configurations.getAsMap().each { name, config -> println "Retrieving dependencies for $name" try { config.files } catch (e) { // some cannot be resolved, just log them project.logger.info e.message } } } } EOF ''; preBuild = '' # Include CSL styles and locales in our build cp -r buildres/csl/* src/main/resources/ # Use the local packages from -deps sed -i -e '/repositories {/a maven { url uri("${deps}") }' \ build.gradle \ buildSrc/build.gradle \ settings.gradle # The `plugin {}` block can't resolve plugins from the deps repo sed -e '/plugins {/,/^}/d' buildSrc/build.gradle > buildSrc/build.gradle.tmp cat > buildSrc/build.gradle <<EOF buildscript { repositories { maven { url uri("${deps}") } } dependencies { classpath 'org.openjfx:javafx-plugin:0.0.14' } } apply plugin: 'java' apply plugin: 'org.openjfx.javafxplugin' EOF cat buildSrc/build.gradle.tmp >> buildSrc/build.gradle ''; nativeBuildInputs = [ Loading
pkgs/top-level/all-packages.nix +1 −1 Original line number Diff line number Diff line Loading @@ -32937,7 +32937,7 @@ with pkgs; }; jabref = callPackage ../applications/office/jabref { jdk = jdk20.override { enableJavaFX = true; }; jdk = jdk21.override { enableJavaFX = true; }; gradle = gradle_8; };