Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 23.11 53 lines 1.5 kB view raw
1{ lib, stdenv, makeDesktopItem, fetchurl, jdk19, wrapGAppsHook, glib }: 2 3stdenv.mkDerivation rec { 4 pname = "pdfsam-basic"; 5 version = "5.0.3"; 6 7 src = fetchurl { 8 url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb"; 9 hash = "sha256-NST5d5dzO26ifKStbgD7qNbumUMQhfUFNE472LR1z5k="; 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 "${jdk19}" --set PDFSAM_JAVA_PATH "${jdk19}") 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 mimeTypes = [ "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 sourceProvenance = with sourceTypes; [ 46 binaryBytecode 47 binaryNativeCode 48 ]; 49 license = licenses.agpl3Plus; 50 platforms = platforms.linux; 51 maintainers = with maintainers; [ _1000101 ]; 52 }; 53}