about summary refs log tree commit diff
path: root/pkgs/applications/science/misc/foldingathome/client.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/misc/foldingathome/client.nix')
-rw-r--r--pkgs/applications/science/misc/foldingathome/client.nix82
1 files changed, 46 insertions, 36 deletions
diff --git a/pkgs/applications/science/misc/foldingathome/client.nix b/pkgs/applications/science/misc/foldingathome/client.nix
index cdc083a467d8..f61fe5b01857 100644
--- a/pkgs/applications/science/misc/foldingathome/client.nix
+++ b/pkgs/applications/science/misc/foldingathome/client.nix
@@ -1,8 +1,11 @@
 { lib
-, stdenv
+, buildFHSEnv
 , fetchFromGitHub
-, scons
+, ocl-icd
 , openssl
+, scons
+, stdenv
+, extraPkgs ? [ ]
 }:
 let
   version = "8.1.18";
@@ -14,57 +17,64 @@ let
     hash = "sha256-G0rknVmZiyC4sRTOowFjf7EQ5peGf+HLPPcLWXXFlX4=";
   };
 
-  fah-web-client-bastetSrc = fetchFromGitHub {
-    owner = "foldingathome";
-    repo = "fah-web-client-bastet";
-    rev = "v${version}";
-    hash = lib.fakeHash;
-  };
-in
-stdenv.mkDerivation {
-  pname = "fah-client";
-  inherit version;
-
-  src = fetchFromGitHub {
-    owner = "FoldingAtHome";
-    repo = "fah-client-bastet";
-    rev = "v${version}";
-    hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
-  };
+  fah-client = stdenv.mkDerivation {
+    pname = "fah-client";
+    inherit version;
 
-  nativeBuildInputs = [ scons ];
+    src = fetchFromGitHub {
+      owner = "FoldingAtHome";
+      repo = "fah-client-bastet";
+      rev = "v${version}";
+      hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
+    };
 
-  buildInputs = [ openssl ];
+    nativeBuildInputs = [ scons ];
 
-  postUnpack = ''
-    export CBANG_HOME=$NIX_BUILD_TOP/cbang
+    buildInputs = [ openssl ];
 
-    cp -r --no-preserve=mode ${cbangSrc} $CBANG_HOME
-  '';
+    postUnpack = ''
+      export CBANG_HOME=$NIX_BUILD_TOP/cbang
 
-  preBuild = ''
-    scons -C $CBANG_HOME
-  '';
+      cp -r --no-preserve=mode ${cbangSrc} $CBANG_HOME
+    '';
+
+    preBuild = ''
+      scons -C $CBANG_HOME
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/{bin,share/applications,share/feh-client}
 
-  installPhase = ''
-    runHook preInstall
+      cp fah-client $out/bin/fah-client
 
-    mkdir -p $out/{bin,share/applications,share/feh-client}
+      cp install/lin/fah-client.desktop $out/share/applications/
+      cp -r images $out/share/feh-client/
 
-    cp fah-client $out/bin/fah-client
+      sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
+
+      runHook postInstall
+    '';
+
+  };
+in
+buildFHSEnv {
+  name = fah-client.name;
 
-    cp install/lin/fah-client.desktop $out/share/applications/
-    cp -r images $out/share/feh-client/
+  targetPkgs = _: [ fah-client ocl-icd ] ++ extraPkgs;
 
-    sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
+  runScript = "/bin/fah-client";
 
-    runHook postInstall
+  extraInstallCommands = ''
+    mv $out/bin/$name $out/bin/fah-client
   '';
 
   meta = {
     description = "Folding@home client";
     homepage = "https://foldingathome.org/";
     license = lib.licenses.gpl3;
+    mainProgram = "fah-client";
     maintainers = [ lib.maintainers.zimbatm ];
     platforms = [ "x86_64-linux" ];
   };