Subject: Re: bug#56364: [PATCH] gnu: Add glymur
From: Ludovic Courtès <[email-masked]>
To: Sharlatan Hellseher <[email-masked]>
Cc: [email-masked]
Date: Fri, 08 Jul 2022 23:57:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Sharlatan Hellseher <[email-masked]> skribis:

> From 776f0ce0a22c83809d9a3dc4752180580e3632df Mon Sep 17 00:00:00 2001
> From: Sharlatan Hellseher <[email-masked]>
> Date: Sat, 2 Jul 2022 21:28:39 +0100
> Subject: [PATCH] gnu: Add glymur
>
> * gnu/packages/python-xyz.scm (python-glymur): New variable.

Applied with the changes below: in this case ‘search-input-file’ is an
improvement IMO because it ensures that the file you’re looking for
(“libopenjp2.so”, etc.) actually exists.  Also it allows us to refer to
the ‘glibc’ package that implicitly provided rather than add a
dependency on an extra ‘glibc’ variant.

Thanks!

Ludo’.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 76491631ae..3f4867ece0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -931,7 +931,7 @@ (define-public python-glymur
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'patch-library-locations
-            (lambda _
+            (lambda* (#:key inputs #:allow-other-keys)
               ;; XXX: It's a workaround for Python inability to find the
               ;; .so libraries with ctypes.util.find_library()
               (substitute* '("glymur/config.py")
@@ -939,13 +939,13 @@ (define-public python-glymur
                  (string-append
                   "if libname == \"openjp2\":\n"
                   "        path = \""
-                  #$(this-package-input "openjpeg") "/lib/libopenjp2.so\"\n"
+                  (search-input-file inputs "/lib/libopenjp2.so") "\"\n"
                   "    elif libname == \"tiff\":\n"
                   "        path = \""
-                  #$(this-package-input "libtiff") "/lib/libtiff.so\"\n"
+                  (search-input-file inputs "/lib/libtiff.so") "\"\n"
                   "    elif libname == \"c\":\n"
                   "        path = \""
-                  #$(this-package-input "glibc") "/lib/libc.so.6\"\n")))))
+                  (search-input-file inputs "/lib/libc.so.6") "\"\n")))))
           ;; TODO: implement as a feature of python-build-system (PEP-621,
           ;; PEP-631, PEP-660)
           (replace 'build
@@ -971,8 +971,7 @@ (define-public python-glymur
      (list python-pypa-build python-pytest))
     (inputs
      (list openjpeg  ; glymur/lib/openjp2.py
-           libtiff   ; glymur/lib/tiff.py
-           glibc))
+           libtiff)) ; glymur/lib/tiff.py
     (propagated-inputs
      (list python-lxml
            python-numpy