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