folding@home: 6.02 -> 7.5.1

The v7 series is very different.

This commit introduces the 3 packages: fahclient, fahcontrol and
fahviewer. It also rebuilds the NixOS module to map better with the new
client.
This commit is contained in:
zimbatm
2020-03-14 13:01:26 -07:00
committed by Jon
parent b6fe12b1cc
commit 001be890f7
9 changed files with 260 additions and 107 deletions
@@ -0,0 +1,59 @@
{ stdenv
, autoPatchelfHook
, buildFHSUserEnv
, dpkg
, fetchurl
, gcc-unwrapped
, ocl-icd
, zlib
, extraPkgs ? []
}:
let
majMin = stdenv.lib.versions.majorMinor version;
version = "7.5.1";
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";
hash = "sha256-7+RwYdMoZnJZwYFbmLxsN9ozk2P7jpOGZz9qlvTTfSY=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
];
buildInputs = [
gcc-unwrapped.lib
zlib
];
unpackPhase = "dpkg-deb -x ${src} ./";
installPhase = "cp -ar usr $out";
};
in
buildFHSUserEnv {
name = fahclient.name;
targetPkgs = pkgs': [
fahclient
ocl-icd
] ++ extraPkgs;
runScript = "/bin/FAHClient";
extraInstallCommands = ''
mv $out/bin/$name $out/bin/FAHClient
'';
meta = {
description = "Folding@home client";
homepage = "https://foldingathome.org/";
license = stdenv.lib.licenses.unfree;
maintainers = [ stdenv.lib.maintainers.zimbatm ];
platforms = [ "x86_64-linux" ];
};
}
@@ -0,0 +1,58 @@
{ stdenv
, autoPatchelfHook
, dpkg
, fetchurl
, makeWrapper
, python2
}:
let
majMin = stdenv.lib.versions.majorMinor version;
version = "7.5.1";
python = python2.withPackages
(
ps: [
ps.pycairo
ps.pygobject2
ps.pygtk
]
);
in
stdenv.mkDerivation rec {
inherit version;
pname = "fahcontrol";
src = fetchurl {
url = "https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v${majMin}/fahcontrol_${version}-1_all.deb";
hash = "sha256-ydN4I6vmZpI9kD+/TXxgWc+AQqIIlUvABEycWmY1tNg=";
};
nativeBuildInputs = [
dpkg
makeWrapper
];
buildInputs = [ python ];
doBuild = false;
unpackPhase = ''
dpkg-deb -x ${src} ./
'';
installPhase = "cp -ar usr $out";
postFixup = ''
sed -e 's|/usr/bin|$out/bin|g' -i $out/share/applications/FAHControl.desktop
wrapProgram "$out/bin/FAHControl" \
--set PYTHONPATH "$out/lib/python2.7/dist-packages"
'';
meta = {
description = "Folding@home control";
homepage = "https://foldingathome.org/";
license = stdenv.lib.licenses.unfree;
maintainers = [ stdenv.lib.maintainers.zimbatm ];
platforms = [ "x86_64-linux" ];
};
}
@@ -0,0 +1,55 @@
{ stdenv
, autoPatchelfHook
, dpkg
, fetchurl
, freeglut
, gcc-unwrapped
, libGL
, libGLU
, makeWrapper
, zlib
}:
let
majMin = stdenv.lib.versions.majorMinor version;
version = "7.5.1";
in
stdenv.mkDerivation rec {
inherit version;
pname = "fahviewer";
src = fetchurl {
url = "https://download.foldingathome.org/releases/public/release/fahviewer/debian-stable-64bit/v${majMin}/fahviewer_${version}_amd64.deb";
hash = "sha256-yH0zGjX8aNBEJ5lq7wWydcpp2rO+9Ah++q9eJ+ldeyk=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
];
buildInputs = [
freeglut
gcc-unwrapped.lib
libGL
libGLU
zlib
];
unpackPhase = ''
dpkg-deb -x ${src} ./
sed -e 's|/usr/bin|$out/bin|g' -i usr/share/applications/FAHViewer.desktop
'';
installPhase = ''
cp -ar usr $out
'';
meta = {
description = "Folding@home viewer";
homepage = "https://foldingathome.org/";
license = stdenv.lib.licenses.unfree;
maintainers = [ stdenv.lib.maintainers.zimbatm ];
platforms = [ "x86_64-linux" ];
};
}