about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJack Connors <jack.connors@protonmail.com>2023-07-18 11:44:27 +0100
committerJack Connors <jack.connors@protonmail.com>2023-07-18 21:47:12 +0100
commit3f99b556de2a23347dd6160430a98cc6c7d2097d (patch)
tree17bf5ff41b6ba8e594ce979f940c2e18e97d9c7d
parent752398b6254e3376e67b62892c34f6f034eed00f (diff)
boinc: add headless option
Added headless option and packages entry. Switches config flag --disable-manager and omits X/GUI related libs
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix10
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 8 insertions, 4 deletions
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 625de3a3a8b39..f806be834bca4 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -22,6 +22,7 @@
 , libnotify
 , libX11
 , libxcb
+, headless ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -40,6 +41,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     curl
+    sqlite
+    patchelf
+  ] ++ lib.optionals (!headless) [
     libGLU
     libGL
     libXmu
@@ -47,17 +51,15 @@ stdenv.mkDerivation rec {
     freeglut
     libjpeg
     wxGTK32
-    sqlite
     gtk3
     libXScrnSaver
     libnotify
-    patchelf
     libX11
     libxcb
     xcbutil
   ];
 
-  NIX_LDFLAGS = "-lX11";
+  NIX_LDFLAGS = lib.optionalString (!headless) "-lX11";
 
   preConfigure = ''
     ./_autosetup
@@ -66,7 +68,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--disable-server" ];
+  configureFlags = [ "--disable-server" ] ++ lib.optionals headless [ "--disable-manager" ];
 
   postInstall = ''
     install --mode=444 -D 'client/scripts/boinc-client.service' "$out/etc/systemd/system/boinc.service"
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 39f4d3a3aa042..31ed8675704e6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -39259,6 +39259,8 @@ with pkgs;
 
   boinc = callPackage ../applications/science/misc/boinc { };
 
+  boinc-headless = callPackage ../applications/science/misc/boinc { headless = true; };
+
   celestia = callPackage ../applications/science/astronomy/celestia {
     autoreconfHook = buildPackages.autoreconfHook269;
     inherit (gnome2) gtkglext;