linien: init at 1.0.0

This commit is contained in:
Florian Agbuya 2023-11-23 10:45:13 +08:00
parent 2bea1bc0f9
commit 81e1f42ca5
5 changed files with 171 additions and 0 deletions

View File

@ -0,0 +1,47 @@
{ lib
, python3
, qt5
}:
python3.pkgs.buildPythonApplication rec {
pname = "linien-gui";
pyproject = true;
inherit (python3.pkgs.linien-common) src version;
sourceRoot = "source/linien-gui";
nativeBuildInputs = with python3.pkgs; [
setuptools
] ++ [
qt5.wrapQtAppsHook
];
# Makes qt-wayland appear in the qt paths injected by the wrapper - helps users
# with `QT_QPA_PLATFORM=wayland` in their environment.
buildInputs = [
qt5.qtwayland
];
propagatedBuildInputs = with python3.pkgs; [
appdirs
click
pyqtgraph
pyqt5
superqt
linien-client
];
dontWrapQtApps = true;
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
meta = with lib; {
description = "Graphical user interface of the Linien spectroscopy lock application";
homepage = "https://github.com/linien-org/linien/tree/develop/linien-gui";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ fsagbuya doronbehar ];
};
}

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, linien-common
, setuptools
, fabric
, typing-extensions
, numpy
, scipy
}:
buildPythonPackage rec {
pname = "linien-client";
pyproject = true;
inherit (linien-common) src version;
sourceRoot = "source/linien-client";
preBuild = ''
export HOME=$(mktemp -d)
'';
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [
fabric
typing-extensions
numpy
scipy
linien-common
];
pythonImportsCheck = [ "linien_client" ];
meta = with lib; {
description = "Client components of the Linien spectroscopy lock application";
homepage = "https://github.com/linien-org/linien/tree/develop/linien-client";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ fsagbuya doronbehar ];
};
}

View File

@ -0,0 +1,53 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, importlib-metadata
, numpy
, rpyc
, scipy
, appdirs
, callPackage
}:
buildPythonPackage rec {
pname = "linien-common";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "linien-org";
repo = "linien";
rev = "v${version}";
hash = "sha256-BMYFi1HsNKWHmYdrnX/mAehke7UxQZlruFmpaAvxWvQ=";
};
sourceRoot = "source/linien-common";
preBuild = ''
export HOME=$(mktemp -d)
'';
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [
importlib-metadata
numpy
rpyc
scipy
appdirs
];
pythonImportsCheck = [ "linien_common" ];
passthru.tests = {
pytest = callPackage ./tests.nix { };
};
meta = with lib; {
description = "Shared components of the Linien spectroscopy lock application";
homepage = "https://github.com/linien-org/linien/tree/develop/linien-common";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ fsagbuya doronbehar ];
};
}

View File

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, linien-common
, linien-client
, pytestCheckHook
}:
buildPythonPackage {
pname = "linien-tests";
inherit (linien-common) version src;
format = "other";
pyproject = false;
dontBuild = true;
dontInstall = true;
nativeCheckInputs = [
linien-common
linien-client
pytestCheckHook
];
preCheck = ''
export HOME=$(mktemp -d)
'';
}

View File

@ -6441,6 +6441,10 @@ self: super: with self; {
lingua = callPackage ../development/python-modules/lingua { };
linien-client = callPackage ../development/python-modules/linien-client { };
linien-common = callPackage ../development/python-modules/linien-common { };
linkify-it-py = callPackage ../development/python-modules/linkify-it-py { };
linknlink = callPackage ../development/python-modules/linknlink { };