about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/interpreters/python/pypy
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters/python/pypy')
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/default.nix12
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/dont_fetch_vendored_deps.patch12
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/sqlite_paths.patch12
3 files changed, 34 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
index a5ba4983e43c..668a4e24b39e 100644
--- a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
@@ -73,6 +73,8 @@ in with passthru; stdenv.mkDerivation rec {
   LD_LIBRARY_PATH = makeLibraryPath (filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
 
   patches = [
+    ./dont_fetch_vendored_deps.patch
+
     (substituteAll {
       src = ./tk_tcl_paths.patch;
       inherit tk tcl;
@@ -81,12 +83,18 @@ in with passthru; stdenv.mkDerivation rec {
       tk_libprefix = tk.libPrefix;
       tcl_libprefix = tcl.libPrefix;
     })
+
+    (substituteAll {
+      src = ./sqlite_paths.patch;
+      inherit (sqlite) out dev;
+    })
   ];
 
   postPatch = ''
-    substituteInPlace "lib-python/${if isPy3k then "3/tkinter/tix.py" else "2.7/lib-tk/Tix.py"}" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
+    substituteInPlace lib_pypy/pypy_tools/build_cffi_imports.py \
+      --replace "multiprocessing.cpu_count()" "$NIX_BUILD_CORES"
 
-    sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py
+    substituteInPlace "lib-python/${if isPy3k then "3/tkinter/tix.py" else "2.7/lib-tk/Tix.py"}" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
   '';
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/dont_fetch_vendored_deps.patch b/nixpkgs/pkgs/development/interpreters/python/pypy/dont_fetch_vendored_deps.patch
new file mode 100644
index 000000000000..bc959e15d1af
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/pypy/dont_fetch_vendored_deps.patch
@@ -0,0 +1,12 @@
+diff -ur a/lib_pypy/pypy_tools/build_cffi_imports.py b/lib_pypy/pypy_tools/build_cffi_imports.py
+--- a/lib_pypy/pypy_tools/build_cffi_imports.py	2021-04-12 01:11:48.000000000 -0400
++++ b/lib_pypy/pypy_tools/build_cffi_imports.py	2021-07-16 06:37:03.000000000 -0400
+@@ -225,6 +225,8 @@
+ 
+         print('*', ' '.join(args), file=sys.stderr)
+         if embed_dependencies and key in cffi_dependencies:
++            print("Nixpkgs: skipping fetching/building dependency", key)
++        elif False:
+             status, stdout, stderr = _build_dependency(key)
+             if status != 0:
+                 failures.append((key, module))
diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/sqlite_paths.patch b/nixpkgs/pkgs/development/interpreters/python/pypy/sqlite_paths.patch
new file mode 100644
index 000000000000..42de7efb3ea3
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/pypy/sqlite_paths.patch
@@ -0,0 +1,12 @@
+diff -ur a/lib_pypy/_sqlite3_build.py b/lib_pypy/_sqlite3_build.py
+--- a/lib_pypy/_sqlite3_build.py	2021-04-12 01:11:48.000000000 -0400
++++ b/lib_pypy/_sqlite3_build.py	2021-07-14 18:08:33.000000000 -0400
+@@ -301,6 +301,8 @@
+ else:
+     extra_args = dict(
+         libraries=libraries,
++        include_dirs=['@dev@/include'],
++        library_dirs=['@out@/lib']
+     )
+ 
+ SOURCE = """