1{ lib, stdenv, makeDesktopItem, fetchurl, jdk11, wrapGAppsHook, glib }:
2
3stdenv.mkDerivation rec {
4 pname = "pdfsam-basic";
5 version = "4.2.7";
6
7 src = fetchurl {
8 url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
9 sha256 = "sha256-PVG4KZX6KxkrooywgEmqOItyLt5hGs+b/KCaguduGyc=";
10 };
11
12 unpackPhase = ''
13 ar vx ${src}
14 tar xvf data.tar.gz
15 '';
16
17 nativeBuildInputs = [ wrapGAppsHook ];
18 buildInputs = [ glib ];
19
20 preFixup = ''
21 gappsWrapperArgs+=(--set JAVA_HOME "${jdk11}" --set PDFSAM_JAVA_PATH "${jdk11}")
22 '';
23
24 installPhase = ''
25 cp -R opt/pdfsam-basic/ $out/
26 mkdir -p "$out"/share/icons
27 cp --recursive ${desktopItem}/share/applications $out/share
28 cp $out/icon.svg "$out"/share/icons/pdfsam-basic.svg
29 '';
30
31 desktopItem = makeDesktopItem {
32 name = pname;
33 exec = pname;
34 icon = pname;
35 comment = meta.description;
36 desktopName = "PDFsam Basic";
37 genericName = "PDF Split and Merge";
38 mimeType = "application/pdf;";
39 categories = "Office;";
40 };
41
42 meta = with lib; {
43 homepage = "https://github.com/torakiki/pdfsam";
44 description = "Multi-platform software designed to extract pages, split, merge, mix and rotate PDF files";
45 license = licenses.agpl3;
46 platforms = platforms.all;
47 maintainers = with maintainers; [ _1000101 ];
48 };
49}