diff options
Diffstat (limited to 'third_party/bazel/rules_haskell/.netlify')
-rwxr-xr-x | third_party/bazel/rules_haskell/.netlify/build.sh | 28 | ||||
-rwxr-xr-x | third_party/bazel/rules_haskell/.netlify/install.sh | 28 |
2 files changed, 56 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/.netlify/build.sh b/third_party/bazel/rules_haskell/.netlify/build.sh new file mode 100755 index 000000000000..9cac684f6180 --- /dev/null +++ b/third_party/bazel/rules_haskell/.netlify/build.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -eux + +export PATH=$HOME/bin:$PATH + +# XXX We don't want to be using the Nixpkgs CC toolchain, because +# Nixpkgs is not available. But currently we can only override the +# autoconfigured CC toolchain, not have several (which we would then +# select via --extra_toolchains). So here's a gross hack that simply +# patches out the nixpkgs_cc_configure() line. +# +# See https://github.com/bazelbuild/bazel/issues/6696. +awk ' + BEGIN {del=0} + /^nixpkgs_cc_configure\(/ {del=1} + del==0 {print} + /\)/ {del=0}' WORKSPACE > WORKSPACE.tmp + # Note: awk -i inplace not available +mv WORKSPACE.tmp WORKSPACE + +# We don't want to be depending on Nixpkgs for documentation +# generation either. +sed -i 's/vendored_node = "@nixpkgs_nodejs"/vendored_node = None/' WORKSPACE + +bazel build //docs:api_html +unzip -d public bazel-bin/docs/api_html-skydoc.zip +cp start public diff --git a/third_party/bazel/rules_haskell/.netlify/install.sh b/third_party/bazel/rules_haskell/.netlify/install.sh new file mode 100755 index 000000000000..7d8e1483174b --- /dev/null +++ b/third_party/bazel/rules_haskell/.netlify/install.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -eux + +V=0.20.0 + +curl -LO https://github.com/bazelbuild/bazel/releases/download/$V/bazel-$V-installer-linux-x86_64.sh +chmod +x bazel-$V-installer-linux-x86_64.sh +./bazel-$V-installer-linux-x86_64.sh --user + +# XXX: Hack to prevent the `haskell_nixpkgs_package_list` rule from crashing: +# This rule expects a `nix-build` executable which is used to generate a +# store-path containing an `all-haskell-packages.bzl` file which defines the +# `package` list. Since actually installing `nix-build` on the netlify image +# seems difficult, we provide a dummy shell script which does exactly that. +packages_list=$(mktemp -d) +cat <<EOF > $packages_list/all-haskell-packages.bzl +packages = [] +EOF + +mkdir -p $HOME +cat <<EOF > $HOME/bin/nix-build +#!/usr/bin/env bash + +echo $packages_list +EOF + +chmod +x $HOME/bin/nix-build |