lol
1{ curl
2, dbus
3, fetchFromGitHub
4, glib
5, json-glib
6, lib
7, nix-update-script
8, openssl
9, pkg-config
10, stdenv
11, meson
12, ninja
13, util-linux
14, libnl
15, systemd
16}:
17
18stdenv.mkDerivation rec {
19 pname = "rauc";
20 version = "1.10.1";
21
22 src = fetchFromGitHub {
23 owner = pname;
24 repo = pname;
25 rev = "v${version}";
26 sha256 = "sha256-KxU8/ExRsyqhV3np1EqAzpFm0Uy4fY/oi9lS2GBYHZE=";
27 };
28
29 passthru = {
30 updateScript = nix-update-script { };
31 };
32
33 enableParallelBuilding = true;
34
35 nativeBuildInputs = [ pkg-config meson ninja glib ];
36
37 buildInputs = [ curl dbus glib json-glib openssl util-linux libnl systemd ];
38
39 mesonFlags = [
40 "--buildtype=release"
41 (lib.mesonOption "systemdunitdir" "${placeholder "out"}/lib/systemd/system")
42 (lib.mesonOption "dbusinterfacesdir" "${placeholder "out"}/share/dbus-1/interfaces")
43 (lib.mesonOption "dbuspolicydir" "${placeholder "out"}/share/dbus-1/system.d")
44 (lib.mesonOption "dbussystemservicedir" "${placeholder "out"}/share/dbus-1/system-services")
45 ];
46
47 meta = with lib; {
48 description = "Safe and secure software updates for embedded Linux";
49 homepage = "https://rauc.io";
50 license = licenses.lgpl21Only;
51 maintainers = with maintainers; [ emantor ];
52 platforms = with platforms; linux;
53 };
54}