diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index db22b668cf5..a04d48dd0e5 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper -, coreutils, git, gmp, nettools, openssl, readline, tzdata, libxml2, libyaml +, coreutils, git, gmp, hostname, openssl, readline, tzdata, libxml2, libyaml , boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig , callPackage }: @@ -62,9 +62,12 @@ let substituteInPlace src/crystal/system/unix/time.cr \ --replace /usr/share/zoneinfo ${tzdata}/share/zoneinfo - ln -s spec/compiler spec/std + ln -sf spec/compiler spec/std + + # Dirty fix for when no sandboxing is enabled + rm -rf /tmp/crystal + mkdir -p /tmp/crystal - mkdir /tmp/crystal substituteInPlace spec/std/file_spec.cr \ --replace '/bin/ls' '${coreutils}/bin/ls' \ --replace '/usr/share' '/tmp/crystal' \ @@ -81,7 +84,7 @@ let --replace '{% if flag?(:gnu) %}"listen: "{% else %}"bind: "{% end %}' '"bind: "' substituteInPlace spec/std/system_spec.cr \ - --replace '`hostname`' '`${nettools}/bin/hostname`' + --replace '`hostname`' '`${hostname}/bin/hostname`' # See https://github.com/crystal-lang/crystal/pull/8640 substituteInPlace spec/std/http/cookie_spec.cr \ @@ -108,6 +111,8 @@ let "all" "docs" ]; + LLVM_CONFIG = "${llvm}/bin/llvm-config"; + FLAGS = [ "--release" "--single-module" # needed for deterministic builds diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a99751d4abd..e218bdd7400 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8120,8 +8120,7 @@ in cryptol = haskell.lib.justStaticExecutables haskellPackages.cryptol; inherit (callPackages ../development/compilers/crystal { - stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv; - inherit (llvmPackages) clang llvm; + inherit (llvmPackages_10) stdenv clang llvm; }) crystal_0_31 crystal_0_32