Merge pull request #232600 from evils/kicad-unstable

Sandro 6c112fb5 946c3f8c

Changed files
+199 -14
pkgs
applications
science
electronics
development
python-modules
diffimg
image-diff
imgdiff
pytest-image-diff
top-level
+17 -4
pkgs/applications/science/electronics/kicad/base.nix
···
postPatch = lib.optionalString (!stable) ''
substituteInPlace cmake/KiCadVersion.cmake \
--replace "unknown" "${builtins.substring 0 10 src.rev}"
+
+
substituteInPlace cmake/CreateGitVersionHeader.cmake \
+
--replace "0000000000000000000000000000000000000000" "${src.rev}"
'';
makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
-
-
# some ngspice tests attempt to write to $HOME/.cache/
-
XDG_CACHE_HOME = "$TMP";
-
# failing tests still attempt to create $HOME though
cmakeFlags = [
"-DKICAD_USE_EGL=ON"
···
++ optional (withNgspice) libngspice
++ optional (debug) valgrind;
+
# some ngspice tests attempt to write to $HOME/.cache/
+
# this could be and was resolved with XDG_CACHE_HOME = "$TMP";
+
# but failing tests still attempt to create $HOME
+
# and the newer CLI tests seem to also use $HOME...
+
HOME = "$TMP";
+
# debug builds fail all but the python test
doInstallCheck = !(debug);
installCheckTarget = "test";
+
+
pythonForTests = python.withPackages(ps: with ps; [
+
numpy
+
pytest
+
cairosvg
+
pytest-image-diff
+
]);
+
nativeInstallCheckInputs = optional (!stable) pythonForTests;
dontStrip = debug;
+10 -10
pkgs/applications/science/electronics/kicad/versions.nix
···
};
"kicad-unstable" = {
kicadVersion = {
-
version = "2023-04-14";
+
version = "2023-06-24";
src = {
-
rev = "4a3f77cd9dac9dc5921eb9beaa63d0d3c9c051e5";
-
sha256 = "06dsiyvr7zn3cp13w0y63d1qmjlhzsqlvajkximg3pw5mmiljxrr";
+
rev = "1c1849ec1a6614247abe4c623c086def2b3192e0";
+
sha256 = "0faf4fw7nrfwdrl4pjqdyfzqbvb9jd4nk4aq83v1w358yqyk7zg9";
};
};
libVersion = {
-
version = "2023-04-14";
+
version = "2023-06-24";
libSources = {
-
symbols.rev = "38d4e7e1ab6a9b5d9eee85f687e60467753b2135";
-
symbols.sha256 = "0df6fx9b19v6sxrfyggbisw72y66kiwqi05k8mldsgiw6q55gbkc";
+
symbols.rev = "43456780d309682f6da4a6f14710355b06fc4c5d";
+
symbols.sha256 = "1ql2w3q3dv13ascw8s0hzwda486763qma7i2m877jw3p78gjhldr";
templates.rev = "867eef383a0f61015cb69677d5c632d78a2ea01a";
templates.sha256 = "1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq";
-
footprints.rev = "4da055a2d572ff87e7ecea97cf358ed8c1d46dfc";
-
footprints.sha256 = "1xb84284dmcb7mbvzlrxb4v4km3ih7gq856h8cglf9jn8wzlnvrk";
-
packages3d.rev = "0f43a0962437feb53bd2083e9f39efffb5a5dd90";
-
packages3d.sha256 = "1nkk4325jh89vh52ykfnf9pz1k3jk5017gz6r2cia2v4b3jadi31";
+
footprints.rev = "6a59a2d3940dbab7b3e8254a5b9bf06cc5330301";
+
footprints.sha256 = "0jlz0ln9vzj1av1fmw8ma8kfqlb8w0r9vrfng19bkc3cgh9lvh9x";
+
packages3d.rev = "8a2c5c4c85457832f3320902456d066d29561806";
+
packages3d.sha256 = "0dmssyhqd94d9wj8w7g7xjan560b2rwcs540sgl0rc77cw2jify8";
};
};
};
+43
pkgs/development/python-modules/diffimg/default.nix
···
+
{ lib
+
, buildPythonPackage
+
, fetchFromGitHub
+
, pillow
+
, unittestCheckHook
+
}:
+
+
buildPythonPackage rec {
+
pname = "diffimg";
+
version = "0.3.0"; # github recognized 0.1.3, there's a v0.1.5 tag and setup.py says 0.3.0
+
format = "setuptools";
+
+
src = fetchFromGitHub {
+
owner = "nicolashahn";
+
repo = "diffimg";
+
rev = "b82f0bb416f100f9105ccccf1995872b29302461";
+
hash = "sha256-H/UQsqyfdnlESBe7yRu6nK/0dakQkAfeFaZNwjCMvdM=";
+
};
+
+
# it imports the wrong diff,
+
# fix offered to upstream https://github.com/nicolashahn/diffimg/pull/6
+
postPatch = ''
+
substituteInPlace diffimg/test.py \
+
--replace "from diff import diff" "from diffimg.diff import diff"
+
'';
+
+
propagatedBuildInputs = [
+
pillow
+
];
+
+
pythonImportsCheck = [ "diffimg" ];
+
+
nativeCheckInputs = [
+
unittestCheckHook
+
];
+
+
meta = with lib; {
+
description = "Differentiate images in python - get a ratio or percentage difference, and generate a diff image";
+
homepage = "https://github.com/nicolashahn/diffimg";
+
license = licenses.mit;
+
maintainers = with maintainers; [ evils ];
+
};
+
}
+39
pkgs/development/python-modules/image-diff/default.nix
···
+
{ lib
+
, python
+
, buildPythonPackage
+
, fetchFromGitHub
+
, pillow
+
, click
+
, click-default-group
+
, pytestCheckHook
+
}:
+
+
buildPythonPackage rec {
+
pname = "image-diff";
+
version = "0.2.2";
+
format = "setuptools";
+
+
src = fetchFromGitHub {
+
owner = "simonw";
+
repo = "image-diff";
+
rev = version;
+
hash = "sha256-AQykJNvBgVjmPVTwJOX17eKWelqvZZieq/giid8GYAY=";
+
};
+
+
propagatedBuildInputs = [
+
pillow
+
click
+
click-default-group
+
];
+
+
pythonImportsCheck = [ "image_diff" ];
+
+
nativeCheckInputs = [ pytestCheckHook ];
+
+
meta = with lib; {
+
description = "CLI tool for comparing images";
+
homepage = "https://github.com/simonw/image-diff";
+
license = licenses.asl20;
+
maintainers = with maintainers; [ evils ];
+
};
+
}
+39
pkgs/development/python-modules/imgdiff/default.nix
···
+
{ lib
+
, buildPythonPackage
+
, fetchFromGitHub
+
, pillow
+
, mock
+
, unittestCheckHook
+
}:
+
+
buildPythonPackage rec {
+
pname = "imgdiff";
+
version = "1.7.1";
+
format = "setuptools";
+
+
src = fetchFromGitHub {
+
owner = "mgedmin";
+
repo = "imgdiff";
+
rev = version;
+
hash = "sha256-Y5nUnjihRpVVehhP1LUgfuJN5nCxEJu6P1w99Igpxjs=";
+
};
+
+
propagatedBuildInputs = [
+
pillow
+
];
+
+
pythonImportsCheck = [ "imgdiff" ];
+
+
nativeCheckInputs = [
+
mock
+
unittestCheckHook
+
];
+
+
meta = with lib; {
+
description = "Compare two images side-by-side";
+
homepage = "https://github.com/mgedmin/imgdiff";
+
changelog = "https://github.com/mgedmin/imgdiff/blob/${src.rev}/CHANGES.rst";
+
license = licenses.mit;
+
maintainers = with maintainers; [ evils ];
+
};
+
}
+43
pkgs/development/python-modules/pytest-image-diff/default.nix
···
+
{ lib
+
, python3
+
, buildPythonPackage
+
, fetchFromGitHub
+
, typing-extensions
+
, diffimg
+
, imgdiff
+
, pytestCheckHook
+
, recommonmark
+
}:
+
+
buildPythonPackage rec {
+
pname = "pytest-image-diff";
+
version = "0.0.11";
+
format = "setuptools";
+
+
src = fetchFromGitHub {
+
owner = "Apkawa";
+
repo = "pytest-image-diff";
+
rev = "v${version}";
+
hash = "sha256-7GBwxm0YQNN/Gq1yyBIxCEYbM7hmOFa9kUsfbBKQtBQ=";
+
};
+
+
propagatedBuildInputs = [
+
typing-extensions
+
diffimg
+
imgdiff
+
];
+
+
pythonImportsCheck = [ "pytest_image_diff" ];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
recommonmark
+
];
+
+
meta = with lib; {
+
description = "Pytest helps for compare images and regression";
+
homepage = "https://github.com/Apkawa/pytest-image-diff";
+
license = licenses.mit;
+
maintainers = with maintainers; [ evils ];
+
};
+
}
+8
pkgs/top-level/python-packages.nix
···
diff-match-patch = callPackage ../development/python-modules/diff-match-patch { };
+
diffimg = callPackage ../development/python-modules/diffimg { };
+
digital-ocean = callPackage ../development/python-modules/digitalocean { };
digi-xbee = callPackage ../development/python-modules/digi-xbee { };
···
imageio-ffmpeg = callPackage ../development/python-modules/imageio-ffmpeg { };
+
image-diff = callPackage ../development/python-modules/image-diff { };
+
image-go-nord = callPackage ../development/python-modules/image-go-nord { };
imagesize = callPackage ../development/python-modules/imagesize { };
···
img2pdf = callPackage ../development/python-modules/img2pdf { };
imgaug = callPackage ../development/python-modules/imgaug { };
+
+
imgdiff = callPackage ../development/python-modules/imgdiff { };
imgsize = callPackage ../development/python-modules/imgsize { };
···
pytest-httpserver = callPackage ../development/python-modules/pytest-httpserver { };
pytest-httpx = callPackage ../development/python-modules/pytest-httpx { };
+
+
pytest-image-diff = callPackage ../development/python-modules/pytest-image-diff { };
pytest-instafail = callPackage ../development/python-modules/pytest-instafail { };