python.pkgs.libgpuarray: -9998.0 -> 0.6.9
This commit is contained in:
81
pkgs/development/python-modules/libgpuarray/default.nix
Normal file
81
pkgs/development/python-modules/libgpuarray/default.nix
Normal file
@@ -0,0 +1,81 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, cython
|
||||
, numpy
|
||||
, six
|
||||
, nose
|
||||
, Mako
|
||||
, python
|
||||
, cudaSupport ? false, cudatoolkit
|
||||
, openclSupport ? true, ocl-icd, clblas
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "libgpuarray-${version}";
|
||||
version = "0.6.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Theano";
|
||||
repo = "libgpuarray";
|
||||
rev = "v${version}";
|
||||
sha256 = "06z47ls42a37gbv0x7f3l1qvils7q0hvy02s95l530klgibp19s0";
|
||||
};
|
||||
|
||||
# requires a GPU
|
||||
doCheck = false;
|
||||
|
||||
configurePhase = "cmakeConfigurePhase";
|
||||
|
||||
libraryPath = lib.makeLibraryPath (
|
||||
[]
|
||||
++ lib.optionals cudaSupport [ cudatoolkit.lib cudatoolkit.out ]
|
||||
++ lib.optionals openclSupport [ ocl-icd clblas ]
|
||||
);
|
||||
|
||||
preBuild = ''
|
||||
make -j$NIX_BUILD_CORES
|
||||
make install
|
||||
|
||||
ls $out/lib
|
||||
export NIX_CFLAGS_COMPILE="-L $out/lib -I $out/include $NIX_CFLAGS_COMPILE"
|
||||
|
||||
cd ..
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
rm $out/lib/libgpuarray-static.a
|
||||
|
||||
function fixRunPath {
|
||||
p=$(patchelf --print-rpath $1)
|
||||
patchelf --set-rpath "$p:$libraryPath" $1
|
||||
}
|
||||
|
||||
fixRunPath $out/lib/libgpuarray.so
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
six
|
||||
Mako
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [
|
||||
cmake
|
||||
cython
|
||||
nose
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/Theano/libgpuarray";
|
||||
description = "Library to manipulate tensors on GPU.";
|
||||
license = licenses.free;
|
||||
maintainers = with maintainers; [ artuuge ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user