Merge pull request #197991 from dali99/update_hydrus2

hydrus: 503 -> 519, switch to qt6
This commit is contained in:
Weijia Wang 2023-03-15 08:07:25 +02:00 committed by GitHub
commit a5772cae76
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 93 additions and 4 deletions

View file

@ -6,18 +6,20 @@
, enableSwftools ? false
, swftools
, python3Packages
, qtbase
, qtcharts
}:
python3Packages.buildPythonPackage rec {
pname = "hydrus";
version = "503";
version = "519";
format = "other";
src = fetchFromGitHub {
owner = "hydrusnetwork";
repo = "hydrus";
rev = "refs/tags/v${version}";
hash = "sha256-nJn5EphbmVYAAOisV3fym/nHlJl/aPZ2Iyp+Z2/N3Jc=";
hash = "sha256-q5pPRMBuB6hqDGuOl0kMyXjMKze5dw+3kdmA2FPJTPU=";
};
nativeBuildInputs = [
@ -25,6 +27,11 @@ python3Packages.buildPythonPackage rec {
python3Packages.mkdocs-material
];
buildInputs = [
qtbase
qtcharts
];
propagatedBuildInputs = with python3Packages; [
beautifulsoup4
cbor2
@ -37,8 +44,10 @@ python3Packages.buildPythonPackage rec {
opencv4
pillow
psutil
pympler
pyopenssl
pyside2
pyqt6
pyqt6-charts
pysocks
python-dateutil
python3Packages.mpv
@ -82,6 +91,7 @@ python3Packages.buildPythonPackage rec {
-e TestHydrusServer \
-e TestHydrusSessions \
-e TestServer \
-e TestClientMetadataMigration \
'';
outputs = [ "out" "doc" ];

View file

@ -0,0 +1,77 @@
{ lib
, buildPythonPackage
, fetchPypi
, sip
, pyqt-builder
, qt6Packages
, pythonOlder
, pyqt6
, python
}:
buildPythonPackage rec {
pname = "PyQt6_Charts";
version = "6.4.0";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-tG6xKEBRagOcNvcLs/hCMzf5j94ma1gs6tQEm3e0P2Q=";
};
# fix include path and increase verbosity
postPatch = ''
sed -i \
'/\[tool.sip.project\]/a\
verbose = true\
sip-include-dirs = [\"${pyqt6}/${python.sitePackages}/PyQt6/bindings\"]' \
pyproject.toml
'';
enableParallelBuilding = true;
# HACK: paralellize compilation of make calls within pyqt's setup.py
# pkgs/stdenv/generic/setup.sh doesn't set this for us because
# make gets called by python code and not its build phase
# format=pyproject means the pip-build-hook hook gets used to build this project
# pkgs/development/interpreters/python/hooks/pip-build-hook.sh
# does not use the enableParallelBuilding flag
preBuild = ''
export MAKEFLAGS+="''${enableParallelBuilding:+-j$NIX_BUILD_CORES}"
'';
dontWrapQtApps = true;
nativeBuildInputs = with qt6Packages; [
qtcharts
sip
qmake
pyqt-builder
];
buildInputs = with qt6Packages; [
qtcharts
];
propagatedBuildInputs = [
pyqt6
];
dontConfigure = true;
# has no tests
doCheck = false;
pythonImportsCheck = [
"PyQt6.QtCharts"
];
meta = with lib; {
description = "Python bindings for Qt6 QtCharts";
homepage = "https://riverbankcomputing.com/";
license = licenses.gpl3Only;
platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ dandellion ];
};
}

View file

@ -30181,7 +30181,7 @@ with pkgs;
hydrus = python3Packages.callPackage ../applications/graphics/hydrus {
inherit miniupnpc swftools;
inherit (qt5) wrapQtAppsHook;
inherit (qt6) wrapQtAppsHook qtbase qtcharts;
};
jetbrains = (recurseIntoAttrs (callPackages ../applications/editors/jetbrains {

View file

@ -8751,6 +8751,8 @@ self: super: with self; {
pyqt6 = callPackage ../development/python-modules/pyqt/6.x.nix { };
pyqt6-charts = callPackage ../development/python-modules/pyqt6-charts.nix { };
pyqt6-sip = callPackage ../development/python-modules/pyqt/pyqt6-sip.nix { };
pyqt6-webengine = callPackage ../development/python-modules/pyqt6-webengine.nix { };