guix-commits
[Top][All Lists]
Advanced

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

14/36: gnu: python: Add libxcrypt dependency.


From: guix-commits
Subject: 14/36: gnu: python: Add libxcrypt dependency.
Date: Wed, 14 Feb 2024 04:31:13 -0500 (EST)

jpoiret pushed a commit to branch core-updates-glibc-2.39
in repository guix.

commit 4494019be5a4f0aba14f689ef6c283e1b94618fb
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Fri Feb 2 12:15:01 2024 +0100

    gnu: python: Add libxcrypt dependency.
    
    * gnu/packages/python.scm (python-2.7): Add libxcrypt dependency.
    
    Change-Id: I23d99900fd6bbd2f9a88a3efe0c8deac01ef160f
---
 gnu/packages/python.scm | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e4a84609c8..5b3a7196e6 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -84,6 +84,7 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
@@ -210,7 +211,20 @@
              "CFLAGS=-fno-semantic-interposition"
              (string-append "LDFLAGS=-Wl,-rpath="
                             (assoc-ref %outputs "out") "/lib"
-                            " -fno-semantic-interposition"))
+                            " -fno-semantic-interposition")
+             ;; Add a reference to libxcrypt in LIBS so that the sysconfigdata
+             ;; file records it and propagates it to programs linking against
+             ;; Python.
+             (let ((libxcrypt
+                    (false-if-exception
+                     (dirname
+                      (search-input-file %build-inputs
+                                         "lib/libcrypt.so.1")))))
+               (string-append
+                "LIBS="
+                (if libxcrypt
+                    (string-append "-L" libxcrypt)
+                    ""))))
        ;; With no -j argument tests use all available cpus, so provide one.
        #:make-flags
        (list (string-append
@@ -311,6 +325,18 @@
                      '("email/test" "ctypes/test" "unittest/test" 
"tkinter/test"
                        "sqlite3/test" "bsddb/test" "lib-tk/test" "json/tests"
                        "distutils/tests"))))))))
+         (add-after 'install 'add-libxcrypt-reference-pkgconfig
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (define out (assoc-ref outputs "out"))
+             (define libxcrypt
+               (false-if-exception
+                (dirname (search-input-file inputs "lib/libcrypt.so.1"))))
+             (when libxcrypt
+               (substitute*
+                   (find-files (string-append out "/lib/pkgconfig")
+                               ".*\\.pc")
+                 (("-lcrypt")
+                  (string-append "-L" libxcrypt " -lcrypt"))))))
          (add-after 'remove-tests 'move-tk-inter
            (lambda* (#:key outputs #:allow-other-keys)
              ;; When Tkinter support is built move it to a separate output so
@@ -386,6 +412,8 @@
            expat
            gdbm
            libffi ; for ctypes
+           libxcrypt ; crypto module slated for removal in 3.13, re-enable
+                     ; python tests of libxcrypt when that happens
            sqlite ; for sqlite extension
            openssl-1.1
            readline



reply via email to

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