diff options
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/gambit/bootstrap.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gambit/default.nix | 31 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/5/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/compilers/gerbil/default.nix | 14 | ||||
-rw-r--r-- | pkgs/development/compilers/jhc/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/kotlin/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/compilers/oraclejdk/jdk9-linux.nix | 175 | ||||
-rw-r--r-- | pkgs/development/compilers/ponyc/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/compilers/swift/default.nix | 2 |
9 files changed, 207 insertions, 29 deletions
diff --git a/pkgs/development/compilers/gambit/bootstrap.nix b/pkgs/development/compilers/gambit/bootstrap.nix index 65fb20aa2603..e645ecb41bd2 100644 --- a/pkgs/development/compilers/gambit/bootstrap.nix +++ b/pkgs/development/compilers/gambit/bootstrap.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ autoconf ]; configurePhase = '' - ./configure --prefix=$out --enable-single-host + ./configure --prefix=$out ''; buildPhase = '' diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix index 58b08ebd4fb7..79f57c42c50d 100644 --- a/pkgs/development/compilers/gambit/default.nix +++ b/pkgs/development/compilers/gambit/default.nix @@ -1,19 +1,16 @@ { stdenv, fetchurl, fetchgit, git, openssl, autoconf, pkgs }: +# TODO: distinct packages for gambit-release and gambit-devel + stdenv.mkDerivation rec { name = "gambit-${version}"; - version = "4.8.8-f3ffeb6"; + version = "4.8.8-300db59"; bootstrap = import ./bootstrap.nix ( pkgs ); -# devver = "4_8_8"; -# src = fetchurl { -# url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.8/source/gambit-v${version}-devel.tgz"; -# sha256 = "0j3ka76cfb007rlcc3nv5p1s6vh31cwp87hwwabawf16vs1jb7bl"; -# }; src = fetchgit { url = "https://github.com/feeley/gambit.git"; - rev = "f3ffeb695aeea80c18c1b9ef276b57898c780dca"; - sha256 = "1lqixsrgk9z2gj6z1nkys0pfd3m5zjxrp3gvqn2wpr9h7hjb8x06"; + rev = "300db59e1d3b66bcd597f617849df0274d2a4472"; + sha256 = "1mhy49lasakgvdaswkxasdssik11lx3hfx4h1gs2b6881488ssdp"; }; buildInputs = [ openssl git autoconf bootstrap ]; @@ -28,6 +25,8 @@ stdenv.mkDerivation rec { --enable-absolute-shared-libs # Yes, NixOS will want an absolute path, and fix it. --enable-poll --enable-openssl + --enable-default-runtime-options="f8,-8,t8" # Default to UTF-8 for source and all I/O + #--enable-debug # Nope: enables plenty of good stuff, but also the costly console.log #--enable-multiple-versions # Nope, NixOS already does version multiplexing #--enable-guide @@ -49,15 +48,15 @@ stdenv.mkDerivation rec { buildPhase = '' # Make bootstrap compiler, from release bootstrap - mkdir -p boot/wip-compiler && - cp -rp ${bootstrap}/. boot/wip-compiler/. && + mkdir -p boot && + cp -rp ${bootstrap}/. boot/. && chmod -R u+w boot && - cd boot/wip-compiler && \ - cp ../../gsc/makefile.in ../../gsc/*.scm gsc && \ - (cd gsc && make bootclean ) && - make bootstrap && - cd ../.. && - cp boot/wip-compiler/gsc/gsc gsc-boot && + cd boot && + cp ../gsc/makefile.in ../gsc/*.scm gsc && # */ + ./configure && + for i in lib gsi gsc ; do (cd $i ; make ) ; done && + cd .. && + cp boot/gsc/gsc gsc-boot && # Now use the bootstrap compiler to build the real thing! make -j2 from-scratch diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index c3e14d9328e4..d1c76b6097ea 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -221,8 +221,7 @@ stdenv.mkDerivation ({ inherit sha256; }; - # FIXME stackprotector needs gcc 4.9 in bootstrap tools - hardeningDisable = [ "stackprotector" "format" ]; + hardeningDisable = [ "format" ]; inherit patches; diff --git a/pkgs/development/compilers/gerbil/default.nix b/pkgs/development/compilers/gerbil/default.nix index 22047b663d04..59cafee3b3a9 100644 --- a/pkgs/development/compilers/gerbil/default.nix +++ b/pkgs/development/compilers/gerbil/default.nix @@ -2,23 +2,27 @@ coreutils, rsync, bash, openssl, zlib, sqlite, libxml2, libyaml, libmysql, lmdb, leveldb }: +# TODO: distinct packages for gerbil-release and gerbil-devel + stdenv.mkDerivation rec { name = "gerbil-${version}"; - version = "0.12-DEV"; + version = "0.12-DEV-777-gd855915"; src = fetchgit { url = "https://github.com/vyzo/gerbil.git"; - rev = "3657b6e940ea248e0b312f276590e38ff68997e7"; - sha256 = "11ys7082ghkm4yikz4qxmv3jpxcr42jfi0jhjw1mpzbqdg6004w2"; + rev = "9db6187dc996eec4087f83b86339e7b17bb69bad"; + sha256 = "1hqmsy77d62dvil3az4vdr0rmwvxhinjl1dbcxzamz2c2kcjv1jg"; }; buildInputs = [ - gambit openssl + gambit coreutils rsync bash - zlib openssl zlib sqlite libxml2 libyaml libmysql lmdb leveldb + openssl zlib sqlite libxml2 libyaml libmysql lmdb leveldb ]; postPatch = '' + echo '(define (gerbil-version-string) "v${version}")' > src/gerbil/runtime/gx-version.scm + patchShebangs . find . -type f -executable -print0 | while IFS= read -r -d ''$'\0' f; do diff --git a/pkgs/development/compilers/jhc/default.nix b/pkgs/development/compilers/jhc/default.nix index cfeff329fb56..6b8c6599062e 100644 --- a/pkgs/development/compilers/jhc/default.nix +++ b/pkgs/development/compilers/jhc/default.nix @@ -27,5 +27,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd3; platforms = ["x86_64-linux"]; # 32 bit builds are broken maintainers = with stdenv.lib.maintainers; [ aforemny thoughtpolice ]; + broken = true; # https://hydra.nixos.org/build/61700723 }; } diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix index 65c2125dfbca..bc24cdfb87e9 100644 --- a/pkgs/development/compilers/kotlin/default.nix +++ b/pkgs/development/compilers/kotlin/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, makeWrapper, jre, unzip }: stdenv.mkDerivation rec { - version = "1.1.4-2"; + version = "1.1.50"; name = "kotlin-${version}"; src = fetchurl { url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; - sha256 = "09sikwk5xxn4b30icbq28mjs4lm9xbj0bv5yjx75r165iz65g2cv"; + sha256 = "01y7m0r5wa2apd05c38h77060javgbj8072vd08lz4qaw6c6445m"; }; propagatedBuildInputs = [ jre ] ; diff --git a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix new file mode 100644 index 000000000000..7f0a5750c0e8 --- /dev/null +++ b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix @@ -0,0 +1,175 @@ +{ swingSupport ? true +, stdenv +, requireFile +, makeWrapper +, unzip +, file +, xorg ? null +, packageType ? "JDK" # JDK, JRE, or ServerJRE +, pluginSupport ? true +, installjce ? false +, glib +, libxml2 +, ffmpeg_2 +, libxslt +, mesa_noglu +, freetype +, fontconfig +, gtk2 +, pango +, cairo +, alsaLib +, atk +, gdk_pixbuf +, zlib +, elfutils +, setJavaClassPath +}: + +assert stdenv.system == "x86_64-linux"; +assert swingSupport -> xorg != null; + +let + version = "9"; + + downloadUrlBase = http://www.oracle.com/technetwork/java/javase/downloads; + + jce = + if installjce then + requireFile { + name = "jce_policy-8.zip"; + url = "${downloadUrlBase}/jce8-download-2133166.html"; + sha256 = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; + } + else + ""; + + rSubPaths = [ + "lib/jli" + "lib/server" + "lib" + ]; + +in + +let result = stdenv.mkDerivation rec { + name = if packageType == "JDK" then "oraclejdk-${version}" + else if packageType == "JRE" then "oraclejre-${version}" + else if packageType == "ServerJRE" then "oracleserverjre-${version}" + else abort "unknown package Type ${packageType}"; + + src = + if packageType == "JDK" then + requireFile { + name = "jdk-${version}_linux-x64_bin.tar.gz"; + url = "${downloadUrlBase}/jdk9-downloads-3848520.html"; + sha256 = "0vbgy7h9h089l3xh6sl57v57g28x1djyiigqs4z6gh7wahx7hv8w"; + } + else if packageType == "JRE" then + requireFile { + name = "jre-${version}_linux-x64_bin.tar.gz"; + url = "${downloadUrlBase}/jre9-downloads-3848532.html"; + sha256 = "18i4jjb6sby67xg5ql6dkk3ja1nackbb23g1bnp522450nclpxdb"; + } + else if packageType == "ServerJRE" then + requireFile { + name = "serverjre-${version}_linux-x64_bin.tar.gz"; + url = "${downloadUrlBase}/server-jre9-downloads-3848530.html"; + sha256 = "01bxi7lx13lhlpbifw93b6r7a9bayiykw8kzwlyyqi8pz3pw8c5h"; + } + else abort "unknown package Type ${packageType}"; + + nativeBuildInputs = [ file ] + ++ stdenv.lib.optional installjce unzip; + + buildInputs = [ makeWrapper ]; + + # See: https://github.com/NixOS/patchelf/issues/10 + dontStrip = 1; + + installPhase = '' + cd .. + + # Set PaX markings + exes=$(file $sourceRoot/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') + for file in $exes; do + paxmark m "$file" + # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well. + ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''} + done + + mv $sourceRoot $out + + shopt -s extglob + for file in $out/* + do + if test -f $file ; then + rm $file + fi + done + + if test -n "${jce}"; then + unzip ${jce} + cp -v UnlimitedJCEPolicy*/*.jar $out/lib/security + fi + + if test -z "$pluginSupport"; then + rm -f $out/bin/javaws + fi + + mkdir $out/lib/plugins + ln -s $out/lib/libnpjp2.so $out/lib/plugins + + # for backward compatibility + ln -s $out $out/jre + + mkdir -p $out/nix-support + printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + + # Set JAVA_HOME automatically. + cat <<EOF >> $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi + EOF + ''; + + postFixup = '' + rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$out/${a}") rSubPaths)}" + + # set all the dynamic linkers + find $out -type f -perm -0100 \ + -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$rpath" {} \; + + find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; + + # Oracle Java Mission Control needs to know where libgtk-x11 and related is + if test -x $out/bin/jmc; then + wrapProgram "$out/bin/jmc" \ + --suffix-each LD_LIBRARY_PATH ':' "$rpath" + fi + ''; + + /** + * libXt is only needed on amd64 + */ + libraries = + [stdenv.cc.libc glib libxml2 ffmpeg_2 libxslt mesa_noglu xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk zlib elfutils] ++ + (if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc] else []); + + rpath = stdenv.lib.strings.makeLibraryPath libraries; + + passthru.mozillaPlugin = "/lib/plugins"; + + passthru.jre = result; # FIXME: use multiple outputs or return actual JRE package + + passthru.home = result; + + # for backward compatibility + passthru.architecture = ""; + + meta = with stdenv.lib; { + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; # some inherit jre.meta.platforms + }; + +}; in result diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix index 69a8243b6662..19ebd522a4f7 100644 --- a/pkgs/development/compilers/ponyc/default.nix +++ b/pkgs/development/compilers/ponyc/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation ( rec { name = "ponyc-${version}"; - version = "0.19.1"; + version = "0.19.2"; src = fetchFromGitHub { owner = "ponylang"; repo = "ponyc"; rev = version; - sha256 = "1zd051syn0n6ign4nnxb40xj2s5vqp0s349nkjqv7051xzvlzf1p"; + sha256 = "04vbhkkgpjh19pv2bq4b60lgnk5ck8axqs6fgw4l44j3lvxwlwrh"; }; buildInputs = [ llvm makeWrapper which ]; diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix index 96b22b630f4f..6cc9f372b978 100644 --- a/pkgs/development/compilers/swift/default.nix +++ b/pkgs/development/compilers/swift/default.nix @@ -259,7 +259,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "The Swift Programming Language"; homepage = https://github.com/apple/swift; - maintainers = with maintainers; [ jb55 dtzWill ]; + maintainers = with maintainers; [ dtzWill ]; license = licenses.asl20; # Swift doesn't support 32bit Linux, unknown on other platforms. platforms = [ "x86_64-linux" ]; |