Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 fetchFromGitLab,
6 python3,
7 cmake,
8 doxygen,
9 graphviz,
10 quickmem,
11 arpa2common,
12 arpa2cm,
13 ensureNewerSourcesForZipFilesHook,
14}:
15
16let
17 python =
18 let
19 packageOverrides = self: super: {
20 pyparsing = super.pyparsing.overridePythonAttrs (old: rec {
21 version = "3.1.2";
22 src = fetchFromGitHub {
23 owner = "pyparsing";
24 repo = "pyparsing";
25 rev = "refs/tags/${version}";
26 hash = "sha256-0B8DjO4kLgvt4sYsk8CZI+5icdKy73XE2tWeqVLqO5A=";
27 };
28 });
29 };
30 in
31 python3.override {
32 inherit packageOverrides;
33 self = python;
34 };
35in
36stdenv.mkDerivation rec {
37 pname = "quickder";
38 version = "1.7.1";
39
40 src = fetchFromGitLab {
41 owner = "arpa2";
42 repo = "quick-der";
43 rev = "v${version}";
44 hash = "sha256-f+ph5PL+uWRkswpOLDwZFWjh938wxoJ6xocJZ2WZLEk=";
45 };
46
47 nativeBuildInputs = [
48 cmake
49 doxygen
50 graphviz
51 ensureNewerSourcesForZipFilesHook
52 ];
53
54 buildInputs = [
55 arpa2cm
56 arpa2common
57 (python.withPackages (
58 ps: with ps; [
59 asn1ate
60 colored
61 pyparsing
62 setuptools
63 six
64 ]
65 ))
66 quickmem
67 ];
68
69 postPatch = ''
70 substituteInPlace setup.py --replace 'pyparsing==' 'pyparsing>='
71 '';
72
73 doCheck = true;
74
75 meta = with lib; {
76 description = "Quick (and Easy) DER, a Library for parsing ASN.1";
77 homepage = "https://gitlab.com/arpa2/quick-der/";
78 license = licenses.bsd2;
79 platforms = platforms.linux;
80 maintainers = with maintainers; [ leenaars ];
81 };
82}