1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pytestCheckHook,
7 colorlog,
8 smpp-pdu,
9 pyscard,
10 packaging,
11 gsm0338,
12 bidict,
13 jsonpath-ng,
14 termcolor,
15 pyyaml,
16 pycryptodomex,
17 construct,
18 pyserial,
19 pytlv,
20 cmd2,
21}:
22
23buildPythonPackage {
24 pname = "pysim";
25 version = "unstable-2023-08-13";
26 format = "pyproject";
27
28 src = fetchFromGitHub {
29 owner = "osmocom";
30 repo = "pysim";
31 rev = "09ff0e2b433b7143d5b40b4494744569b805e554";
32 hash = "sha256-7IwIovGR0GcS1bidSqoytmombK6NkLSVAfKB2teW2JU=";
33 };
34
35 postPatch = ''
36 substituteInPlace setup.py --replace 'smpp.pdu @ git+https://github.com/hologram-io/smpp.pdu' 'smpp.pdu'
37 '';
38
39 nativeBuildInputs = [ setuptools ];
40
41 propagatedBuildInputs = [
42 bidict
43 cmd2
44 colorlog
45 construct
46 gsm0338
47 jsonpath-ng
48 packaging
49 pycryptodomex
50 pyscard
51 pyserial
52 pytlv
53 pyyaml
54 smpp-pdu
55 termcolor
56 ];
57
58 nativeCheckInputs = [ pytestCheckHook ];
59
60 pythonImportsCheck = [ "pySim" ];
61
62 meta = with lib; {
63 description = "Python tool to program SIMs / USIMs / ISIMs";
64 homepage = "https://github.com/osmocom/pysim";
65 license = licenses.gpl2;
66 maintainers = with maintainers; [ flokli ];
67 };
68}