1{ lib
2, stdenv
3, fetchFromGitLab
4, cmake
5
6, arpa2cm
7, doxygen
8, e2fsprogs
9, graphviz
10, lmdb
11, openssl
12, pkg-config
13, ragel
14}:
15
16stdenv.mkDerivation rec {
17 pname = "arpa2common";
18 version = "2.2.18";
19
20 src = fetchFromGitLab {
21 owner = "arpa2";
22 repo = pname;
23 rev = "v${version}";
24 sha256 = "sha256-UpAVyDXCe07ZwjD307t6G9f/Nny4QYXxGxft1KsiYYg=";
25 };
26
27 nativeBuildInputs = [
28 cmake
29 arpa2cm
30 doxygen
31 graphviz
32 pkg-config
33 ];
34
35 propagatedBuildInputs = [
36 e2fsprogs
37 lmdb
38 openssl
39 ragel
40 ];
41
42 # the project uses single argument `printf` throughout the program
43 hardeningDisable = [ "format" ];
44
45 meta = {
46 description =
47 "ARPA2 ID and ACL libraries and other core data structures for ARPA2";
48 longDescription = ''
49 The ARPA2 Common Library package offers elementary services that can
50 benefit many software packages. They are designed to be easy to
51 include, with a minimum of dependencies. At the same time, they were
52 designed with the InternetWide Architecture in mind, thus helping to
53 liberate users.
54 '';
55 homepage = "https://gitlab.com/arpa2/arpa2common";
56 license = with lib.licenses; [ bsd2 cc-by-sa-40 cc0 isc ];
57 maintainers = with lib.maintainers; [ fufexan ];
58 platforms = lib.platforms.linux;
59 };
60}