diff options
author | pacien <pacien.trangirard@pacien.net> | 2019-01-22 01:45:53 +0100 |
---|---|---|
committer | pacien <pacien.trangirard@pacien.net> | 2019-02-06 22:57:48 +0100 |
commit | b73c416470438d75d30f3ab697531dce8d7848cb (patch) | |
tree | 28df0c545ec7b99deb531216d634b6bda756b76a /pkgs/applications/graphics/gscan2pdf/default.nix | |
parent | 45fa569222a4a7800373c08742e2398ae7a86194 (diff) | |
download | nixpkgs-b73c416470438d75d30f3ab697531dce8d7848cb.tar nixpkgs-b73c416470438d75d30f3ab697531dce8d7848cb.tar.gz nixpkgs-b73c416470438d75d30f3ab697531dce8d7848cb.tar.bz2 nixpkgs-b73c416470438d75d30f3ab697531dce8d7848cb.tar.lz nixpkgs-b73c416470438d75d30f3ab697531dce8d7848cb.tar.xz nixpkgs-b73c416470438d75d30f3ab697531dce8d7848cb.tar.zst nixpkgs-b73c416470438d75d30f3ab697531dce8d7848cb.zip |
gscan2pdf: init at 2.3.0
based on github issue #34744 closes #34744
Diffstat (limited to 'pkgs/applications/graphics/gscan2pdf/default.nix')
-rw-r--r-- | pkgs/applications/graphics/gscan2pdf/default.nix | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix new file mode 100644 index 00000000000..9ec82ea2a94 --- /dev/null +++ b/pkgs/applications/graphics/gscan2pdf/default.nix @@ -0,0 +1,103 @@ +{ stdenv, fetchurl, perlPackages, makeWrapper, wrapGAppsHook, + librsvg, sane-backends, sane-frontends, + imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, + xvfb_run, hicolor-icon-theme, liberation_ttf, file, pdftk }: + +with stdenv.lib; + +perlPackages.buildPerlPackage rec { + name = "gscan2pdf-${version}"; + version = "2.3.0"; + + src = fetchurl { + url = "mirror://sourceforge/gscan2pdf/${version}/${name}.tar.xz"; + sha256 = "0mcsmly0j9pmyzh6py8r6sfa30hc6gv300hqq3dxj4hv653vhkk9"; + }; + + nativeBuildInputs = [ wrapGAppsHook ]; + + buildInputs = + [ librsvg sane-backends sane-frontends ] ++ + (with perlPackages; [ + Gtk3 + Gtk3SimpleList + Cairo + CairoGObject + Glib + GlibObjectIntrospection + GooCanvas2 + LocaleGettext + PDFAPI2 + ImageSane + SetIntSpan + PerlMagick + ConfigGeneral + ListMoreUtils + HTMLParser + ProcProcessTable + Log4Perl + TryTiny + DataUUID + DateCalc + IOString + FilesysDf + SubOverride + ]); + + postPatch = let + fontSubstitute = "${liberation_ttf}/share/fonts/truetype/LiberationSans-Regular.ttf"; + in '' + # Required for the program to properly load its SVG assets + substituteInPlace bin/gscan2pdf \ + --replace "/usr/share" "$out/share" + + # Substitute the non-free Helvetica font in the tests + sed -i 's|-pointsize|-font ${fontSubstitute} -pointsize|g' t/*.t + ''; + + postInstall = '' + # Remove impurity + find $out -type f -name "*.pod" -delete + + # Add runtime dependencies + wrapProgram "$out/bin/gscan2pdf" \ + --prefix PATH : "${imagemagick}/bin" \ + --prefix PATH : "${libtiff}/bin" \ + --prefix PATH : "${djvulibre}/bin" \ + --prefix PATH : "${poppler_utils}/bin" \ + --prefix PATH : "${ghostscript}/bin" \ + --prefix PATH : "${unpaper}/bin" + ''; + + enableParallelBuilding = true; + + installTargets = [ "install" ]; + + outputs = [ "out" "man" ]; + + checkInputs = [ + xvfb_run + hicolor-icon-theme + imagemagick + libtiff + djvulibre + poppler_utils + ghostscript + file + pdftk + unpaper + ]; + + checkPhase = '' + xvfb-run -s '-screen 0 800x600x24' \ + make test + ''; + + meta = { + description = "A GUI to produce PDFs or DjVus from scanned documents"; + homepage = http://gscan2pdf.sourceforge.net/; + license = licenses.gpl3; + maintainers = [ maintainers.pacien ]; + }; +} + |