computecpp: init at 1.2.0
Signed-off-by: David Wood <david.wood@codeplay.com>
This commit is contained in:
parent
a71a2ee654
commit
853372bfaf
2 changed files with 74 additions and 0 deletions
52
pkgs/development/compilers/computecpp/default.nix
Normal file
52
pkgs/development/compilers/computecpp/default.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ stdenv
|
||||||
|
, fetchzip
|
||||||
|
, pkg-config
|
||||||
|
, autoPatchelfHook
|
||||||
|
, installShellFiles
|
||||||
|
, ncurses5
|
||||||
|
, ocl-icd
|
||||||
|
, zlib
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "computecpp";
|
||||||
|
version = "1.2.0";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/ubuntu-16.04-64bit.tar.gz";
|
||||||
|
sha256 = "191kwvzxfg1sbaq6aw6f84chi7bhsibb2a63zsyz3gz8m0c0syr5";
|
||||||
|
stripRoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
|
buildInputs = [ stdenv.cc.cc.lib ncurses5 ocl-icd zlib ];
|
||||||
|
nativeBuildInputs = [ autoPatchelfHook pkg-config installShellFiles ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
find ./lib -type f -exec install -D -m 0755 {} -t $out/lib \;
|
||||||
|
find ./bin -type l -exec install -D -m 0755 {} -t $out/bin \;
|
||||||
|
find ./bin -type f -exec install -D -m 0755 {} -t $out/bin \;
|
||||||
|
find ./doc -type f -exec install -D -m 0644 {} -t $out/doc \;
|
||||||
|
find ./include -type f -exec install -D -m 0644 {} -t $out/include \;
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
isClang = true;
|
||||||
|
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
|
||||||
|
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description =
|
||||||
|
"Accelerate Complex C++ Applications on Heterogeneous Compute Systems using Open Standards";
|
||||||
|
homepage = https://www.codeplay.com/products/computesuite/computecpp;
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = with maintainers; [ davidtwco ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -7742,6 +7742,28 @@ in
|
||||||
|
|
||||||
compcert = callPackage ../development/compilers/compcert { };
|
compcert = callPackage ../development/compilers/compcert { };
|
||||||
|
|
||||||
|
computecpp-unwrapped = callPackage ../development/compilers/computecpp {};
|
||||||
|
computecpp = wrapCCWith rec {
|
||||||
|
cc = computecpp-unwrapped;
|
||||||
|
extraPackages = [
|
||||||
|
libstdcxxHook
|
||||||
|
llvmPackages.compiler-rt
|
||||||
|
];
|
||||||
|
extraBuildCommands = ''
|
||||||
|
wrap compute $wrapper $ccPath/compute
|
||||||
|
wrap compute++ $wrapper $ccPath/compute++
|
||||||
|
export named_cc=compute
|
||||||
|
export named_cxx=compute++
|
||||||
|
|
||||||
|
rsrc="$out/resource-root"
|
||||||
|
mkdir -p "$rsrc/lib"
|
||||||
|
ln -s "${cc}/lib" "$rsrc/include"
|
||||||
|
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
|
||||||
|
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && cc ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
|
||||||
|
echo "--gcc-toolchain=${cc.gcc}" >> $out/nix-support/cc-cflags
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
cryptol = haskell.lib.justStaticExecutables haskellPackages.cryptol;
|
cryptol = haskell.lib.justStaticExecutables haskellPackages.cryptol;
|
||||||
|
|
||||||
inherit (callPackages ../development/compilers/crystal {
|
inherit (callPackages ../development/compilers/crystal {
|
||||||
|
|
Loading…
Reference in a new issue