28b6fb61e6
This is done for the sake of Yosemite, which does not have gcc, and yet this change is also compatible with Linux.
45 lines
1.6 KiB
Nix
45 lines
1.6 KiB
Nix
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
|
|
|
|
{ cabal, c2hs, cudatoolkit, nvidia_x11 }:
|
|
|
|
cabal.mkDerivation (self: {
|
|
pname = "cuda";
|
|
version = "0.6.5.1";
|
|
sha256 = "04j57inw4wmd0l74ryxdgpjcbf3zkklgkqw9bv7yp4n96n40mp0y";
|
|
isLibrary = true;
|
|
isExecutable = true;
|
|
buildTools = [ c2hs ];
|
|
extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.cc ];
|
|
doCheck = false;
|
|
# Perhaps this should be the default in cabal.nix ...
|
|
#
|
|
# The cudatoolkit provides both 64 and 32-bit versions of the
|
|
# library. GHC's linker fails if the wrong version is found first.
|
|
# We solve this by eliminating lib64 from the path on 32-bit
|
|
# platforms and putting lib64 first on 64-bit platforms.
|
|
libPaths = if self.stdenv.is64bit then "lib64 lib" else "lib";
|
|
configurePhase = ''
|
|
for i in Setup.hs Setup.lhs; do
|
|
test -f $i && ghc --make $i
|
|
done
|
|
for p in $extraBuildInputs $propagatedNativeBuildInputs; do
|
|
if [ -d "$p/include" ]; then
|
|
extraLibDirs="$extraLibDirs --extra-include-dir=$p/include"
|
|
fi
|
|
for d in $libPaths; do
|
|
if [ -d "$p/$d" ]; then
|
|
extraLibDirs="$extraLibDirs --extra-lib-dir=$p/$d"
|
|
fi
|
|
done
|
|
done
|
|
./Setup configure --verbose --prefix="$out" $libraryProfiling $extraLibDirs $configureFlags
|
|
'';
|
|
meta = {
|
|
homepage = "https://github.com/tmcdonell/cuda";
|
|
description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
|
|
license = self.stdenv.lib.licenses.bsd3;
|
|
platforms = self.ghc.meta.platforms;
|
|
hydraPlatforms = self.stdenv.lib.platforms.none;
|
|
};
|
|
})
|