1{ lib, stdenv
2, fetchgit
3, autoreconfHook
4, pkg-config
5, dbus
6, sysctl
7, gitUpdater
8}:
9
10stdenv.mkDerivation rec {
11 pname = "ell";
12 version = "0.59";
13
14 outputs = [ "out" "dev" ];
15
16 src = fetchgit {
17 url = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
18 rev = version;
19 hash = "sha256-uJcGYT+JSdz/XTyJb/VUyedmSKJW/4BbTM3fw3ebtIc=";
20 };
21
22 nativeBuildInputs = [
23 pkg-config
24 autoreconfHook
25 ];
26
27 nativeCheckInputs = [
28 dbus
29 # required as the sysctl test works on some machines
30 sysctl
31 ];
32
33 enableParallelBuilding = true;
34
35 # tests sporadically fail on musl
36 doCheck = !stdenv.hostPlatform.isMusl;
37
38 passthru = {
39 updateScript = gitUpdater {
40 url = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
41 };
42 };
43
44 meta = with lib; {
45 homepage = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
46 description = "Embedded Linux Library";
47 longDescription = ''
48 The Embedded Linux* Library (ELL) provides core, low-level functionality for system daemons. It typically has no dependencies other than the Linux kernel, C standard library, and libdl (for dynamic linking). While ELL is designed to be efficient and compact enough for use on embedded Linux platforms, it is not limited to resource-constrained systems.
49 '';
50 changelog = "https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ChangeLog?h=${version}";
51 license = licenses.lgpl21Plus;
52 platforms = platforms.linux;
53 maintainers = with maintainers; [ mic92 dtzWill amaxine ];
54 };
55}