gnu: python: Add libxcrypt dependency.

* gnu/packages/python.scm (python-2.7): Add libxcrypt dependency.

Change-Id: I23d99900fd6bbd2f9a88a3efe0c8deac01ef160f
This commit is contained in:
Josselin Poiret 2024-02-02 12:15:01 +01:00 committed by Ludovic Courtès
parent e670dc7429
commit 239868c8e9
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -84,6 +84,7 @@ (define-module (gnu packages python)
#: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)
@ -211,7 +212,20 @@ (define-public python-2.7
"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
@ -312,6 +326,18 @@ (define-public python-2.7
'("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
@ -387,6 +413,8 @@ (define-public python-2.7
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