~ruther/guix-local

8888e845b7722a11ec24f59d7895d4cbba04c06b — Maxim Cournoyer 6 months ago 7036e5f
gnu: pypy2: Link against libffi.so, not libffi.a.

* gnu/packages/pypy.scm (pypy2)
[#:phases] {use-libffi.so}: New phase.
[inputs]: Replace libffi-pic with libffi.
* gnu/packages/libffi.scm (libffi-pic): Delete hidden package.

Change-Id: I778789c18dadef71b4bef5fae27ed29ac4ac01dd
2 files changed, 6 insertions(+), 9 deletions(-)

M gnu/packages/libffi.scm
M gnu/packages/pypy.scm
M gnu/packages/libffi.scm => gnu/packages/libffi.scm +0 -8
@@ 278,11 278,3 @@ from Ruby code.  Moreover, a Ruby-FFI extension works without changes on Ruby
and JRuby.")
    (home-page "https://wiki.github.com/ffi/ffi")
    (license bsd-3)))

;; pypy needs libffi compiled with -fPIC for some reason
(define-public libffi-pic
  (hidden-package
    (package/inherit libffi
      (arguments
       `(#:configure-flags '("--enable-portable-binary"
                             "--without-gcc-arch" "--with-pic"))))))

M gnu/packages/pypy.scm => gnu/packages/pypy.scm +6 -1
@@ 119,6 119,11 @@
              (substitute* "lib-python/2.7/distutils/sysconfig_pypy.py"
                (("\"cc ")
                 (string-append "\"" #$(cc-for-target) " ")))))
          (add-after 'unpack 'use-libffi.so
            (lambda _
              (substitute* "rpython/rlib/clibffi.py"
                (("\"libffi\\.a\"")
                 "\"libffi.so\""))))
          (add-after 'unpack 'set-source-file-times-to-1980
            ;; copied from python package, required by zip testcase
            (lambda _


@@ 177,7 182,7 @@
     (list bzip2
           expat
           gdbm
           libffi-pic
           libffi
           ncurses
           openssl
           sqlite