about summary refs log tree commit diff
path: root/pkgs/applications/science/misc
diff options
context:
space:
mode:
authorJonas Chevalier <zimbatm@zimbatm.com>2023-11-27 14:20:58 +0100
committerGitHub <noreply@github.com>2023-11-27 14:20:58 +0100
commita403a118d1d509abfb916f1283738d4ab1f5da48 (patch)
tree2a16bc458e4bafb6a719b0693fd52f33dafcd513 /pkgs/applications/science/misc
parentab9367eb5ba883d9144e558f2deb92285f97178e (diff)
fahclient: 7.6.21 -> 8.1.18 (#246832)
Rebuild from source
Diffstat (limited to 'pkgs/applications/science/misc')
-rw-r--r--pkgs/applications/science/misc/foldingathome/client.nix99
1 files changed, 55 insertions, 44 deletions
diff --git a/pkgs/applications/science/misc/foldingathome/client.nix b/pkgs/applications/science/misc/foldingathome/client.nix
index c927df9a54916..cdc083a467d8e 100644
--- a/pkgs/applications/science/misc/foldingathome/client.nix
+++ b/pkgs/applications/science/misc/foldingathome/client.nix
@@ -1,59 +1,70 @@
-{ lib, stdenv
-, autoPatchelfHook
-, buildFHSEnv
-, dpkg
-, fetchurl
-, gcc-unwrapped
-, ocl-icd
-, zlib
-, extraPkgs ? []
+{ lib
+, stdenv
+, fetchFromGitHub
+, scons
+, openssl
 }:
 let
-  majMin = lib.versions.majorMinor version;
-  version = "7.6.21";
-
-  fahclient = stdenv.mkDerivation rec {
-    inherit version;
-    pname = "fahclient";
-
-    src = fetchurl {
-      url = "https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v${majMin}/fahclient_${version}_amd64.deb";
-      sha256 = "2827f05f1c311ee6c7eca294e4ffb856c81957e8f5bfc3113a0ed27bb463b094";
-    };
-
-    nativeBuildInputs = [
-      autoPatchelfHook
-      dpkg
-    ];
-
-    buildInputs = [
-      gcc-unwrapped.lib
-      zlib
-    ];
-
-    unpackPhase = "dpkg-deb -x ${src} ./";
-    installPhase = "cp -ar usr $out";
+  version = "8.1.18";
+
+  cbangSrc = fetchFromGitHub {
+    owner = "cauldrondevelopmentllc";
+    repo = "cbang";
+    rev = "bastet-v${version}";
+    hash = "sha256-G0rknVmZiyC4sRTOowFjf7EQ5peGf+HLPPcLWXXFlX4=";
+  };
+
+  fah-web-client-bastetSrc = fetchFromGitHub {
+    owner = "foldingathome";
+    repo = "fah-web-client-bastet";
+    rev = "v${version}";
+    hash = lib.fakeHash;
   };
 in
-buildFHSEnv {
-  name = fahclient.name;
+stdenv.mkDerivation {
+  pname = "fah-client";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "FoldingAtHome";
+    repo = "fah-client-bastet";
+    rev = "v${version}";
+    hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
+  };
+
+  nativeBuildInputs = [ scons ];
+
+  buildInputs = [ openssl ];
+
+  postUnpack = ''
+    export CBANG_HOME=$NIX_BUILD_TOP/cbang
+
+    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}
+
+    cp fah-client $out/bin/fah-client
 
-  targetPkgs = pkgs': [
-    fahclient
-    ocl-icd
-  ] ++ extraPkgs;
+    cp install/lin/fah-client.desktop $out/share/applications/
+    cp -r images $out/share/feh-client/
 
-  runScript = "/bin/FAHClient";
+    sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
 
-  extraInstallCommands = ''
-    mv $out/bin/$name $out/bin/FAHClient
+    runHook postInstall
   '';
 
   meta = {
     description = "Folding@home client";
     homepage = "https://foldingathome.org/";
-    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-    license = lib.licenses.unfree;
+    license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.zimbatm ];
     platforms = [ "x86_64-linux" ];
   };