summary refs log tree commit diff
path: root/pkgs/misc/drivers
diff options
context:
space:
mode:
authorGabriel Fontes <eu@misterio.me>2022-04-02 22:23:23 -0300
committerGabriel Fontes <eu@misterio.me>2022-04-05 13:59:50 -0300
commitbfc562ab9ae6f741172abf37bb27639dc9a79337 (patch)
tree2e9c165b7ac79252c2c05e3e3f4875132a1e32f4 /pkgs/misc/drivers
parent21299f3dd3ff475f19bc8933f30ebb6a135799f1 (diff)
downloadnixpkgs-bfc562ab9ae6f741172abf37bb27639dc9a79337.tar
nixpkgs-bfc562ab9ae6f741172abf37bb27639dc9a79337.tar.gz
nixpkgs-bfc562ab9ae6f741172abf37bb27639dc9a79337.tar.bz2
nixpkgs-bfc562ab9ae6f741172abf37bb27639dc9a79337.tar.lz
nixpkgs-bfc562ab9ae6f741172abf37bb27639dc9a79337.tar.xz
nixpkgs-bfc562ab9ae6f741172abf37bb27639dc9a79337.tar.zst
nixpkgs-bfc562ab9ae6f741172abf37bb27639dc9a79337.zip
argononed: init at unstable-2022-03-26
Diffstat (limited to 'pkgs/misc/drivers')
-rw-r--r--pkgs/misc/drivers/argononed/default.nix48
-rw-r--r--pkgs/misc/drivers/argononed/fix-hardcoded-reboot-poweroff-paths.patch18
2 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/misc/drivers/argononed/default.nix b/pkgs/misc/drivers/argononed/default.nix
new file mode 100644
index 00000000000..5fa28c17c52
--- /dev/null
+++ b/pkgs/misc/drivers/argononed/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenv, fetchFromGitLab, dtc, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  pname = "argononed";
+  version = "unstable-2022-03-26";
+
+  src = fetchFromGitLab {
+    owner = "DarkElvenAngel";
+    repo = pname;
+    rev = "97c4fa07fc2c09ffc3bd86e0f6319d50fa639578";
+    sha256 = "sha256-5/xUYbprRiwD+FN8V2cUpHxnTbBkEsFG2wfsEXrCrgQ=";
+  };
+
+  patches = [ ./fix-hardcoded-reboot-poweroff-paths.patch ];
+
+  postPatch = ''
+    patchShebangs configure
+  '';
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = [ dtc ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 build/argononed $out/bin/argononed
+    install -Dm755 build/argonone-cli $out/bin/argonone-cli
+    install -Dm755 build/argonone-shutdown $out/lib/systemd/system-shutdown/argonone-shutdown
+    install -Dm644 build/argonone.dtbo $out/boot/overlays/argonone.dtbo
+
+    install -Dm644 OS/_common/argononed.service $out/lib/systemd/system/argononed.service
+    install -Dm644 OS/_common/argononed.logrotate $out/etc/logrotate.d/argononed
+    install -Dm644 LICENSE $out/share/argononed/LICENSE
+
+    installShellCompletion --bash --name argonone-cli OS/_common/argonone-cli-complete.bash
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/DarkElvenAngel/argononed";
+    description = "A replacement daemon for the Argon One Raspberry Pi case";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.misterio77 ];
+  };
+}
diff --git a/pkgs/misc/drivers/argononed/fix-hardcoded-reboot-poweroff-paths.patch b/pkgs/misc/drivers/argononed/fix-hardcoded-reboot-poweroff-paths.patch
new file mode 100644
index 00000000000..88bcb6ddd25
--- /dev/null
+++ b/pkgs/misc/drivers/argononed/fix-hardcoded-reboot-poweroff-paths.patch
@@ -0,0 +1,18 @@
+--- a/src/argononed.c
++++ b/src/argononed.c
+@@ -783,13 +783,13 @@
+     {
+         log_message(LOG_DEBUG, "EXEC REBOOT");
+         sync();
+-        system("/sbin/reboot");
++        system("/run/current-system/sw/bin/reboot");
+     }
+     if (count >= 39 && count <= 41)
+     {
+         log_message(LOG_DEBUG, "EXEC SHUTDOWN");
+         sync();
+-        system("/sbin/poweroff");
++        system("/run/current-system/sw/bin/poweroff");
+     }
+ #else
+     log_message(LOG_INFO,"Daemon Ready");