Unverified Commit 83190157 authored by Mario Rodas's avatar Mario Rodas Committed by GitHub
Browse files

Merge pull request #229151 from laikq/update/veusz

veusz: 3.3.1 -> 3.6.2 & fix
parents 0656eec6 239286eb
Loading
Loading
Loading
Loading
+11 −12
Original line number Diff line number Diff line
@@ -6,14 +6,18 @@

python3Packages.buildPythonApplication rec {
  pname = "veusz";
  version = "3.3.1";
  version = "3.6.2";

  src = python3Packages.fetchPypi {
    inherit pname version;
    sha256 = "4ClgYwiU21wHDve2q9cItSAVb9hbR2F+fJc8znGI8OA=";
    sha256 = "whcaxF5LMEJNj8NSYeLpnb5uJboRl+vCQ1WxBrJjldE=";
  };

  nativeBuildInputs = [ wrapQtAppsHook python3Packages.sip_4 ];
  nativeBuildInputs = [
    wrapQtAppsHook
    python3Packages.sip
    python3Packages.tomli
  ];

  buildInputs = [ qtbase ];

@@ -24,22 +28,17 @@ python3Packages.buildPythonApplication rec {
    wrapQtApp "$out/bin/veusz"
  '';

  # Since sip 6 (we use sip 4 here, but pyqt5 is built with sip 6), sip files are
  # placed in a different directory layout and --sip-dir won't work anymore.
  # --sip-dir expects a directory with a PyQt5 subdirectory (where sip files are located),
  # but the new directory layout places sip files in a subdirectory named 'bindings'.
  # To workaround this, we patch the full path into pyqtdistutils.py.
  # pyqt_setuptools.py uses the platlib path from sysconfig, but NixOS doesn't
  # really have a corresponding path, so patching the location of PyQt5 inplace
  postPatch = ''
    substituteInPlace pyqtdistutils.py \
      --replace "'-I', pyqt5_include_dir," "'-I', '${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings',"
    substituteInPlace pyqt_setuptools.py \
      --replace "get_path('platlib')" "'${python3Packages.pyqt5}/${python3Packages.python.sitePackages}'"
    patchShebangs tests/runselftest.py
  '';

  # you can find these options at
  # https://github.com/veusz/veusz/blob/53b99dffa999f2bc41fdc5335d7797ae857c761f/pyqtdistutils.py#L71
  # --sip-dir cannot be used here for the reasons explained above
  setupPyBuildFlags = [
    "--qt-include-dir=${qtbase.dev}/include"
    # veusz tries to find a libinfix and fails without one
    # but we simply don't need a libinfix, so set it to empty here
    "--qt-libinfix="