guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 8888e845b7722a11ec24f59d7895d4cbba04c06b
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Mon Oct 6 21:30:32 2025 +0900

    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
---
 gnu/packages/libffi.scm | 8 --------
 gnu/packages/pypy.scm   | 7 ++++++-
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index bd8e5fb727..f87719c7f2 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -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"))))))
diff --git a/gnu/packages/pypy.scm b/gnu/packages/pypy.scm
index ba04a0b920..5309cf38f1 100644
--- a/gnu/packages/pypy.scm
+++ b/gnu/packages/pypy.scm
@@ -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

Reply via email to