1{ 2 lib, 3 buildPythonPackage, 4 pythonOlder, 5 fetchFromGitHub, 6 7 darkdetect, 8 poetry-core, 9 10 pyqt5, 11 pytest-mock, 12 pytest-qt, 13 pytestCheckHook, 14 qt5, 15}: 16 17buildPythonPackage rec { 18 pname = "pyqtdarktheme"; 19 version = "2.1.0"; 20 pyproject = true; 21 22 disabled = pythonOlder "3.7"; 23 24 src = fetchFromGitHub { 25 owner = "5yutan5"; 26 repo = "PyQtDarkTheme"; 27 rev = "v${version}"; 28 hash = "sha256-jK+wnIyPE8Bav0pzbvVisYYCzdRshYw1S2t0H3Pro5M="; 29 }; 30 31 patches = [ ./add-missing-argument-to-the-proxy-style-initializer.patch ]; 32 33 nativeBuildInputs = [ poetry-core ]; 34 35 propagatedBuildInputs = [ darkdetect ]; 36 37 nativeCheckInputs = [ 38 pyqt5 39 pytest-mock 40 pytest-qt 41 pytestCheckHook 42 ]; 43 44 pythonImportsCheck = [ "qdarktheme" ]; 45 46 prePatch = '' 47 sed -i 's#darkdetect = ".*"#darkdetect = "*"#' pyproject.toml 48 ''; 49 50 preCheck = '' 51 export HOME=$(mktemp -d) 52 export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}" 53 export QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins"; 54 export QT_QPA_PLATFORM=offscreen 55 ''; 56 57 meta = with lib; { 58 description = "Flat dark theme for PySide and PyQt"; 59 homepage = "https://pyqtdarktheme.readthedocs.io/en/stable"; 60 license = licenses.mit; 61 maintainers = with maintainers; [ ]; 62 }; 63}