Merge branch 'master' into staging
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Temporaririly avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it
|
||||
# Temporarily avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it
|
||||
|
||||
{ stdenv, fetchurl, mono, pkgconfig, dotnetbuildhelpers, autoconf, automake, which }:
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ stdenv
|
||||
, fetchurl, perl
|
||||
, ncurses5, gmp, libiconv
|
||||
, gcc
|
||||
, gcc, llvm_35
|
||||
}:
|
||||
|
||||
# Prebuilt only does native
|
||||
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
|
||||
or (throw "cannot bootstrap GHC on this platform"));
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
buildInputs = stdenv.lib.optionals stdenv.isArm [ llvm_35 ];
|
||||
|
||||
# Cannot patchelf beforehand due to relative RPATHs that anticipate
|
||||
# the final install location/
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
, buildPlatform, hostPlatform, targetPlatform
|
||||
|
||||
# build-tools
|
||||
, bootPkgs, hscolour
|
||||
, bootPkgs, hscolour, llvm_35
|
||||
, coreutils, fetchurl, fetchpatch, perl
|
||||
, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, libxml2, libxslt
|
||||
|
||||
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
./relocation.patch
|
||||
];
|
||||
|
||||
buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
|
||||
buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ] ++ stdenv.lib.optionals stdenv.isArm [ llvm_35 ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
, buildPlatform, hostPlatform, targetPlatform
|
||||
|
||||
# build-tools
|
||||
, bootPkgs, hscolour
|
||||
, bootPkgs, hscolour, llvm_37
|
||||
, coreutils, fetchurl, fetchpatch, patchutils, perl, sphinx
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
|
||||
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
|
||||
|
||||
buildInputs = [ ghc perl hscolour sphinx ];
|
||||
buildInputs = [ ghc perl hscolour sphinx ] ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ llvm_37 ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv
|
||||
, fetchurl, perl, gcc
|
||||
, fetchurl, perl, gcc, llvm_39
|
||||
, ncurses5, gmp, libiconv
|
||||
}:
|
||||
|
||||
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
|
||||
or (throw "cannot bootstrap GHC on this platform"));
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
buildInputs = stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ llvm_39 ];
|
||||
|
||||
# Cannot patchelf beforehand due to relative RPATHs that anticipate
|
||||
# the final install location/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
, selfPkgs, cross ? null
|
||||
|
||||
# build-tools
|
||||
, bootPkgs, alex, happy, hscolour
|
||||
, bootPkgs, alex, happy, hscolour, llvm_39
|
||||
, autoconf, automake, coreutils, fetchurl, perl, python3, sphinx
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
@@ -46,7 +46,7 @@ stdenv.mkDerivation (rec {
|
||||
sed 's|#BuildFlavour = quick-cross|BuildFlavour = perf-cross|' mk/build.mk.sample > mk/build.mk
|
||||
'';
|
||||
|
||||
buildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ];
|
||||
buildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ] ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ llvm_39 ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -58,6 +58,8 @@ stdenv.mkDerivation (rec {
|
||||
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
|
||||
] ++ stdenv.lib.optional stdenv.isDarwin [
|
||||
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
|
||||
] ++ stdenv.lib.optional stdenv.isArm [
|
||||
"LD=${stdenv.cc}/bin/ld.gold"
|
||||
];
|
||||
|
||||
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||
|
||||
40
pkgs/development/compilers/scala/dotty-bare.nix
Normal file
40
pkgs/development/compilers/scala/dotty-bare.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{ stdenv, fetchurl, makeWrapper, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.4.0-RC1";
|
||||
name = "dotty-bare-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz";
|
||||
sha256 = "1d1ab08b85bd6898ce6273fa50818de0d314fc6e5377fb6ee05494827043321b";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jre ] ;
|
||||
buildInputs = [ makeWrapper ] ;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv * $out
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
bin_files=$(find $out/bin -type f ! -name common)
|
||||
for f in $bin_files ; do
|
||||
wrapProgram $f --set JAVA_HOME ${jre}
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Research platform for new language concepts and compiler technologies for Scala.";
|
||||
longDescription = ''
|
||||
Dotty is a platform to try out new language concepts and compiler technologies for Scala.
|
||||
The focus is mainly on simplification. We remove extraneous syntax (e.g. no XML literals),
|
||||
and try to boil down Scala’s types into a smaller set of more fundamental constructs.
|
||||
The theory behind these constructs is researched in DOT, a calculus for dependent object types.
|
||||
'';
|
||||
homepage = http://dotty.epfl.ch/;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = [maintainers.karolchmist];
|
||||
};
|
||||
}
|
||||
@@ -1,46 +1,22 @@
|
||||
{ stdenv, fetchurl, makeWrapper, jre }:
|
||||
{ stdenv, fetchurl, makeWrapper, jre, callPackage }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.4.0-RC1";
|
||||
name = "dotty-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lampepfl/dotty/releases/download/${version}/${name}.tar.gz";
|
||||
sha256 = "1d1ab08b85bd6898ce6273fa50818de0d314fc6e5377fb6ee05494827043321b";
|
||||
let
|
||||
dotty-bare = callPackage ./dotty-bare.nix {
|
||||
inherit stdenv fetchurl makeWrapper jre;
|
||||
};
|
||||
in
|
||||
|
||||
propagatedBuildInputs = [ jre ] ;
|
||||
buildInputs = [ makeWrapper ] ;
|
||||
stdenv.mkDerivation {
|
||||
name = "dotty-${dotty-bare.version}";
|
||||
|
||||
unpackPhase = ":";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv * $out
|
||||
|
||||
mkdir -p $out/shared
|
||||
mv $out/bin/common $out/shared
|
||||
mkdir -p $out/bin
|
||||
ln -s ${dotty-bare}/bin/dotc $out/bin/dotc
|
||||
ln -s ${dotty-bare}/bin/dotd $out/bin/dotd
|
||||
ln -s ${dotty-bare}/bin/dotr $out/bin/dotr
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
for file in $out/bin/* ; do
|
||||
substituteInPlace $file \
|
||||
--replace '$PROG_HOME/bin/common' $out/shared/common
|
||||
|
||||
wrapProgram $file \
|
||||
--set JAVA_HOME ${jre}
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Research platform for new language concepts and compiler technologies for Scala.";
|
||||
longDescription = ''
|
||||
Dotty is a platform to try out new language concepts and compiler technologies for Scala.
|
||||
The focus is mainly on simplification. We remove extraneous syntax (e.g. no XML literals),
|
||||
and try to boil down Scala’s types into a smaller set of more fundamental constructs.
|
||||
The theory behind these constructs is researched in DOT, a calculus for dependent object types.
|
||||
'';
|
||||
homepage = http://dotty.epfl.ch/;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = [maintainers.karolchmist];
|
||||
};
|
||||
inherit (dotty-bare) meta;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user