Skip to content
43 changes: 43 additions & 0 deletions pkgs/applications/misc/cgminer/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{ fetchgit, stdenv, pkgconfig, libtool, autoconf, automake,
curl, ncurses, amdappsdk, amdadlsdk, xorg }:

stdenv.mkDerivation rec {
version = "2.11.4";
name = "cgminer-${version}";

src = fetchgit {
url = "https://github.com/ckolivas/cgminer.git";
rev = "96c8ff5f10f2d8f0cf4d1bd889e8eeac2e4aa715";
sha256 = "1vf9agy4vw50cap03qig2y65hdrsdy7cknkzyagv89w5xb230r9a";
};

buildInputs = [ autoconf automake pkgconfig libtool curl ncurses amdappsdk amdadlsdk xorg.libX11 xorg.libXext xorg.libXinerama ];
configureScript = "./autogen.sh";
configureFlags = "--enable-scrypt";
NIX_LDFLAGS = "-lgcc_s -lX11 -lXext -lXinerama";

preConfigure = ''
ln -s ${amdadlsdk}/include/* ADL_SDK/
'';

postBuild = ''
gcc api-example.c -I compat/jansson -o cgminer-api
'';

postInstall = ''
cp cgminer-api $out/bin/
chmod 444 $out/bin/*.cl
'';

meta = {
description = "CPU/GPU miner in c for bitcoin";
longDescription= ''
This is a multi-threaded multi-pool GPU, FPGA and ASIC miner with ATI GPU
monitoring, (over)clocking and fanspeed support for bitcoin and derivative
coins. Do not use on multiple block chains at the same time!
'';
homepage = "https://github.com/ckolivas/cgminer";
license = stdenv.lib.licenses.gpl3;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
49 changes: 49 additions & 0 deletions pkgs/applications/misc/reaper/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{ stdenv, fetchurl, makeWrapper, cmake, unzip, curl, amdappsdk }:

stdenv.mkDerivation rec {
version = "v13beta4";
name = "reaper-${version}";

src = fetchurl {
url = "http://zerosignalgame.com/reaper${version}_src.zip";
sha256 = "1l42n3y9wb4manay35k7p3fn3ybiid3dhf0q2wdq7fxp63498ypk";
};

buildInputs = [ stdenv makeWrapper cmake unzip curl amdappsdk ];
#configureScript = "./autogen.sh";
#configureFlags = "--enable-scrypt";
NIX_LDFLAGS = "-lgcc_s";

sourceRoot = ".";

#preConfigure = ''
# ln -s ${amdadlsdk}/include/* ADL_SDK/
#'';

#postBuild = ''
# gcc api-example.c -I compat/jansson -o cgminer-api
#'';

#postInstall = ''
# cp cgminer-api $out/bin/
# chmod 444 $out/bin/*.cl
#'';

installPhase = ''
mkdir -p $out/bin
cp reaper $out/bin
wrapProgram "$out/bin/reaper" --prefix PATH ":" "${stdenv.gcc}/bin"
'';

meta = {
description = "CPU/GPU miner in c for bitcoin";
longDescription= ''
This is a multi-threaded multi-pool GPU, FPGA and ASIC miner with ATI GPU
monitoring, (over)clocking and fanspeed support for bitcoin and derivative
coins. Do not use on multiple block chains at the same time!
'';
homepage = "https://github.com/ckolivas/cgminer";
license = stdenv.lib.licenses.gpl3;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
43 changes: 43 additions & 0 deletions pkgs/development/misc/amdadl-sdk/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{ fetchurl, stdenv, unzip }:

stdenv.mkDerivation rec {
version = "4.0";
name = "amdadl-sdk-${version}";

src = fetchurl {
url = "http://download2-developer.amd.com/amd/GPU/zip/ADL_SDK_${version}.zip";
sha256 = "4265ee2f265b69cc39b61e10f79741c1d799f4edb71dce14a7d88509fbec0efa";
};

buildInputs = [ unzip ];

doCheck = false;

unpackPhase = ''
unzip $src
'';

buildPhase = ''
#Build adlutil
cd adlutil
gcc main.c -o adlutil -DLINUX -ldl -I ../include/
cd ..
'';

installPhase = ''
#Install SDK
mkdir -p $out/bin
cp -r include "$out/"
cp "adlutil/adlutil" "$out/bin/adlutil"

#Fix modes
chmod -R 755 "$out/bin/"
'';

meta = {
description = "API to access display driver functionality for ATI graphics cards";
homepage = http://developer.amd.com/tools/graphics-development/display-library-adl-sdk/;
license = stdenv.lib.licenses.amdadl;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
10 changes: 10 additions & 0 deletions pkgs/development/misc/amdapp-sdk/01-remove-aparapi-samples.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
--- samples/Makefile 2012-11-29 05:58:48.000000000 +0100
+++ samples/Makefile 2012-12-30 20:13:30.926576277 +0100
@@ -3,7 +3,6 @@
include $(DEPTH)/make/openclsdkdefs.mk

SUBDIRS = opencl
-SUBDIRS += aparapi
ifneq ($(OS), lnx)
SUBDIRS += C++Amp
ifeq ($(BITS), 64)
77 changes: 77 additions & 0 deletions pkgs/development/misc/amdapp-sdk/2.5.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@

{ stdenv, fetchurl, makeWrapper, perl, mesa, freeglut, ati_drivers_x11, xorg }:

stdenv.mkDerivation rec {
version = "2.5";
name = "amdapp-sdk-${version}";

src = if stdenv.system == "x86_64-linux" then fetchurl {
url = "http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v${version}-lnx64.tgz";
sha256 = "0xa8rg1k8nhmzcm8ad023chcz794x4izsb2613zn9vgwq3qzcj9r";
} else if stdenv.system == "i686-linux" then fetchurl {
url = "http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v${version}-lnx32.tgz";
sha256 = "99610737f21b2f035e0eac4c9e776446cc4378a614c7667de03a82904ab2d35a";
} else
throw "System not supported";

bits = if stdenv.system == "x86_64-linux" then "64"
else "32";

arch = if stdenv.system == "x86_64-linux" then "x86_64"
else "x86";

# TODO: Add optional aparapi support
# patches = [ ./01-remove-aparapi-samples.patch ];

patchFlags = "-p0";
buildInputs = [ makeWrapper perl mesa freeglut ati_drivers_x11 xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi ];
propagatedBuildInputs = [ stdenv.gcc ];
NIX_LDFLAGS = "-lGL -lGLU -lX11 -lXext -lXmu -lXi";
doCheck = false;

unpackPhase = ''
tar xvzf $src
tar xf AMD-APP-SDK-v${version}-RC2-lnx${bits}.tgz
cd AMD-APP-SDK-v${version}-RC2-lnx${bits}
'';

installPhase = ''
#Install SDK
mkdir -p $out
cp -r {docs,include} "$out/"
mkdir -p "$out/"{bin,lib,samples/opencl/bin}
cp -r "./bin/${arch}/clinfo" "$out/bin/clinfo"
cp -r "./lib/${arch}/"* "$out/lib/"
find ./samples/opencl/ -mindepth 1 -maxdepth 1 -type d -not -name bin -exec cp -r {} "$out/samples/opencl" \;
cp -r "./samples/opencl/bin/${arch}/"* "$out/samples/opencl/bin"

#Register ICD
mkdir -p "$out/etc/OpenCL/vendors"
echo "$out/lib/libamdocl${bits}.so" > "$out/etc/OpenCL/vendors/amd.icd"
# The OpenCL ICD specifications: http://www.khronos.org/registry/cl/extensions/khr/cl_khr_icd.txt

#Install includes
mkdir -p $out/usr/include/CAL

#Create wrappers
patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/clinfo
patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib $out/bin/clinfo
for f in $(find "$out/samples/opencl/bin/" -type f -not -name "*.*");
do
wrapProgram "$f" --prefix PATH ":" "${stdenv.gcc}/bin"
done

#Fix modes
find "$out/" -type f -exec chmod 644 {} \;
chmod -R 755 "$out/bin/"
find "$out/samples/opencl/bin/" -type f -name ".*" -exec chmod 755 {} \;
find "$out/samples/opencl/bin/" -type f -not -name "*.*" -exec chmod 755 {} \;
'';

meta = {
description = "AMD Accelerated Parallel Processing (APP) SDK, with OpenCL 1.2 support";
homepage = http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/;
license = stdenv.lib.licenses.amd;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
78 changes: 78 additions & 0 deletions pkgs/development/misc/amdapp-sdk/2.6.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@

{ stdenv, fetchurl, makeWrapper, perl, mesa, xorg }:

stdenv.mkDerivation rec {
version = "2.6";
name = "amdapp-sdk-${version}";

src = if stdenv.system == "x86_64-linux" then fetchurl {
url = "http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v${version}-lnx64.tgz";
sha256 = "1fj55358s4blxq9bp77k07gqi22n5nfkzwjkbdc62gmy1zxxlhih";
} else if stdenv.system == "i686-linux" then fetchurl {
url = "http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v${version}-lnx32.tgz";
sha256 = "99610737f21b2f035e0eac4c9e776446cc4378a614c7667de03a82904ab2d356";
} else
throw "System not supported";

bits = if stdenv.system == "x86_64-linux" then "64"
else "32";

arch = if stdenv.system == "x86_64-linux" then "x86_64"
else "x86";

# TODO: Add optional aparapi support
# patches = [ ./01-remove-aparapi-samples.patch ];

patchFlags = "-p0";
buildInputs = [ makeWrapper perl mesa xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
propagatedBuildInputs = [ stdenv.gcc ];
NIX_LDFLAGS = "-lX11 -lXext -lXmu -lXi -lXxf86vm";
doCheck = false;

unpackPhase = ''
tar xvzf $src
tar xf AMD-APP-SDK-v${version}-RC3-lnx${bits}.tgz
cd AMD-APP-SDK-v${version}-RC3-lnx${bits}
'';

installPhase = ''
#Install SDK
mkdir -p $out
cp -r {docs,include} "$out/"
mkdir -p "$out/"{bin,lib,samples/opencl/bin}
cp -r "./bin/${arch}/clinfo" "$out/bin/clinfo"
cp -r "./lib/${arch}/"* "$out/lib/"
find ./samples/opencl/ -mindepth 1 -maxdepth 1 -type d -not -name bin -exec cp -r {} "$out/samples/opencl" \;
cp -r "./samples/opencl/bin/${arch}/"* "$out/samples/opencl/bin"

#Register ICD
mkdir -p "$out/etc/OpenCL/vendors"
echo "$out/lib/libamdocl${bits}.so" > "$out/etc/OpenCL/vendors/amd.icd"
# The OpenCL ICD specifications: http://www.khronos.org/registry/cl/extensions/khr/cl_khr_icd.txt

#Install includes
mkdir -p "$out/usr/include/"{CAL,OpenVideo}
install -m644 './include/OpenVideo/'{OVDecode.h,OVDecodeTypes.h} "$out/usr/include/OpenVideo/"

#Create wrappers
patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/clinfo
patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib $out/bin/clinfo
for f in $(find "$out/samples/opencl/bin/" -type f -not -name "*.*");
do
wrapProgram "$f" --prefix PATH ":" "${stdenv.gcc}/bin"
done

#Fix modes
find "$out/" -type f -exec chmod 644 {} \;
chmod -R 755 "$out/bin/"
find "$out/samples/opencl/bin/" -type f -name ".*" -exec chmod 755 {} \;
find "$out/samples/opencl/bin/" -type f -not -name "*.*" -exec chmod 755 {} \;
'';

meta = {
description = "AMD Accelerated Parallel Processing (APP) SDK, with OpenCL 1.2 support";
homepage = http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/;
license = stdenv.lib.licenses.amd;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
78 changes: 78 additions & 0 deletions pkgs/development/misc/amdapp-sdk/2.7.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@

{ stdenv, fetchurl, makeWrapper, perl, mesa, xorg }:

stdenv.mkDerivation rec {
version = "2.7";
name = "amdapp-sdk-${version}";

src = if stdenv.system == "x86_64-linux" then fetchurl {
url = "http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v${version}-lnx64.tgz";
sha256 = "08bi43bgnsxb47vbirh09qy02w7zxymqlqr8iikk9aavfxjlmch1";
} else if stdenv.system == "i686-linux" then fetchurl {
url = "http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v${version}-lnx32.tgz";
sha256 = "99610737f21b2f035e0eac4c9e776446cc4378a614c7667de03a82904ab2d356";
} else
throw "System not supported";

bits = if stdenv.system == "x86_64-linux" then "64"
else "32";

arch = if stdenv.system == "x86_64-linux" then "x86_64"
else "x86";

# TODO: Add optional aparapi support
#patches = [ ./01-remove-aparapi-samples.patch ];

patchFlags = "-p0";
buildInputs = [ makeWrapper perl mesa xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
propagatedBuildInputs = [ stdenv.gcc ];
NIX_LDFLAGS = "-lX11 -lXext -lXmu -lXi -lXxf86vm";
doCheck = false;

unpackPhase = ''
tar xvzf $src
tar xf AMD-APP-SDK-v${version}-RC-lnx${bits}.tgz
cd AMD-APP-SDK-v${version}-RC-lnx${bits}
'';

installPhase = ''
#Install SDK
mkdir -p $out
cp -r {docs,include} "$out/"
mkdir -p "$out/"{bin,lib,samples/opencl/bin}
cp -r "./bin/${arch}/clinfo" "$out/bin/clinfo"
cp -r "./lib/${arch}/"* "$out/lib/"
find ./samples/opencl/ -mindepth 1 -maxdepth 1 -type d -not -name bin -exec cp -r {} "$out/samples/opencl" \;
cp -r "./samples/opencl/bin/${arch}/"* "$out/samples/opencl/bin"

#Register ICD
mkdir -p "$out/etc/OpenCL/vendors"
echo "$out/lib/libamdocl${bits}.so" > "$out/etc/OpenCL/vendors/amd.icd"
# The OpenCL ICD specifications: http://www.khronos.org/registry/cl/extensions/khr/cl_khr_icd.txt

#Install includes
mkdir -p "$out/usr/include/"{CAL,OpenVideo}
install -m644 './include/OpenVideo/'{OVDecode.h,OVDecodeTypes.h} "$out/usr/include/OpenVideo/"

#Create wrappers
patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/clinfo
patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib $out/bin/clinfo
for f in $(find "$out/samples/opencl/bin/" -type f -not -name "*.*");
do
wrapProgram "$f" --prefix PATH ":" "${stdenv.gcc}/bin"
done

#Fix modes
find "$out/" -type f -exec chmod 644 {} \;
chmod -R 755 "$out/bin/"
find "$out/samples/opencl/bin/" -type f -name ".*" -exec chmod 755 {} \;
find "$out/samples/opencl/bin/" -type f -not -name "*.*" -exec chmod 755 {} \;
'';

meta = {
description = "AMD Accelerated Parallel Processing (APP) SDK, with OpenCL 1.2 support";
homepage = http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/;
license = stdenv.lib.licenses.amd;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
Loading