2015-06-24 13:56:24 +02:00
|
|
|
{ stdenv
|
|
|
|
, fetchFromGitHub
|
|
|
|
, which
|
|
|
|
, cmake
|
|
|
|
, clang_35
|
|
|
|
, llvmPackages_36
|
|
|
|
, libunwind
|
|
|
|
, gettext
|
|
|
|
, openssl
|
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "coreclr-${version}";
|
|
|
|
version = "git-" + (builtins.substring 0 10 rev);
|
|
|
|
rev = "8c70800b5e8dc5535c379dec4a6fb32f7ab5e878";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "dotnet";
|
|
|
|
repo = "coreclr";
|
|
|
|
inherit rev;
|
|
|
|
sha256 = "1galskbnr9kdjjxpx5qywh49400swchhq5f54i16kxyr9k4mvq1f";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
which
|
|
|
|
cmake
|
|
|
|
clang_35
|
|
|
|
llvmPackages_36.llvm
|
|
|
|
llvmPackages_36.lldb
|
|
|
|
libunwind
|
|
|
|
gettext
|
|
|
|
openssl
|
|
|
|
];
|
|
|
|
|
|
|
|
configurePhase = ''
|
|
|
|
# Prevent clang-3.5 (rather than just clang) from being selected as the compiler as that's
|
|
|
|
# not wrapped
|
|
|
|
substituteInPlace src/pal/tools/gen-buildsys-clang.sh --replace "which \"clang-" "which \"clang-DoNotFindThisOne"
|
|
|
|
|
|
|
|
# Prevent the -nostdinc++ flag to be passed to clang, which causes a compilation error
|
|
|
|
substituteInPlace src/CMakeLists.txt --replace "if(NOT CLR_CMAKE_PLATFORM_DARWIN)" "if(FALSE)"
|
|
|
|
|
|
|
|
patchShebangs build.sh
|
|
|
|
patchShebangs src/pal/tools/gen-buildsys-clang.sh
|
|
|
|
'';
|
|
|
|
|
|
|
|
buildPhase = "./build.sh";
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
pushd bin/Product/Linux.x64.Debug/
|
|
|
|
mkdir -v -p $out/bin
|
|
|
|
cp -v coreconsole corerun crossgen $out/bin
|
|
|
|
cp -rv lib $out
|
|
|
|
cp -v *.so $out/lib
|
|
|
|
cp -rv inc $out/include
|
|
|
|
cp -rv gcinfo $out/include
|
|
|
|
popd
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
homepage = http://dotnet.github.io/core/;
|
|
|
|
description = ".NET is a general purpose development platform.";
|
2015-07-22 06:26:08 +02:00
|
|
|
platforms = [ "x86_64-linux" ];
|
2015-06-24 13:56:24 +02:00
|
|
|
maintainers = with stdenv.lib.maintainers; [ obadz ];
|
|
|
|
license = stdenv.lib.licenses.mit;
|
|
|
|
};
|
|
|
|
}
|