From 5d12e405f6ed8f061673f5ce609b5e74fb135f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 21 Feb 2023 18:34:06 -0800 Subject: [PATCH] python310Packages.inkex: build independently Previously it was missing the .dist-info directory. --- .../python-modules/inkex/default.nix | 84 +++++++++++++------ 1 file changed, 60 insertions(+), 24 deletions(-) diff --git a/pkgs/development/python-modules/inkex/default.nix b/pkgs/development/python-modules/inkex/default.nix index 3f8bc99eeb6b..4cc96646bc0b 100644 --- a/pkgs/development/python-modules/inkex/default.nix +++ b/pkgs/development/python-modules/inkex/default.nix @@ -1,47 +1,83 @@ -{ buildPythonPackage -, inkscape +{ lib +, buildPythonPackage +, fetchFromGitLab +, poetry-core , cssselect , lxml , numpy +, packaging +, pillow , pygobject3 -, python +, pyserial +, scour +, gobject-introspection +, pytestCheckHook +, gtk3 }: -buildPythonPackage { +buildPythonPackage rec { pname = "inkex"; - inherit (inkscape) version; + version = "1.2.2"; - format = "other"; + format = "pyproject"; + + src = fetchFromGitLab { + owner = "inkscape"; + repo = "extensions"; + rev = "EXTENSIONS_AT_INKSCAPE_${version}"; + hash = "sha256-jw7daZQTBxLHWOpjZkMYtP1vIQvd/eLgiktWqVSjEgU="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace '"1.2.0"' '"${version}"' \ + --replace 'scour = "^0.37"' 'scour = ">=0.37"' + ''; + + nativeBuildInputs = [ + poetry-core + ]; propagatedBuildInputs = [ cssselect lxml numpy + packaging + pillow pygobject3 + pyserial + scour ]; - # We just copy the files. - dontUnpack = true; - dontBuild = true; + pythonImportsCheck = [ "inkex" ]; - # No tests installed. - doCheck = false; + nativeCheckInputs = [ + gobject-introspection + pytestCheckHook + ]; - installPhase = '' - runHook preInstall + checkInputs = [ + gtk3 + ]; - mkdir -p "$out/${python.sitePackages}" - cp -r "${inkscape}/share/inkscape/extensions/inkex" "$out/${python.sitePackages}" + disabledTests = [ + "test_extract_multiple" + "test_lookup_and" + ]; - runHook postInstall - ''; + disabledTestPaths = [ + # Fatal Python error: Segmentation fault + "tests/test_inkex_gui.py" + "tests/test_inkex_gui_listview.py" + "tests/test_inkex_gui_window.py" + # Failed to find pixmap 'image-missing' in /build/source/tests/data/ + "tests/test_inkex_gui_pixmaps.py" + ]; - meta = inkscape.meta // { - description = "Inkscape Extensions Library"; - longDescription = '' - This module provides support for inkscape extensions, it includes support for opening svg files and processing them. - - Standalone, it is especially useful for running tests for Inkscape extensions. - ''; + meta = { + description = "Library for manipulating SVG documents which is the basis for Inkscape extensions"; + homepage = "https://gitlab.com/inkscape/extensions"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ dotlambda ]; }; }