diff options
author | Philipp Woelfel <woelfel@ucalgary.ca> | 2022-01-20 13:08:23 -0700 |
---|---|---|
committer | Philipp Woelfel <woelfel@ucalgary.ca> | 2022-01-21 12:51:53 -0700 |
commit | c1d1cdfe13df3f0923d7b751981570808b07601f (patch) | |
tree | 36da13de0d55bbd6aafdd8977651102034049230 /pkgs/applications/misc/pdfstudio | |
parent | 6b7e9edac55ab04bb7151b85cbc3210ef9969b39 (diff) |
pdfstudio: refactor / use jdk11
Diffstat (limited to 'pkgs/applications/misc/pdfstudio')
-rw-r--r-- | pkgs/applications/misc/pdfstudio/default.nix | 104 |
1 files changed, 50 insertions, 54 deletions
diff --git a/pkgs/applications/misc/pdfstudio/default.nix b/pkgs/applications/misc/pdfstudio/default.nix index 16ded8e2e8aa9..6b93cfb19c52d 100644 --- a/pkgs/applications/misc/pdfstudio/default.nix +++ b/pkgs/applications/misc/pdfstudio/default.nix @@ -1,82 +1,77 @@ -{ stdenv, - lib, - makeWrapper, - fetchurl, - dpkg, - makeDesktopItem, - copyDesktopItems, - autoPatchelfHook, - gst_all_1, - sane-backends, - xorg, - gnome2, - alsa-lib, - libgccjit, - jdk11 - }: +{ stdenv +, lib +, fetchurl +, libgccjit +, dpkg +, makeDesktopItem +, copyDesktopItems +, autoPatchelfHook +, sane-backends +, jdk11 +}: -let - year = "2021"; - major = "1"; - minor = "2"; -in stdenv.mkDerivation rec { +# See also package 'pdfstudioviewer' +# Differences are ${pname}, Download directory name (PDFStudio / PDFStudioViewer), +# sha256, and libgccjit (not needed for PDFStudioViewer) +let year = "2021"; +in +stdenv.mkDerivation rec { pname = "pdfstudio"; - version = "${year}.${major}.${minor}"; - autoPatchelfIgnoreMissingDeps = true; + version = "${year}.1.2"; + strictDeps = true; src = fetchurl { - url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${year}_${major}_${minor}_linux64.deb"; + url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${ + builtins.replaceStrings [ "." ] [ "_" ] version + }_linux64.deb"; sha256 = "1188ll2qz58rr2slavqxisbz4q3fdzidpasb1p33926z0ym3rk45"; }; + buildInputs = [ + libgccjit #for libstdc++.so.6 and libgomp.so.1 + sane-backends #for libsane.so.1 + jdk11 + ]; + nativeBuildInputs = [ - gst_all_1.gst-libav - sane-backends - xorg.libXxf86vm - xorg.libXtst - gnome2.libgtkhtml - alsa-lib - libgccjit autoPatchelfHook - makeWrapper dpkg copyDesktopItems - jdk11 # only for unpacking .jar.pack files ]; - desktopItems = [(makeDesktopItem { - name = "${pname}${year}"; - desktopName = "PDF Studio"; - genericName = "View and edit PDF files"; - exec = "${pname} %f"; - icon = "${pname}${year}"; - comment = "Views and edits PDF files"; - mimeType = "application/pdf"; - categories = "Office"; - type = "Application"; - terminal = false; - })]; + desktopItems = [ + (makeDesktopItem { + name = "${pname}${year}"; + desktopName = "PDF Studio"; + genericName = "View and edit PDF files"; + exec = "${pname} %f"; + icon = "${pname}${year}"; + comment = "Views and edits PDF files"; + mimeType = "application/pdf"; + categories = "Office"; + type = "Application"; + terminal = false; + }) + ]; unpackPhase = "dpkg-deb -x $src ."; - dontConfigure = true; dontBuild = true; + postPatch = '' + substituteInPlace opt/${pname}${year}/${pname}${year} --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}" + substituteInPlace opt/${pname}${year}/updater --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}" + ''; + installPhase = '' runHook preInstall mkdir -p $out/bin mkdir -p $out/share - mkdir -p $out/share/applications mkdir -p $out/share/pixmaps cp -r opt/${pname}${year} $out/share/ + rm -rf $out/share/${pname}${year}/jre ln -s $out/share/${pname}${year}/.install4j/${pname}${year}.png $out/share/pixmaps/ - makeWrapper $out/share/${pname}${year}/${pname}${year} $out/bin/${pname} - - #Unpack jar files. Otherwise pdfstudio does this and fails due to read-only FS. - for pfile in $out/share/${pname}${year}/jre/lib/{,ext/}*.jar.pack; do - jar_file=`echo "$pfile" | awk '{ print substr($0,1,length($0)-5) }'` - unpack200 -r "$pfile" "$jar_file" - done + ln -s $out/share/${pname}${year}/${pname}${year} $out/bin/${pname} runHook postInstall ''; @@ -86,6 +81,7 @@ in stdenv.mkDerivation rec { description = "An easy to use, full-featured PDF editing software"; license = licenses.unfree; platforms = platforms.linux; + mainProgram = pname; maintainers = [ maintainers.pwoelfel ]; }; } |