diff options
Diffstat (limited to 'third_party/bazel/rules_haskell/nixpkgs')
4 files changed, 42 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/nixpkgs/BUILD.bazel b/third_party/bazel/rules_haskell/nixpkgs/BUILD.bazel new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/third_party/bazel/rules_haskell/nixpkgs/BUILD.bazel diff --git a/third_party/bazel/rules_haskell/nixpkgs/NOTUSED b/third_party/bazel/rules_haskell/nixpkgs/NOTUSED new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/third_party/bazel/rules_haskell/nixpkgs/NOTUSED diff --git a/third_party/bazel/rules_haskell/nixpkgs/cc-toolchain.nix b/third_party/bazel/rules_haskell/nixpkgs/cc-toolchain.nix new file mode 100644 index 000000000000..1795dc55b71b --- /dev/null +++ b/third_party/bazel/rules_haskell/nixpkgs/cc-toolchain.nix @@ -0,0 +1,36 @@ +with import ./. {}; +with darwin.apple_sdk.frameworks; + +# XXX On Darwin, workaround +# https://github.com/NixOS/nixpkgs/issues/42059. See also +# https://github.com/NixOS/nixpkgs/pull/41589. +let cc = runCommand "cc-wrapper-bazel" { + buildInputs = [ pkgs.stdenv.cc makeWrapper ]; + } + '' + mkdir -p $out/bin + + # Copy the content of pkgs.stdenv.cc + for i in ${pkgs.stdenv.cc}/bin/* + do + ln -sf $i $out/bin + done + + # Override clang + rm $out/bin/clang + + makeWrapper ${pkgs.stdenv.cc}/bin/clang $out/bin/clang \ + --add-flags "-isystem ${llvmPackages.libcxx}/include/c++/v1 \ + -F${CoreFoundation}/Library/Frameworks \ + -F${CoreServices}/Library/Frameworks \ + -F${Security}/Library/Frameworks \ + -F${Foundation}/Library/Frameworks \ + -L${libcxx}/lib \ + -L${darwin.libobjc}/lib" + ''; + stdenv = if pkgs.stdenv.isDarwin then overrideCC pkgs.stdenv cc else pkgs.stdenv; +in +buildEnv { + name = "bazel-cc-toolchain"; + paths = [ stdenv.cc ] ++ (if stdenv.isDarwin then [ ] else [ binutils ]); +} diff --git a/third_party/bazel/rules_haskell/nixpkgs/default.nix b/third_party/bazel/rules_haskell/nixpkgs/default.nix new file mode 100644 index 000000000000..f56f04a9935b --- /dev/null +++ b/third_party/bazel/rules_haskell/nixpkgs/default.nix @@ -0,0 +1,6 @@ +import (fetchTarball { + # Nixpkgs checkout from 2019-01-30. + + url = https://github.com/NixOS/nixpkgs/archive/2e2ab461b76ec2c586ab126acc53f53bce49cb94.tar.gz; + sha256 = "17gicjn4cafpajczv49czy5r61w16kplkbz6r8hqn5rkvp4i5i9b"; +}) |