Change:
, CVSSv3=10.0 (nixos-20.03, nixos-unstable) Scanned versions: nixos-20.03: ; nixos-unstable: . May contain false positives. Cc

Discussion:
<del> { stdenv, fetchurl, makeWrapper, makeDesktopItem, jdk, jre, wrapGAppsHook, gtk3, gsettings-desktop-schemas }: </del> <ins> { stdenv, fetchurl, makeWrapper, makeDesktopItem, wrapGAppsHook, gtk3, gsettings-desktop-schemas , zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsaLib, libav, cairo, freetype, pango, gdk-pixbuf, glib }: </ins> stdenv.mkDerivation rec { <del> version = "3.8.1"; </del> <ins> version = "5.1"; </ins> pname = "jabref"; src = fetchurl { <del> url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}.jar"; sha256 = "11asfym74zdq46i217z5n6vc79gylcx8xn7nvwacfqmym0bz79cg"; </del> <ins> url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}-portable_linux.tar.gz"; sha256 = "04f612byrq3agzy26byg1sgrjyhcpa8xfj0ssh8dl8d8vnhx9742"; </ins> }; <ins> preferLocalBuild = true; </ins> desktopItem = makeDesktopItem { comment =  meta.description; name = "jabref";

exec = "jabref"; }; <del> buildInputs = [ makeWrapper jdk wrapGAppsHook gtk3 gsettings-desktop-schemas ]; </del> <ins> nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; buildInputs = [ gsettings-desktop-schemas ] ++ systemLibs; </ins> <del> dontUnpack = true; </del> <ins> systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsaLib libav cairo freetype pango gdk-pixbuf glib ]; systemLibPaths = stdenv.lib.makeLibraryPath systemLibs; </ins> installPhase = '' <del> mkdir -p $out/bin $out/share/java $out/share/icons </del> <ins> mkdir -p $out/share/java $out/share/icons </ins> <del> cp -r ${desktopItem}/share/applications $out/share/ </del> <ins> cp -r lib $out/lib for f in $out/lib/runtime/bin/j*; do patchelf  --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)"  --set-rpath "${ stdenv.lib.makeLibraryPath [ zlib ]}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f done for f in $out/lib/runtime/lib/*.so; do patchelf  --set-rpath "${systemLibPaths}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f done </ins> <del> jar xf $src images/icons/JabRef-icon-mac.svg cp images/icons/JabRef-icon-mac.svg $out/share/icons/jabref.svg </del> <ins> # patching the libs in the JImage runtime image is quite impossible as there is no documented way # of rebuilding the image after it has been extracted # the image format itself is "intendedly not documented" - maybe one of the reasons the # devolpers constantly broke "jimage recreate" and dropped it in OpenJDK 9 Build 116 Early Access # so, for now just copy the image and provide our lib paths through the wrapper makeWrapper $out/lib/runtime/bin/java $out/bin/jabref  --add-flags '-Djava.library.path=${systemLibPaths}' --add-flags "-p $out/lib/app -m org.jabref/org.jabref.JabRefLauncher"  --run 'export LD_LIBRARY_PATH=${systemLibPaths}:$LD_LIBRARY_PATH' cp -r ${desktopItem}/share/applications $out/share/ </ins> <del> ln -s $src $out/share/java/jabref-${version}.jar makeWrapper ${jre}/bin/java $out/bin/jabref  --add-flags "-jar $out/share/java/jabref-${version}.jar" </del> <ins> # we still need to unpack the runtime image to get the icon mkdir unpacked $out/lib/runtime/bin/jimage extract --dir=./unpacked lib/runtime/lib/modules cp unpacked/org.jabref/icons/jabref.svg $out/share/icons/jabref.svg </ins> ''; meta = with stdenv.lib; {