summary refs log tree commit diff
path: root/pkgs/applications/graphics/gscan2pdf/default.nix
diff options
context:
space:
mode:
authorpacien <pacien.trangirard@pacien.net>2019-01-22 01:45:53 +0100
committerpacien <pacien.trangirard@pacien.net>2019-02-06 22:57:48 +0100
commitb73c416470438d75d30f3ab697531dce8d7848cb (patch)
tree28df0c545ec7b99deb531216d634b6bda756b76a /pkgs/applications/graphics/gscan2pdf/default.nix
parent45fa569222a4a7800373c08742e2398ae7a86194 (diff)
downloadnixpkgs-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.nix103
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 ];
+  };
+}
+