guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: leptonica: Update to 1.73.


From: Taylan Ulrich Bayırlı/Kammer
Subject: Re: [PATCH] gnu: leptonica: Update to 1.73.
Date: Sat, 24 Dec 2016 17:19:03 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Marius Bakke <address@hidden> writes:

> "Taylan Ulrich Bayırlı/Kammer\"" <address@hidden> writes:
>
>> I struggled for days with the following bug and ultimately decided to
>> disable tests for 1.73 to sidestep it entirely; tests should be
>> re-enabled with the next release.
>>
>> https://github.com/DanBloomberg/leptonica/issues/224
>
> OK! I'm not familiar with this software, are you sure the substitutions
> are no longer required? The pkg-config file is fine as there is no
> matching substitution in the current version, but I did not investigate
> the config.h timestamp trick, or the failing tests.
>
> If they are required for tests to pass on current git, I think they
> should be kept so the next person don't have to reinvent them. I would
> also keep gnuplot as a native-input, but that can be fixed up before
> committing if you confirm that the other phases are no longer needed.
>
> Thank you!

You know what, Leptonica 1.74.0 has been released yesterday, so here's a
new patch. :-D

But yes, the source snippet / patch for the .pc file isn't necessary
anymore for reasons not really clear to me.  (The two libs still need to
be propagated and Tesseract has to link against them; maybe Tesseract
special-handles this and other dependents of Leptonica could still
benefit from a patched .pc file, but so far we don't have any other
dependents of Leptonica...)

The config.h hack probably wasn't necessary anymore since 1.72; I had
introduced it with 1.71 where the issue existed and it didn't get
removed upon the 1.72 update.

And all tests pass, without having to disable parallel tests either.

The 1.74.0 tag on GitHub corresponds to a state in which ./configure
doesn't exist; the autobuild script needs to be run.

So here's the new patch.

>From f2b7609e5934511b185f73b4927cecf7b404b047 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <address@hidden>
Date: Thu, 15 Dec 2016 09:39:30 +0100
Subject: [PATCH] gnu: leptonica: Update to 1.74.0.

* gnu/packages/image.scm (leptonica): Update to 1.74.0.
---
 gnu/packages/image.scm | 60 +++++++++++++++++++-------------------------------
 1 file changed, 23 insertions(+), 37 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 487635d..1c500b3 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -329,28 +329,23 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) 
format.")
 (define-public leptonica
   (package
     (name "leptonica")
-    (version "1.72")
+    (version "1.74.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "http://www.leptonica.com/source/leptonica-";
-                           version ".tar.gz"))
+       (uri (string-append
+             "https://github.com/DanBloomberg/leptonica/archive/"; version
+             ".tar.gz"))
+       (file-name (string-append "leptonica-" version ".tar.gz"))
        (sha256
-        (base32 "0mhzvqs0im04y1cpcc1yma70hgdac1frf33h73m9z3356bfymmbr"))
-       (modules '((guix build utils)))
-       ;; zlib and openjpg should be under Libs, not Libs.private.  See:
-       ;; https://code.google.com/p/tesseract-ocr/issues/detail?id=1436
-       (snippet
-        '(substitute* "lept.pc.in"
-           (("^(Libs\\.private: .*)@ZLIB_LIBS@(.*)" all pre post)
-            (string-append pre post))
-           (("^(Libs\\.private: .*)@JPEG_LIBS@(.*)" all pre post)
-            (string-append pre post))
-           (("^Libs: .*" all)
-            (string-append all " @ZLIB_LIBS@ @JPEG_LIBS@"))))))
+        (base32 "0i2a4vx9gizki0wgmv03xjz8j9d8agkvbag1a8m4kcw4asd4p87g"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("gnuplot" ,gnuplot)))           ;needed for test suite
+     `(("gnuplot" ,gnuplot)             ;needed for test suite
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("giflib" ,giflib)
        ("libjpeg" ,libjpeg)
@@ -358,31 +353,22 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) 
format.")
        ("libtiff" ,libtiff)
        ("libwebp" ,libwebp)))
     (propagated-inputs
+     ;; Linking a program with leptonica also requires these.
      `(("openjpeg" ,openjpeg)
        ("zlib" ,zlib)))
     (arguments
-     '(#:parallel-tests? #f ; XXX: cause fpix1_reg to fail
-       #:phases
+     '(#:phases
        (modify-phases %standard-phases
-         ;; Prevent make from trying to regenerate config.h.in.
-         (add-after
-          'unpack 'set-config-h-in-file-time
-          (lambda _
-            (set-file-time "config/config.h.in" (stat "configure"))))
-         (add-after
-          'unpack 'patch-reg-wrapper
-          (lambda _
-            (substitute* "prog/reg_wrapper.sh"
-              ((" /bin/sh ")
-               (string-append " " (which "sh") " "))
-              (("which gnuplot") (which "gnuplot")))))
-         (add-before
-          'check 'disable-failing-tests
-          ;; XXX: 2 of 9 tests from webpio_reg fails.
-          (lambda _
-            (substitute* "prog/webpio_reg.c"
-              ((".*DoWebpTest2.* 90.*") "")
-              ((".*DoWebpTest2.* 100.*") "")))))))
+         (add-after 'unpack 'autogen
+           (lambda _
+             (zero? (system* "sh" "autobuild"))))
+         (add-after 'unpack 'patch-reg-wrapper
+           (lambda _
+             (substitute* "prog/reg_wrapper.sh"
+               ((" /bin/sh ")
+                (string-append " " (which "sh") " "))
+               (("which gnuplot")
+                "true")))))))
     (home-page "http://www.leptonica.com/";)
     (synopsis "Library and tools for image processing and analysis")
     (description
-- 
2.10.2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]