@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user