mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-22 03:53:47 +00:00
Merge pull request #336124 from jfly/kikit-on-python312
kicad: use python 3.12, kikit: use python 3.12
This commit is contained in:
commit
e8c29c7885
@ -25,7 +25,7 @@
|
||||
, withNgspice ? !stdenv.isDarwin
|
||||
, libngspice
|
||||
, withScripting ? true
|
||||
, python311
|
||||
, python3
|
||||
, addons ? [ ]
|
||||
, debug ? false
|
||||
, sanitizeAddress ? false
|
||||
@ -122,14 +122,10 @@ let
|
||||
else versionsImport.${baseName}.libVersion.version;
|
||||
|
||||
wxGTK = wxGTK32;
|
||||
# KiCAD depends on wxWidgets, which uses distutils (removed in Python 3.12)
|
||||
# See also: https://github.com/wxWidgets/Phoenix/issues/2104
|
||||
# Eventually, wxWidgets should support Python 3.12: https://github.com/wxWidgets/Phoenix/issues/2553
|
||||
# Until then, we use Python 3.11 which still includes distutils
|
||||
python = python311;
|
||||
python = python3;
|
||||
wxPython = python.pkgs.wxpython;
|
||||
addonPath = "addon.zip";
|
||||
addonsDrvs = map (pkg: pkg.override { inherit addonPath python; }) addons;
|
||||
addonsDrvs = map (pkg: pkg.override { inherit addonPath python3; }) addons;
|
||||
|
||||
addonsJoined =
|
||||
runCommand "addonsJoined"
|
||||
@ -161,7 +157,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# Common libraries, referenced during runtime, via the wrapper.
|
||||
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
|
||||
passthru.callPackage = newScope { inherit addonPath python; };
|
||||
passthru.callPackage = newScope { inherit addonPath python3; };
|
||||
base = callPackage ./base.nix {
|
||||
inherit stable testing baseName;
|
||||
inherit kicadSrc kicadVersion;
|
||||
|
@ -17,14 +17,14 @@
|
||||
, pcbnewtransition
|
||||
, pybars3
|
||||
, versioneer
|
||||
, shapely_1_8
|
||||
, shapely
|
||||
}:
|
||||
let
|
||||
solidpython = callPackage ./solidpython { };
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "kikit";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -33,7 +33,7 @@ buildPythonApplication rec {
|
||||
owner = "yaqwsx";
|
||||
repo = "KiKit";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-f8FB6EEy9Ch4LcMKd9PADXV9QrSb7e22Ui86G6AnQKE=";
|
||||
hash = "sha256-r8LQcy3I6hmcrU/6HfPAYJd+cEZdhad6DUldC9HvXZU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -49,8 +49,7 @@ buildPythonApplication rec {
|
||||
wxpython
|
||||
pcbnewtransition
|
||||
pybars3
|
||||
# https://github.com/yaqwsx/KiKit/issues/574
|
||||
shapely_1_8
|
||||
shapely
|
||||
# https://github.com/yaqwsx/KiKit/issues/576
|
||||
solidpython
|
||||
];
|
||||
|
@ -8,7 +8,7 @@
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "pcbnewtransition";
|
||||
version = "0.4.1";
|
||||
version = "0.4.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "pcbnewTransition";
|
||||
inherit version;
|
||||
hash = "sha256-+mRExuDuEYxSSlrkEjSyPK+RRJZo+YJH7WnUVfjblRQ=";
|
||||
hash = "sha256-fFOzL80m92PcF9SC6NZ69OUuEJn1sl+mWVFjRorhS4M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ kicad ];
|
||||
|
@ -1,87 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
substituteAll,
|
||||
|
||||
cython_0,
|
||||
geos_3_11,
|
||||
numpy,
|
||||
oldest-supported-numpy,
|
||||
setuptools,
|
||||
wheel,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "shapely";
|
||||
version = "1.8.5";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "Shapely";
|
||||
inherit version;
|
||||
hash = "sha256-6CttYOz7EkEgyI/hBqR4WWu+qxQhFtfn9ko2TayQKpI=";
|
||||
};
|
||||
|
||||
# Environment variable used in shapely/_buildcfg.py
|
||||
GEOS_LIBRARY_PATH = "${geos_3_11}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||
|
||||
patches = [
|
||||
# Patch to search form GOES .so/.dylib files in a Nix-aware way
|
||||
(substituteAll {
|
||||
src = ./library-paths.patch;
|
||||
libgeos_c = GEOS_LIBRARY_PATH;
|
||||
libc = lib.optionalString (
|
||||
!stdenv.isDarwin
|
||||
) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml --replace "setuptools<64" "setuptools"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cython_0
|
||||
geos_3_11 # for geos-config
|
||||
oldest-supported-numpy
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
buildInputs = [ geos_3_11 ];
|
||||
|
||||
propagatedBuildInputs = [ numpy ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
preCheck = ''
|
||||
rm -r shapely # prevent import of local shapely
|
||||
'';
|
||||
|
||||
disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||
# FIXME(lf-): these logging tests are broken, which is definitely our
|
||||
# fault. I've tried figuring out the cause and failed.
|
||||
#
|
||||
# It is apparently some sandbox or no-sandbox related thing on macOS only
|
||||
# though.
|
||||
"test_error_handler_exception"
|
||||
"test_error_handler"
|
||||
"test_info_handler"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "shapely" ];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/shapely/shapely/blob/${version}/CHANGES.txt";
|
||||
description = "Manipulation and analysis of geometric objects";
|
||||
homepage = "https://github.com/shapely/shapely";
|
||||
license = licenses.bsd3;
|
||||
maintainers = teams.geospatial.members;
|
||||
};
|
||||
}
|
@ -6673,7 +6673,7 @@ self: super: with self; {
|
||||
khanaa = callPackage ../development/python-modules/khanaa {};
|
||||
|
||||
kicad = toPythonModule (pkgs.kicad.override {
|
||||
python311 = python;
|
||||
python3 = python;
|
||||
}).src;
|
||||
|
||||
kinparse = callPackage ../development/python-modules/kinparse { };
|
||||
@ -14380,8 +14380,6 @@ self: super: with self; {
|
||||
|
||||
shapely = callPackage ../development/python-modules/shapely { };
|
||||
|
||||
shapely_1_8 = callPackage ../development/python-modules/shapely/1.8.nix { };
|
||||
|
||||
shaperglot = callPackage ../development/python-modules/shaperglot { };
|
||||
|
||||
sharedmem = callPackage ../development/python-modules/sharedmem { };
|
||||
|
Loading…
Reference in New Issue
Block a user