Files
nixpkgs/pkgs/by-name/pd/pdfarranger/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

70 lines
1.5 KiB
Nix

{
fetchFromGitHub,
lib,
wrapGAppsHook3,
python3Packages,
gtk3,
poppler_gi,
libhandy,
gettext,
stdenv,
}:
python3Packages.buildPythonApplication rec {
pname = "pdfarranger";
version = "1.12.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pdfarranger";
repo = "pdfarranger";
tag = version;
hash = "sha256-of1itPubf6LBJ4rSh1bca3yoNTiz5Qt9ar9XDe4nhxI=";
};
nativeBuildInputs = [ wrapGAppsHook3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ gettext ];
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
LINTL="${lib.getLib gettext}/lib/libintl.8.dylib"
substituteInPlace pdfarranger/pdfarranger.py --replace-fail \
"return 'libintl.8.dylib'" \
"return '$LINTL'"
unset LINTL
'';
build-system = with python3Packages; [ setuptools ];
buildInputs = [
gtk3
poppler_gi
libhandy
];
dependencies = with python3Packages; [
pygobject3
pikepdf
img2pdf
setuptools
python-dateutil
];
# incompatible with wrapGAppsHook3
strictDeps = false;
dontWrapGApps = true;
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
doCheck = false; # no tests
meta = {
inherit (src.meta) homepage;
description = "Merge or split pdf documents and rotate, crop and rearrange their pages using a graphical interface";
mainProgram = "pdfarranger";
maintainers = with lib.maintainers; [
symphorien
endle
];
license = lib.licenses.gpl3Plus;
changelog = "https://github.com/pdfarranger/pdfarranger/releases/tag/${src.tag}";
};
}