diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fb9ad4fe3af..7dab3223c3c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13426,4 +13426,10 @@ github = "jpagex"; githubId = 635768; }; + pwoelfel = { + name = "Philipp Woelfel"; + email = "philipp.woelfel@gmail.com"; + github = "PhilippWoelfel"; + githubId = 19400064; + }; } diff --git a/pkgs/applications/misc/pdfstudio/default.nix b/pkgs/applications/misc/pdfstudio/default.nix new file mode 100644 index 00000000000..dcb35c41da7 --- /dev/null +++ b/pkgs/applications/misc/pdfstudio/default.nix @@ -0,0 +1,91 @@ +{ stdenv, + lib, + makeWrapper, + fetchurl, + dpkg, + makeDesktopItem, + copyDesktopItems, + autoPatchelfHook, + gst_all_1, + sane-backends, + xorg, + gnome2, + alsa-lib, + libgccjit, + jdk11 + }: + +let + year = "2021"; + major = "1"; + minor = "1"; +in stdenv.mkDerivation rec { + pname = "pdfstudio"; + version = "${year}.${major}.${minor}"; + autoPatchelfIgnoreMissingDeps = true; + + src = fetchurl { + url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${year}_${major}_${minor}_linux64.deb"; + sha256 = "089jfpbsxwjhx245g8svlmg213kny3z5nl6ra1flishnrsfjjcxb"; + }; + + 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; + })]; + + unpackPhase = "dpkg-deb -x $src ."; + dontConfigure = true; + dontBuild = true; + + 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/ + 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 + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://www.qoppa.com/pdfstudio/"; + description = "An easy to use, full-featured PDF editing software"; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = [ maintainers.pwoelfel ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 12e98976b70..b7753704117 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24099,6 +24099,8 @@ with pkgs; foxitreader = libsForQt512.callPackage ../applications/misc/foxitreader { }; + pdfstudio = callPackage ../applications/misc/pdfstudio { }; + aeolus = callPackage ../applications/audio/aeolus { }; aewan = callPackage ../applications/editors/aewan { };