diff options
author | Vladimír Čunát <v@cunat.cz> | 2020-04-18 07:42:26 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2020-04-18 07:42:26 +0200 |
commit | d96487b9cadb27aba64cb05c2e4962fb3c9e1890 (patch) | |
tree | 901e2d0a53fd23b7579ca3dddfbd8b533c46d39c /pkgs/development/compilers | |
parent | 312e9037f49bf0b163d071dc68fe76c2b5d77319 (diff) | |
parent | eb4acb6ca9c4482e7a65d4b1aaf4ec7c48ea6641 (diff) | |
download | nixlib-d96487b9cadb27aba64cb05c2e4962fb3c9e1890.tar nixlib-d96487b9cadb27aba64cb05c2e4962fb3c9e1890.tar.gz nixlib-d96487b9cadb27aba64cb05c2e4962fb3c9e1890.tar.bz2 nixlib-d96487b9cadb27aba64cb05c2e4962fb3c9e1890.tar.lz nixlib-d96487b9cadb27aba64cb05c2e4962fb3c9e1890.tar.xz nixlib-d96487b9cadb27aba64cb05c2e4962fb3c9e1890.tar.zst nixlib-d96487b9cadb27aba64cb05c2e4962fb3c9e1890.zip |
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1582510
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/crystal/default.nix | 66 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/head.nix | 48 | ||||
-rw-r--r-- | pkgs/development/compilers/halide/default.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/julia/1.3.nix | 24 | ||||
-rw-r--r-- | pkgs/development/compilers/julia/shared.nix | 20 | ||||
-rw-r--r-- | pkgs/development/compilers/zig/default.nix | 34 | ||||
-rw-r--r-- | pkgs/development/compilers/zig/llvm10_polly.patch | 10 |
7 files changed, 100 insertions, 107 deletions
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index 9491a545a784..db22b668cf5e 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -178,33 +178,6 @@ let })); in rec { - binaryCrystal_0_27 = genericBinary { - version = "0.27.2"; - sha256s = { - x86_64-linux = "05l5x7kx2acgnv42fj3rr17z73ix06zvi05h7d7vf3kw0izxrasm"; - i686-linux = "1iwizkvn6pglc0azkyfhlmk9ap793krdgcnbihd1kvrvs4cz0mm9"; - x86_64-darwin = "14c69ac2dmfwmb5q56ps3xyxxb0mrbc91ahk9h07c8fiqfii3k9g"; - }; - }; - - binaryCrystal_0_29 = genericBinary { - version = "0.29.0"; - sha256s = { - x86_64-linux = "1wrk29sfx35akg7hxwpdiikvl18wd40gq1kwirw7x522hnq7vlna"; - i686-linux = "1nx0piis2k3nn7kqiijqazzbvlaavhgvsln0l3dxmpfa4i4dz5h2"; - x86_64-darwin = "1fd0fbyf05abivnp3igjlrm2axf65n2wdmg4aq6nqj60ipc01rvd"; - }; - }; - - binaryCrystal_0_30 = genericBinary { - version = "0.30.1"; - sha256s = { - x86_64-linux = "1k2mb74jh3ns3m7y73j4wpf571sayn73zbn6d7q81d09r280zrma"; - i686-linux = "0vsq1ayf922spydp2g2mmimc797jmm7nl5nljhfppcclrwygdyk2"; - x86_64-darwin = "1p3s4lwdgykb7h7aysjhrs7vm0zhinzw5d7rfv6jsyin4j8yxhzz"; - }; - }; - binaryCrystal_0_31 = genericBinary { version = "0.31.1"; sha256s = { @@ -214,32 +187,11 @@ in rec { }; }; - crystal_0_27 = generic { - version = "0.27.2"; - sha256 = "0vxqnpqi85yh0167nrkbksxsni476iwbh6y3znbvbjbbfhsi3nsj"; - doCheck = false; # about 20 tests out of more than 15000 are failing - binary = binaryCrystal_0_27; - }; - - crystal_0_29 = generic { - version = "0.29.0"; - sha256 = "0v9l253b2x8yw6a43vvalywpwciwr094l3g5wakmndfrzak2s3zr"; - doCheck = false; # 6 checks are failing now - binary = binaryCrystal_0_29; - }; - - crystal_0_30 = generic { - version = "0.30.1"; - sha256 = "0fbk784zjflsl3hys5a1xmn8mda8kb2z7ql58wpyfavivswxanbs"; - doCheck = false; # 6 checks are failing now - binary = binaryCrystal_0_29; - }; - crystal_0_31 = generic { version = "0.31.1"; sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8"; doCheck = false; # 5 checks are failing now - binary = binaryCrystal_0_30; + binary = binaryCrystal_0_31; }; crystal_0_32 = generic { @@ -248,7 +200,21 @@ in rec { binary = binaryCrystal_0_31; }; - crystal = crystal_0_32; + crystal_0_33 = generic { + version = "0.33.0"; + sha256 = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi"; + binary = binaryCrystal_0_31; + doCheck = false; # 4 checks are failing now + }; + + crystal_0_34 = generic { + version = "0.34.0"; + sha256 = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4"; + binary = crystal_0_33; + doCheck = false; # 4 checks are failing now + }; + + crystal = crystal_0_34; crystal2nix = callPackage ./crystal2nix.nix {}; } diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index be8fd73a6be0..d7fe37d1103f 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -2,13 +2,17 @@ # build-tools , bootPkgs -, autoconf, autoreconfHook, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx +, autoconf, autoreconfHook, automake, coreutils, fetchgit, perl, python3, m4, sphinx , bash , libiconv ? null, ncurses +, # GHC can be built with system libffi or a bundled one. + libffi ? null + , enableDwarf ? !stdenv.targetPlatform.isDarwin && - !stdenv.targetPlatform.isWindows, elfutils # for DWARF support + !stdenv.targetPlatform.isWindows +, elfutils # for DWARF support , useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS , # LLVM is conceptually a run-time-only depedendency, but for @@ -18,7 +22,8 @@ , # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. - enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp + enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms) +, gmp , # If enabled, use -fPIC when compiling static libs. enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform @@ -30,7 +35,7 @@ , # Whetherto build terminfo. enableTerminfo ? !stdenv.targetPlatform.isWindows -, version ? "8.10.20191119" +, version ? "8.11.20200403" , # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) @@ -75,6 +80,7 @@ let # Splicer will pull out correct variations libDeps = platform: stdenv.lib.optional enableTerminfo ncurses + ++ [libffi] ++ stdenv.lib.optional (!enableIntegerSimple) gmp ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv ++ stdenv.lib.optional enableDwarf elfutils; @@ -97,17 +103,14 @@ stdenv.mkDerivation (rec { src = fetchgit { url = "https://gitlab.haskell.org/ghc/ghc.git/"; - rev = "0418c38d55c7a47967187dce2db5ea2ab1021b1e"; - sha256 = "1d8g30ii0w4xh6fh61bxbalsqqyanny99nn3p727fx7favnhgvxi"; + rev = "4291bddaea3148908c55f235ee8978e1d9aa6f20"; + sha256 = "1gs3mxmsdpsgsp7vnawx8mys0qwg4x2zhfrbciy3wv8nv13ar1af"; }; enableParallelBuilding = true; outputs = [ "out" "doc" ]; - patches = [ - ]; - postPatch = "patchShebangs ."; # GHC is a bit confused on its cross terminology. @@ -130,8 +133,8 @@ stdenv.mkDerivation (rec { export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" echo -n "${buildMK}" > mk/build.mk - echo ${version} >VERSION - echo ${src.rev} >GIT_COMMIT_ID + echo ${version} > VERSION + echo ${src.rev} > GIT_COMMIT_ID ./boot sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' @@ -161,31 +164,40 @@ stdenv.mkDerivation (rec { # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" - "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" + "--with-curses-libraries=${ncurses.out}/lib" + ] ++ stdenv.lib.optionals (libffi != null) [ + "--with-system-libffi" + "--with-ffi-includes=${targetPackages.libffi.dev}/include" + "--with-ffi-libraries=${targetPackages.libffi.out}/lib" ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [ - "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" + "--with-gmp-includes=${targetPackages.gmp.dev}/include" + "--with-gmp-libraries=${targetPackages.gmp.out}/lib" ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" + "--with-iconv-includes=${libiconv}/include" + "--with-iconv-libraries=${libiconv}/lib" ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ "--enable-bootstrap-with-devel-snapshot" ] ++ stdenv.lib.optionals useLdGold [ "CFLAGS=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ - "--disable-large-address-space" - ] ++ stdenv.lib.optionals enableDwarf [ + ] ++ stdenv.lib.optional disableLargeAddressSpace "--disable-large-address-space" + ++ stdenv.lib.optionals enableDwarf [ "--enable-dwarf-unwind" "--with-libdw-includes=${stdenv.lib.getDev elfutils}/include" "--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib" ]; - # Make sure we never relax`$PATH` and hooks support for compatability. + # Make sure we never relax`$PATH` and hooks support for compatibility. strictDeps = true; + # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. + dontAddExtraLibs = true; + nativeBuildInputs = [ perl autoconf autoreconfHook automake m4 python3 sphinx ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour diff --git a/pkgs/development/compilers/halide/default.nix b/pkgs/development/compilers/halide/default.nix index 44c079af9263..356ebe231729 100644 --- a/pkgs/development/compilers/halide/default.nix +++ b/pkgs/development/compilers/halide/default.nix @@ -1,7 +1,10 @@ { llvmPackages, lib, fetchFromGitHub, cmake -, libpng, libjpeg, mesa, eigen, openblas +, libpng, libjpeg, mesa, eigen +, openblas, blas, lapack }: +assert blas.implementation == "openblas" && lapack.implementation == "openblas"; + let version = "2019_08_27"; diff --git a/pkgs/development/compilers/julia/1.3.nix b/pkgs/development/compilers/julia/1.3.nix index 48034920e283..49dc17a27f45 100644 --- a/pkgs/development/compilers/julia/1.3.nix +++ b/pkgs/development/compilers/julia/1.3.nix @@ -7,28 +7,22 @@ # standard library dependencies , curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 # linear algebra -, openblas, arpack +, blas, lapack, arpack # Darwin frameworks , CoreServices, ApplicationServices }: +assert (!blas.is64bit) && (!lapack.is64bit); + with stdenv.lib; -# All dependencies must use the same OpenBLAS. -let - arpack_ = arpack; -in let - arpack = arpack_.override { inherit openblas; }; -in - -let majorVersion = "1"; minorVersion = "3"; maintenanceVersion = "1"; src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6"; version = "${majorVersion}.${minorVersion}.${maintenanceVersion}"; -in +in stdenv.mkDerivation rec { pname = "julia"; @@ -67,7 +61,7 @@ stdenv.mkDerivation rec { buildInputs = [ arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr - pcre2.dev openblas openlibm openspecfun readline utf8proc + pcre2.dev blas lapack openlibm openspecfun readline utf8proc zlib ] ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] @@ -94,13 +88,9 @@ stdenv.mkDerivation rec { "SHELL=${stdenv.shell}" "USE_SYSTEM_BLAS=1" - "USE_BLAS64=${if openblas.blas64 then "1" else "0"}" - "LIBBLAS=-lopenblas" - "LIBBLASNAME=libopenblas" + "USE_BLAS64=${if blas.is64bit then "1" else "0"}" "USE_SYSTEM_LAPACK=1" - "LIBLAPACK=-lopenblas" - "LIBLAPACKNAME=libopenblas" "USE_SYSTEM_ARPACK=1" "USE_SYSTEM_FFTW=1" @@ -123,7 +113,7 @@ stdenv.mkDerivation rec { ]; LD_LIBRARY_PATH = makeLibraryPath [ - arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm + arpack fftw fftwSinglePrec gmp libgit2 mpfr blas openlibm openspecfun pcre2 ]; diff --git a/pkgs/development/compilers/julia/shared.nix b/pkgs/development/compilers/julia/shared.nix index ec1818f99890..92e3d4a5c14b 100644 --- a/pkgs/development/compilers/julia/shared.nix +++ b/pkgs/development/compilers/julia/shared.nix @@ -15,20 +15,14 @@ # standard library dependencies , curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 # linear algebra -, openblas, arpack +, blas, lapack, arpack # Darwin frameworks , CoreServices, ApplicationServices }: with stdenv.lib; -# All dependencies must use the same OpenBLAS. -let - arpack_ = arpack; -in -let - arpack = arpack_.override { inherit openblas; }; -in +assert (!blas.is64bit) && (!lapack.is64bit); let dsfmtVersion = "2.2.3"; @@ -118,7 +112,7 @@ stdenv.mkDerivation rec { buildInputs = [ arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr - pcre2.dev openblas openlibm openspecfun readline utf8proc + pcre2.dev blas lapack openlibm openspecfun readline utf8proc zlib ] ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] @@ -143,13 +137,9 @@ stdenv.mkDerivation rec { "SHELL=${stdenv.shell}" "USE_SYSTEM_BLAS=1" - "USE_BLAS64=${if openblas.blas64 then "1" else "0"}" - "LIBBLAS=-lopenblas" - "LIBBLASNAME=libopenblas" + "USE_BLAS64=${if blas.is64bit then "1" else "0"}" "USE_SYSTEM_LAPACK=1" - "LIBLAPACK=-lopenblas" - "LIBLAPACKNAME=libopenblas" "USE_SYSTEM_ARPACK=1" "USE_SYSTEM_FFTW=1" @@ -173,7 +163,7 @@ stdenv.mkDerivation rec { ]; LD_LIBRARY_PATH = makeLibraryPath [ - arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm + arpack fftw fftwSinglePrec gmp libgit2 mpfr blas lapack openlibm openspecfun pcre2 ]; diff --git a/pkgs/development/compilers/zig/default.nix b/pkgs/development/compilers/zig/default.nix index d547535c54be..20ce0b5ff5ee 100644 --- a/pkgs/development/compilers/zig/default.nix +++ b/pkgs/development/compilers/zig/default.nix @@ -1,25 +1,47 @@ -{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib }: +{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib, substituteAll }: -stdenv.mkDerivation rec { - version = "0.5.0"; +llvmPackages.stdenv.mkDerivation rec { + version = "0.6.0"; pname = "zig"; src = fetchFromGitHub { owner = "ziglang"; repo = pname; rev = version; - sha256 = "0xyl0riakh6kwb3yvxihb451kqs4ai4q0aygqygnlb2rlr1dn1zb"; + sha256 = "13dwm2zpscn4n0p5x8ggs9n7mwmq9cgip383i3qqphg7m3pkls8z"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 zlib ]; + buildInputs = [ + llvmPackages.clang-unwrapped + llvmPackages.llvm + llvmPackages.lld + libxml2 + zlib + ]; + + patches = [ + (substituteAll { + src = ./llvm10_polly.patch; + llvm_extras = "-Wl,${llvmPackages.llvm}/lib/LLVMPolly.so"; + }) + ]; preBuild = '' export HOME=$TMPDIR; ''; + checkPhase = '' + runHook preCheck + ./zig test $src/test/stage1/behavior.zig + runHook postCheck + ''; + + doCheck = true; + meta = with stdenv.lib; { - description = "Programming languaged designed for robustness, optimality, and clarity"; + description = + "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software"; homepage = "https://ziglang.org/"; license = licenses.mit; platforms = platforms.unix; diff --git a/pkgs/development/compilers/zig/llvm10_polly.patch b/pkgs/development/compilers/zig/llvm10_polly.patch new file mode 100644 index 000000000000..72449c35d91f --- /dev/null +++ b/pkgs/development/compilers/zig/llvm10_polly.patch @@ -0,0 +1,10 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 97608cddf..e451c0711 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -369,4 +369,5 @@ target_link_libraries(zig_cpp LINK_PUBLIC + ${CLANG_LIBRARIES} + ${LLD_LIBRARIES} + ${LLVM_LIBRARIES} ++ @llvm_extras@ + ) |