Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.4 kB · 116 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117{ lib, stdenv, buildPythonPackage, fetchFromGitHub,
# build-system setuptools,
# dependencies distutils, h5py, numpy, qtpy, requests, tomli,
# tests pytestCheckHook, qt6, pyqt6,
# passthru.tests guidata, pyside6, qt5, pyqt5, pyside2,}:
buildPythonPackage rec { pname = "guidata"; version = "3.12.0"; pyproject = true;
src = fetchFromGitHub { owner = "PlotPyStack"; repo = "guidata"; tag = "v${version}"; hash = "sha256-dh1WyUgJ+rkBFtcyXEFgU8UNPQEkJfiJBwmkT1eqKoI="; };
build-system = [ setuptools ];
dependencies = [ distutils h5py numpy qtpy requests tomli ];
nativeCheckInputs = [ pytestCheckHook # Not propagating this, to allow one to choose to choose a pyqt / pyside # implementation. pyqt6 ];
preCheck = '' export QT_PLUGIN_PATH="${lib.getBin qt6.qtbase}/${qt6.qtbase.qtPluginPrefix}" export QT_QPA_PLATFORM=offscreen '';
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ # Fatal Python error: Segmentation fault # guidata/dataset/qtitemwidgets.py", line 633 in __init__ "test_all_items" "test_loadsave_hdf5" "test_loadsave_json" # guidata/dataset/qtitemwidgets.py", line 581 in __init__ "test_editgroupbox" "test_item_order" # guidata/qthelpers.py", line 710 in exec_dialog "test_arrayeditor" ];
pythonImportsCheck = [ "guidata" ];
passthru = { tests = { withPyQt6 = guidata.override { pyqt6 = pyqt6; qt6 = qt6; }; withPySide6 = guidata.override { pyqt6 = pyside6; qt6 = qt6; }; withPyQt5 = guidata.override { pyqt6 = pyqt5; qt6 = qt5; }; }; # Upstream doesn't officially supports all of them, although they use qtpy, # see: https://github.com/PlotPyStack/PlotPy/issues/20 . See also the # comment near this attribute at plotpy knownFailingTests = { withPySide2 = guidata.override { pyqt6 = pyside2; qt6 = qt5; }; }; };
meta = { description = "Python library generating graphical user interfaces for easy dataset editing and display"; homepage = "https://github.com/PlotPyStack/guidata"; changelog = "https://github.com/PlotPyStack/guidata/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ doronbehar ]; };}