summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2025-10-06 21:30:32 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2025-10-15 08:18:11 +0900
commit8888e845b7722a11ec24f59d7895d4cbba04c06b (patch)
tree28ec1e4ba26b18ef666e322e2187b2db66fc598a /gnu/packages
parent7036e5f60055eab2321a6ff300d2cb6120efa3d6 (diff)
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
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/libffi.scm8
-rw-r--r--gnu/packages/pypy.scm7
2 files changed, 6 insertions, 9 deletions
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index bd8e5fb7275..f87719c7f2d 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 ba04a0b9207..5309cf38f16 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