git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #84939 from doronbehar/package-ocrfeeder
commitf6188ca545660da0aa722e7a50c1a3952da0a5ef authorDoron Behar <doron.behar@gmail.com> dateWed 30 Dec 2020, 08:49 (6 years ago) parent774c340cc7ce76
4 files changed+106
pkgs/applications/graphics/ocrfeeder/default.nix+73 pkgs/development/python-modules/sane/default.nix+27 pkgs/top-level/all-packages.nix+2 pkgs/top-level/python-packages.nix+4
pkgs/applications/graphics/ocrfeeder/default.nixnew file+73
@@ -0,0 +1,73 @@
1+{ stdenv
2+, fetchurl
3+, pkg-config
4+, gtk3
5+, gtkspell3
6+, isocodes
7+, goocanvas2
8+, intltool
9+, itstool
10+, libxml2
11+, gnome3
12+, python3
13+, gobject-introspection
14+, wrapGAppsHook
15+, tesseract4
16+, extraOcrEngines ? [] # other supported engines are: ocrad gocr cuneiform
17+}:
18+
19+stdenv.mkDerivation rec {
20+ pname = "ocrfeeder";
21+ version = "0.8.3";
22+
23+ src = fetchurl {
24+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
25+ sha256 = "12f5gnq92ffnd5zaj04df7jrnsdz1zn4zcgpbf5p9qnd21i2y529";
26+ };
27+
28+ nativeBuildInputs = [
29+ pkg-config
30+ wrapGAppsHook
31+ intltool
32+ itstool
33+ libxml2
34+ ];
35+
36+ buildInputs = [
37+ gtk3
38+ gobject-introspection
39+ goocanvas2
40+ gtkspell3
41+ isocodes
42+ (python3.withPackages(ps: with ps; [
43+ pyenchant
44+ sane
45+ pillow
46+ reportlab
47+ odfpy
48+ pygobject3
49+ ]))
50+ ];
51+
52+ # https://gitlab.gnome.org/GNOME/ocrfeeder/-/issues/22
53+ postConfigure = ''
54+ substituteInPlace src/ocrfeeder/util/constants.py \
55+ --replace /usr/share/xml/iso-codes ${isocodes}/share/xml/iso-codes
56+ '';
57+
58+ enginesPath = stdenv.lib.makeBinPath ([
59+ tesseract4
60+ ] ++ extraOcrEngines);
61+
62+ preFixup = ''
63+ gappsWrapperArgs+=(--prefix PATH : "${enginesPath}")
64+ '';
65+
66+ meta = with stdenv.lib; {
67+ homepage = "https://wiki.gnome.org/Apps/OCRFeeder";
68+ description = "Complete Optical Character Recognition and Document Analysis and Recognition program";
69+ maintainers = with maintainers; [ doronbehar ];
70+ license = licenses.gpl3Plus;
71+ platforms = platforms.linux;
72+ };
73+}
pkgs/development/python-modules/sane/default.nixnew file+27
@@ -0,0 +1,27 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, saneBackends
5+}:
6+
7+buildPythonPackage rec {
8+ pname = "sane";
9+ version = "2.8.2";
10+
11+ src = fetchPypi {
12+ inherit version;
13+ pname = "python-sane";
14+ sha256 = "0sri01h9sld6w7vgfhwp29n5w19g6idz01ba2giwnkd99k1y2iqg";
15+ };
16+
17+ buildInputs = [
18+ saneBackends
19+ ];
20+
21+ meta = with lib; {
22+ homepage = "https://github.com/python-pillow/Sane";
23+ description = "Python interface to the SANE scanner and frame grabber ";
24+ license = licenses.mit;
25+ maintainers = with maintainers; [ doronbehar ];
26+ };
27+}
pkgs/top-level/all-packages.nix+2
@@ -2515,6 +2515,8 @@ in
25152515
25162516 ocrmypdf = callPackage ../tools/text/ocrmypdf { };
25172517
2518+ ocrfeeder = callPackage ../applications/graphics/ocrfeeder { };
2519+
25182520 onboard = callPackage ../applications/misc/onboard { };
25192521
25202522 oneshot = callPackage ../tools/networking/oneshot { };
pkgs/top-level/python-packages.nix+4
@@ -6562,6 +6562,10 @@ in {
65626562
65636563 salmon-mail = callPackage ../development/python-modules/salmon-mail { };
65646564
6565+ sane = callPackage ../development/python-modules/sane {
6566+ inherit (pkgs) saneBackends;
6567+ };
6568+
65656569 sampledata = callPackage ../development/python-modules/sampledata { };
65666570
65676571 samplerate = callPackage ../development/python-modules/samplerate { };