unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Andy Tai <atai@atai.org>
To: Leo Famulari <leo@famulari.name>
Cc: 46393@debbugs.gnu.org
Subject: [bug#46393] [PATCH] gnu: Add ocrfeeder
Date: Sat, 20 Feb 2021 23:09:19 -0800	[thread overview]
Message-ID: <CAJsg1E8CNhONw7iuAo_aYiUKOmAb7H7iDdG5b8nMDO5M9Yy00A@mail.gmail.com> (raw)
In-Reply-To: <YDGqdMyoaVL0qrmQ@jasmine.lan>

[-- Attachment #1: Type: text/plain, Size: 1091 bytes --]

On Sat, Feb 20, 2021 at 4:34 PM Leo Famulari <leo@famulari.name> wrote:
> > * gnu/packages/gnome.scm (ocrfeeder): New variable
> > * gnu/packages/python-xyz.scm (python-sane): New variable
>
> In general, we add packages one commit at a time, so we prefer to
> receive this as two patches. First, a patch that adds python-sane, and
> then a second patch adding ocrfeeder.
>

Thus this bug now depends on the separate python-sane patch

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46675

Not sure if GNU Debbugs has a way to show dependency

> > +    (synopsis "A Complete OCR Suite")
>
> I would write, simply, "Complete OCR Suite". For some reason, the linter
> doesn't complain for me, but it should recommend against starting
> synopses with an article. That is, with "a", "an", or "the".
>

changed as suggested

> https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html
>
> > +    (description "OCRFeeder is a complete Optical Character
> > Recognition and Document Analysis and Recognition program")
>
> And make sure to end the sentence with a period "."
>
>

added

[-- Attachment #2: 0001-gnu-Add-ocrfeeder.patch --]
[-- Type: text/x-patch, Size: 8192 bytes --]

From ee945305828750c4bf6e1ee010444d705eb9334b Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 20 Feb 2021 22:58:07 -0800
Subject: [PATCH] gnu: Add ocrfeeder

* gnu/packages/gnome.scm (ocrfeeder): New variable
---
 gnu/packages/gnome.scm      | 67 ++++++++++++++++++++++++++++++++++++-
 gnu/packages/ocr.scm        | 32 +++++++++---------
 gnu/packages/python-xyz.scm | 24 +++++++++++++
 3 files changed, 106 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0b46e2719b..b1defb7208 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -56,7 +56,7 @@
 ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
-;;; Copyright © 2020 Andy Tai <atai@atai.org>
+;;; Copyright © 2020, 2021 Andy Tai <atai@atai.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -149,6 +149,7 @@
   #:use-module (gnu packages ninja)
   #:use-module (gnu packages node)
   #:use-module (gnu packages nss)
+  #:use-module (gnu packages ocr)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages password-utils)
@@ -12095,3 +12096,67 @@ for the GNOME 3.x platform with many features.  It aims to be a very complete
 editing environment for translation issues within the GNU gettext/GNOME desktop
 world.")
     (license license:gpl3+)))
+
+
+(define-public ocrfeeder
+  (package
+    (name "ocrfeeder")
+    (version "0.8.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/ocrfeeder/"
+                                  (version-major+minor version) "/"
+                                  "ocrfeeder-" version ".tar.xz"))
+              (sha256
+               (base32
+                "12f5gnq92ffnd5zaj04df7jrnsdz1zn4zcgpbf5p9qnd21i2y529"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after
+          'install 'wrap-program
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((prog (string-append (assoc-ref outputs "out")
+                                       "/bin/" "ocrfeeder"))
+                  (pylib (string-append (assoc-ref outputs "out")
+                                        "/lib/python"
+                                        ,(version-major+minor
+                                          (package-version python))
+                                        "/site-packages")))
+              (wrap-program prog
+                `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+                `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+              #t))))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")                   ; for glib-compile-resources
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")                   ; for gtk-update-icon-cache
+       ("intltool" ,intltool)
+       ("itstool" ,itstool)
+       ("pkg-config" ,pkg-config)
+       ("xmllint" ,libxml2)))
+    (inputs
+     `(("enchant" ,enchant)
+       ("glib" ,glib)
+       ("goocanvas" ,goocanvas)
+       ("gtk" ,gtk+)
+       ("gtkspell3" ,gtkspell3)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libtiff" ,libtiff)
+       ("libraw" ,libraw)
+       ("ocrad" ,ocrad)
+       ("python" ,python-wrapper)
+       ("python-pygobject" ,python-pygobject)
+       ("python-odfpy" ,python-odfpy)
+       ("python-pillow" ,python-pillow)
+       ("python-pyenchant" ,python-pyenchant)
+       ("python-reportlab" ,python-reportlab)
+       ("python-sane" ,python-sane)
+       ("sane-backends" ,sane-backends)
+       ("tesseract-ocr" ,tesseract-ocr)))
+    (home-page "https://wiki.gnome.org/Apps/OCRFeeder")
+    (synopsis "Complete OCR Suite")
+    (description "OCRFeeder is a complete Optical Character Recognition and
+Document Analysis and Recognition program.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm
index c4e965941a..0b46f979ce 100644
--- a/gnu/packages/ocr.scm
+++ b/gnu/packages/ocr.scm
@@ -67,21 +67,21 @@ it produces text in 8-bit or UTF-8 formats.")
   ;; There are useful commits beyond the last official stable release.
   (let ((commit "97079fa353557af6df86fd20b5d2e0dff5d8d5df")
         (revision "1"))
-    (package
-      (name "tesseract-ocr")
+  (package
+    (name "tesseract-ocr")
       (version (git-version "4.1.1" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/tesseract-ocr/tesseract")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/tesseract-ocr/tesseract")
                (commit commit)))
          (file-name (git-file-name name version))
-         (sha256
+       (sha256
           (base32
            "11137a4aaay7qp64vdjd83hz1l089nzi5a0ql0qgk8gn79pyhi98"))))
-      (build-system gnu-build-system)
-      (inputs
+    (build-system gnu-build-system)
+    (inputs
        `(("cairo" ,cairo)
          ("icu" ,icu4c)
          ("leptonica" ,leptonica)
@@ -98,9 +98,9 @@ it produces text in 8-bit or UTF-8 formats.")
          ("libtiff" ,libtiff)
          ("pkg-config" ,pkg-config)
          ("xsltproc" ,libxslt)))
-      (arguments
+    (arguments
        `(#:configure-flags
-         (let ((leptonica (assoc-ref %build-inputs "leptonica")))
+       (let ((leptonica (assoc-ref %build-inputs "leptonica")))
            (list (string-append "LIBLEPT_HEADERSDIR=" leptonica "/include")))
          #:tests? #f ; Tests currently result in a segfault
          #:phases
@@ -120,10 +120,10 @@ it produces text in 8-bit or UTF-8 formats.")
            (add-after 'build-training 'install-training
              (lambda _
                (invoke "make" "training-install"))))))
-      (home-page "https://github.com/tesseract-ocr/tesseract")
-      (synopsis "Optical character recognition engine")
-      (description
-       "Tesseract is an optical character recognition (OCR) engine with very
+    (home-page "https://github.com/tesseract-ocr/tesseract")
+    (synopsis "Optical character recognition engine")
+    (description
+     "Tesseract is an optical character recognition (OCR) engine with very
 high accuracy.  It supports many languages, output text formatting, hOCR
 positional information and page layout analysis.  Several image formats are
 supported through the Leptonica library.  It can also detect whether text is
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b26fce72a9..1fb9ff60b4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -180,6 +180,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages search)
+  #:use-module (gnu packages scanner)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
@@ -23906,3 +23907,26 @@ Application Programming Interface based on the Open Inventor 2.1 API.")
 Crayons automatically wraps a given string in the foreground color and
 restores the original state after the string is printed.")
     (license license:expat)))
+
+(define-public python-sane
+  (package
+    (name "python-sane")
+    (version "2.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri name version))
+        (sha256
+          (base32
+            "1pi597z94n2mkd821ln52fq0g727n2jxfskf280ip3kf7jw8w294"))))
+    (build-system python-build-system)
+    (native-inputs
+      `(("python-pytest" ,python-pytest)))
+    (inputs
+      `(("sane-backends" ,sane-backends)))
+    (home-page "https://github.com/python-pillow/Sane")
+    (synopsis "Python interface to the SANE scanner")
+    (description "This package provides Python interface to the SANE scanner and
+frame grabber interface for Linux.")
+    ;; MIT license; FSF directory refers to this as expat licene
+    (license license:expat)))
-- 
2.30.0


  parent reply	other threads:[~2021-02-21  7:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-09  3:54 [bug#46393] [PATCH] gnu: Add ocrfeeder Andy Tai
     [not found] ` <handler.46393.B.161284293412235.ack@debbugs.gnu.org>
2021-02-14  2:40   ` Andy Tai
2021-02-21  0:33     ` Leo Famulari
2021-02-21  6:37       ` Andy Tai
2021-02-22 18:27         ` Leo Famulari
2021-02-22 18:29           ` Andy Tai
2021-02-21  7:09       ` Andy Tai [this message]
2021-02-23 20:00         ` Leo Famulari
2021-02-23 20:05         ` Leo Famulari
2021-02-23 20:22           ` Andy Tai
2021-02-24  1:59             ` Andy Tai
2021-02-24  2:09               ` Andy Tai
2021-02-24 16:08                 ` bug#46393: " Leo Famulari
2021-02-24 19:04                   ` [bug#46393] " Andy Tai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJsg1E8CNhONw7iuAo_aYiUKOmAb7H7iDdG5b8nMDO5M9Yy00A@mail.gmail.com \
    --to=atai@atai.org \
    --cc=46393@debbugs.gnu.org \
    --cc=leo@famulari.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).