diff --git a/pkgs/tools/graphics/pdfredacttools/default.nix b/pkgs/tools/graphics/pdfredacttools/default.nix new file mode 100644 index 00000000000..d66c0b0a945 --- /dev/null +++ b/pkgs/tools/graphics/pdfredacttools/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, pythonPackages, imagemagick, exiftool, file, ghostscript }: + +pythonPackages.buildPythonApplication rec { + pname = "pdf-redact-tools"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "firstlookmedia"; + repo = pname; + rev = "v${version}"; + sha256 = "01vs1bc0pfgk6x2m36vwra605fg59yc31d0hl9jmj86n8q6wwvss"; + }; + + patchPhase = ''substituteInPlace pdf-redact-tools \ + --replace \'convert\' \'${imagemagick}/bin/convert\' \ + --replace \'exiftool\' \'${exiftool}/bin/exiftool\' \ + --replace \'file\' \'${file}/bin/file\' + ''; + + propagatedBuildInputs = [ imagemagick exiftool ghostscript ]; + + meta = with stdenv.lib; { + description = "Redact and strip metadata from documents before publishing"; + longDescription = '' + PDF Redact Tools helps with securely redacting and stripping metadata + from documents before publishing. Note that this is not a security tool. + It uses ImageMagick to parse PDFs. While ImageMagick is a versatile tool, it has + a history of several security bugs. A malicious PDF could exploit a bug in + ImageMagick to take over your computer. If you're working with potentially + malicious PDFs, it's safest to run them through PDF Redact Tools in an isolated + environment, such as a virtual machine, or by using a tool such as the Qubes + PDF Converter instead. + ''; + platforms = platforms.all; + license = licenses.gpl3; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 65de40b046c..dc29d48760b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4376,6 +4376,8 @@ with pkgs; pdf2odt = callPackage ../tools/typesetting/pdf2odt { }; + pdf-redact-tools = callPackage ../tools/graphics/pdfredacttools { }; + pdf2svg = callPackage ../tools/graphics/pdf2svg { }; fmodex = callPackage ../games/zandronum/fmod.nix { };