1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, setuptools
5, pytestCheckHook
6, pytest-asyncio
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 = [
40 setuptools
41 ];
42
43 propagatedBuildInputs = [
44 bidict
45 cmd2
46 colorlog
47 construct
48 gsm0338
49 jsonpath-ng
50 packaging
51 pycryptodomex
52 pyscard
53 pyserial
54 pytlv
55 pyyaml
56 smpp_pdu
57 termcolor
58 ];
59
60 nativeCheckInputs = [
61 pytestCheckHook
62 ];
63
64 pythonImportsCheck = [ "pySim" ];
65
66 meta = with lib; {
67 description = "A python tool to program SIMs / USIMs / ISIMs.";
68 homepage = "https://github.com/osmocom/pysim";
69 license = licenses.gpl2;
70 maintainers = with maintainers; [ flokli janik ];
71 };
72}