flatcam: pin shapely at 1.8.4
This commit is contained in:
parent
6f2e446ea7
commit
0d2542fa9d
2 changed files with 60 additions and 3 deletions
|
@ -1,10 +1,36 @@
|
|||
{ lib
|
||||
, python3Packages
|
||||
, stdenv
|
||||
, python3
|
||||
, fetchFromBitbucket
|
||||
, fetchpatch
|
||||
, substituteAll
|
||||
, geos
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
shapely = super.shapely.overridePythonAttrs (old: rec {
|
||||
version = "1.8.4";
|
||||
src = self.fetchPypi {
|
||||
pname = "Shapely";
|
||||
inherit version;
|
||||
hash = "sha256-oZXlHKr6IYKR8suqP+9p/TNTyT7EtlsqRyLEz0DDGYw=";
|
||||
};
|
||||
# Environment variable used in shapely/_buildcfg.py
|
||||
GEOS_LIBRARY_PATH = "${geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||
patches = [
|
||||
# Patch to search form GOES .so/.dylib files in a Nix-aware way
|
||||
(substituteAll {
|
||||
src = ./shapely-library-paths.patch;
|
||||
libgeos_c = GEOS_LIBRARY_PATH;
|
||||
libc = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
|
||||
})
|
||||
];
|
||||
});
|
||||
};
|
||||
};
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "flatcam";
|
||||
version = "8.5";
|
||||
|
||||
|
@ -15,7 +41,7 @@ python3Packages.buildPythonApplication rec {
|
|||
sha256 = "199kiiml18k34z1zhk2hbhibphmnv0kb11kxiajq52alps0mjb3m";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
matplotlib
|
||||
numpy
|
||||
packaging
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
diff --git a/shapely/geos.py b/shapely/geos.py
|
||||
index 88c5f53..1ccd6e4 100644
|
||||
--- a/shapely/geos.py
|
||||
+++ b/shapely/geos.py
|
||||
@@ -96,6 +96,7 @@ if sys.platform.startswith('linux'):
|
||||
alt_paths = [
|
||||
'libgeos_c.so.1',
|
||||
'libgeos_c.so',
|
||||
+ '@libgeos_c@',
|
||||
]
|
||||
_lgeos = load_dll('geos_c', fallbacks=alt_paths)
|
||||
|
||||
@@ -160,6 +161,7 @@ elif sys.platform == 'darwin':
|
||||
"/usr/local/lib/libgeos_c.dylib",
|
||||
# homebrew Apple Silicon
|
||||
"/opt/homebrew/lib/libgeos_c.dylib",
|
||||
+ "@libgeos_c@",
|
||||
]
|
||||
_lgeos = load_dll('geos_c', fallbacks=alt_paths)
|
||||
|
||||
diff --git a/tests/test_dlls.py b/tests/test_dlls.py
|
||||
index c71da8e..c36262c 100644
|
||||
--- a/tests/test_dlls.py
|
||||
+++ b/tests/test_dlls.py
|
||||
@@ -18,4 +18,5 @@ class LoadingTestCase(unittest.TestCase):
|
||||
'/opt/homebrew/lib/libgeos_c.dylib', # homebrew (macOS)
|
||||
os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
|
||||
'libgeos_c.so.1',
|
||||
- 'libgeos_c.so'])
|
||||
+ 'libgeos_c.so',
|
||||
+ '@libgeos_c@'])
|
Loading…
Reference in a new issue