Commit 5d12e405 authored by Robert Schütz's avatar Robert Schütz Committed by Robert Schütz
Browse files

python310Packages.inkex: build independently

Previously it was missing the .dist-info directory.
parent 5261692e
Loading
Loading
Loading
Loading
+60 −24
Original line number Diff line number Diff line
{ 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;

  # No tests installed.
  doCheck = false;
  pythonImportsCheck = [ "inkex" ];

  installPhase = ''
    runHook preInstall
  nativeCheckInputs = [
    gobject-introspection
    pytestCheckHook
  ];

    mkdir -p "$out/${python.sitePackages}"
    cp -r "${inkscape}/share/inkscape/extensions/inkex" "$out/${python.sitePackages}"
  checkInputs = [
    gtk3
  ];

    runHook postInstall
  '';
  disabledTests = [
    "test_extract_multiple"
    "test_lookup_and"
  ];

  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.
  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"
  ];

      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 ];
  };
}