also package optional python dependencies

This commit is contained in:
Jörg Thalheim 2023-11-29 10:52:40 +01:00
parent 8d7449a3dc
commit 7533080cf4
4 changed files with 105 additions and 1 deletions

33
eac-logchecker.nix Normal file
View File

@ -0,0 +1,33 @@
{ lib
, setuptools
, wheel
, pprp
, fetchFromGitHub
, buildPythonPackage
}:
buildPythonPackage rec {
pname = "eac-logchecker-py";
version = "0.8.1";
pyproject = true;
src = fetchFromGitHub {
owner = "OPSnet";
repo = "eac_logchecker.py";
rev = "v${version}";
hash = "sha256-Q+dDXwtYnq43Ifj1rK+dVRCB/ReJeA0+VBU6yvzS/uw=";
};
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [ pprp ];
meta = with lib; {
description = "Python logchecker for EAC logs";
homepage = "https://github.com/OPSnet/eac_logchecker.py";
license = licenses.mit;
mainProgram = "eac-logchecker-py";
};
}

View File

@ -1,4 +1,4 @@
{ callPackage, fetchFromGitHub, runCommand }:
{ callPackage, fetchFromGitHub, runCommand, python3, makeWrapper }:
let
package = callPackage ./default.nix { };
@ -8,6 +8,13 @@ let
rev = "0.11.1";
hash = "sha256-o0Pw/w+NKeL6haB+gObTK2xMJ78ZuOj7lmoJruaAuWQ=";
};
pythonEnv = python3.withPackages (ps: [
ps.cchardet
(ps.callPackage ./eac-logchecker.nix {
pprp = ps.callPackage ./pprp.nix {};
})
(ps.callPackage ./xld-logchecker.nix {})
]);
in package.overrideAttrs (old: {
# composer2nix doesn't have a patch phase
src = runCommand "logchecker-src" {} ''
@ -16,5 +23,10 @@ in package.overrideAttrs (old: {
cd $out
patch -p1 < ${./0001-update-to-php8.patch}
'';
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/logchecker \
--prefix PATH : ${pythonEnv}/bin
'';
})

30
pprp.nix Normal file
View File

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools
, wheel
}:
buildPythonPackage rec {
pname = "pprp";
version = "0.2.7";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-2ednecxSsJONvH9XJ6GV3ExgdcPrUEAlYRpZt2Nrkw0=";
};
nativeBuildInputs = [
setuptools
wheel
];
pythonImportsCheck = [ "pprp" ];
meta = with lib; {
description = "A pure-Python Rijndael (AES) and PBKDF2 library. Python 2.7 and Python3 compatible";
homepage = "https://pypi.org/project/pprp/";
license = licenses.gpl2;
};
}

29
xld-logchecker.nix Normal file
View File

@ -0,0 +1,29 @@
{ lib
, python3
, fetchFromGitHub
}:
python3.pkgs.buildPythonPackage {
pname = "xld-logchecker-py";
version = "unstable-2018-11-25";
pyproject = true;
src = fetchFromGitHub {
owner = "OPSnet";
repo = "xld_logchecker.py";
rev = "a0f843b986c04148e9185a4d3e4ca257b5b59203";
hash = "sha256-PBQAbGeJhsMgR51KagnLQYfw59YPMZGwajE2xwk481g=";
};
nativeBuildInputs = [
python3.pkgs.setuptools
python3.pkgs.wheel
];
meta = with lib; {
description = "Python logchecker for XLD logs";
homepage = "https://github.com/OPSnet/xld_logchecker.py";
license = licenses.mit;
mainProgram = "xld-logchecker-py";
};
}