python312Packages.llm-gguf: init at 0.2 (#364926)
[NixPkgs.git] / pkgs / applications / misc / pdfsam-basic / default.nix
bloba67a1821d554d8648cc8dfeb306b8f796fd0936e
2   lib,
3   stdenv,
4   makeDesktopItem,
5   fetchurl,
6   jdk21,
7   wrapGAppsHook3,
8   glib,
9 }:
11 stdenv.mkDerivation rec {
12   pname = "pdfsam-basic";
13   version = "5.2.9";
15   src = fetchurl {
16     url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
17     hash = "sha256-ZLVO2VD0XUVUG/GSot21c6nJ2N8h39vDzyzAzk1pQ6c=";
18   };
20   unpackPhase = ''
21     ar vx ${src}
22     tar xvf data.tar.gz
23   '';
25   nativeBuildInputs = [ wrapGAppsHook3 ];
26   buildInputs = [ glib ];
28   preFixup = ''
29     gappsWrapperArgs+=(--set JAVA_HOME "${jdk21}" --set PDFSAM_JAVA_PATH "${jdk21}")
30   '';
32   installPhase = ''
33     cp -R opt/pdfsam-basic/ $out/
34     mkdir -p "$out"/share/icons
35     cp --recursive ${desktopItem}/share/applications $out/share
36     cp $out/icon.svg "$out"/share/icons/pdfsam-basic.svg
37   '';
39   desktopItem = makeDesktopItem {
40     name = pname;
41     exec = pname;
42     icon = pname;
43     comment = meta.description;
44     desktopName = "PDFsam Basic";
45     genericName = "PDF Split and Merge";
46     mimeTypes = [ "application/pdf" ];
47     categories = [ "Office" ];
48   };
50   meta = with lib; {
51     homepage = "https://github.com/torakiki/pdfsam";
52     description = "Multi-platform software designed to extract pages, split, merge, mix and rotate PDF files";
53     mainProgram = "pdfsam-basic";
54     sourceProvenance = with sourceTypes; [
55       binaryBytecode
56       binaryNativeCode
57     ];
58     license = licenses.agpl3Plus;
59     platforms = platforms.linux;
60     maintainers = with maintainers; [ _1000101 ];
61   };