~ruther/guix-local

1f4344574567337a7e32b97f8cb98104deb71666 — Mark H Weaver 11 years ago c7d1d88
gnu: python: Do not use patchelf.

* gnu/packages/python.scm (python-2): Add rpath for lib directory of output to
  LDFLAGS.  Remove 'patchelf' from inputs.  Remove #:modules and
  #:imported-modules from arguments.  Remove 'add-lib-to-runpath' phase.
  (python): Do not add #:modules to inherited package arguments.
1 files changed, 22 insertions(+), 45 deletions(-)

M gnu/packages/python.scm
M gnu/packages/python.scm => gnu/packages/python.scm +22 -45
@@ 33,7 33,6 @@
  #:use-module (gnu packages)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages databases)
  #:use-module (gnu packages elf)
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages gdbm)
  #:use-module (gnu packages gcc)


@@ 134,7 133,8 @@
              (sqlite (assoc-ref %build-inputs "sqlite"))
              (openssl (assoc-ref %build-inputs "openssl"))
              (readline (assoc-ref %build-inputs "readline"))
              (zlib (assoc-ref %build-inputs "zlib")))
              (zlib (assoc-ref %build-inputs "zlib"))
              (out (assoc-ref %outputs "out")))
         (list "--enable-shared"                  ; allow embedding
               "--with-system-ffi"                ; build ctypes
               (string-append "CPPFLAGS="


@@ 151,43 151,27 @@
                "-L" sqlite "/lib "
                "-L" openssl "/lib "
                "-L" readline "/lib "
                "-L" zlib "/lib")))

        #:modules ((guix build gnu-build-system)
                   (guix build utils)
                   (guix build rpath)
                   (srfi srfi-26))
        #:imported-modules ((guix build gnu-build-system)
                            (guix build utils)
                            (guix build rpath))
                "-L" zlib "/lib "
                "-Wl,-rpath=" out "/lib")))

        #:phases
        (alist-cons-after
         'strip 'add-lib-to-runpath
         (lambda* (#:key outputs #:allow-other-keys)
           (let* ((out (assoc-ref outputs "out"))
                  (lib (string-append out "/lib")))
             ;; Add LIB to the RUNPATH of all the executables.
             (with-directory-excursion out
               (for-each (cut augment-rpath <> lib)
                         (find-files "bin" ".*")))))
        (alist-cons-before
         'configure 'patch-lib-shells
         (lambda _
           ;; Filter for existing files, since some may not exist in all
           ;; versions of python that are built with this recipe.
           (substitute* (filter file-exists?
                                '("Lib/subprocess.py"
                                  "Lib/popen2.py"
                                  "Lib/distutils/tests/test_spawn.py"
                                  "Lib/test/test_subprocess.py"))
             (("/bin/sh") (which "sh"))))
         (alist-cons-before
          'configure 'patch-lib-shells
          'check 'pre-check
          (lambda _
            ;; Filter for existing files, since some may not exist in all
            ;; versions of python that are built with this recipe.
            (substitute* (filter file-exists?
                                 '("Lib/subprocess.py"
                                   "Lib/popen2.py"
                                   "Lib/distutils/tests/test_spawn.py"
                                   "Lib/test/test_subprocess.py"))
              (("/bin/sh") (which "sh"))))
          (alist-cons-before
           'check 'pre-check
           (lambda _
             ;; 'Lib/test/test_site.py' needs a valid $HOME
             (setenv "HOME" (getcwd)))
           %standard-phases)))))
            ;; 'Lib/test/test_site.py' needs a valid $HOME
            (setenv "HOME" (getcwd)))
          %standard-phases))))
    (inputs
     `(("bzip2" ,bzip2)
       ("gdbm" ,gdbm)


@@ 195,8 179,7 @@
       ("sqlite" ,sqlite)                         ; for sqlite extension
       ("openssl" ,openssl)
       ("readline" ,readline)
       ("zlib" ,zlib)
       ("patchelf" ,patchelf)))                   ; for (guix build rpath)
       ("zlib" ,zlib)))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (native-search-paths


@@ 230,14 213,8 @@ data types.")
              (sha256
               (base32
                "1rdncc7g8g6f3lfdg33rli1yffbiq8z283xy4f5ksl1l8i49psdb"))))
    (arguments
     (let ((args `(#:modules ((guix build gnu-build-system)
                              (guix build utils)
                             (srfi srfi-1)
                              (srfi srfi-26))
                   ,@(package-arguments python-2))))
       (substitute-keyword-arguments args
         ((#:tests? _) #t))))
    (arguments (substitute-keyword-arguments (package-arguments python-2)
                 ((#:tests? _) #t)))
    (native-search-paths
     (list (search-path-specification
            (variable "PYTHONPATH")