From f38daf67730fe31b865528eb972c619857e62a5c Mon Sep 17 00:00:00 2001 From: alexwl Date: Mon, 8 Oct 2018 02:40:18 +0300 Subject: Update cabal-helper to version 0.8.1.2 that supports Cabal (>=1.14 && <1.26 || >=2.0 && <2.5) Building cabal-helper-0.8.1.2 with Stack failed with 'Dependency cycle detected' error. It seems to be https://github.com/commercialhaskell/stack/issues/4265 Stack bug. As a temporary solution I added source code of cabal-helper package to vendor directory and commented out 'build-tool-depends: cabal-helper:cabal-helper-wrapper' line in the cabal-helper.cabal file. --- vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh | 9 ++++ .../scripts/ci/print-packages.sh | 5 +++ vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh | 50 ++++++++++++++++++++++ .../scripts/ci/steps/00-config.sh | 12 ++++++ .../scripts/ci/steps/05-print-packages.sh | 1 + .../scripts/ci/steps/10-dependencies.sh | 3 ++ .../scripts/ci/steps/15-print-packages.sh | 1 + .../scripts/ci/steps/20-sdist.sh | 6 +++ .../scripts/ci/steps/30-build.sh | 4 ++ .../scripts/ci/steps/40-test.sh | 2 + 10 files changed, 93 insertions(+) create mode 100755 vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh create mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh create mode 100755 vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh create mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh create mode 120000 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh create mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh create mode 120000 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh create mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh create mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh create mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh (limited to 'vendor/cabal-helper-0.8.1.2/scripts/ci') diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh new file mode 100755 index 0000000..7d2c136 --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -ex + +CI_SCRIPTS_DIR="$(realpath "$(dirname "$0")")" + +for step in $(printf '%s\n' "$CI_SCRIPTS_DIR"/steps/* | sort); do + . $step +done diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh new file mode 100644 index 0000000..891cea6 --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh @@ -0,0 +1,5 @@ +if [ -e cabal.sandbox.config ]; then + cabal sandbox hc-pkg list +else + ghc-pkg list +fi diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh new file mode 100755 index 0000000..285648e --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +# MIT LICENSE +# +# Copyright (c) 2016 Travis CI GmbH +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +# +# Copied from github.com/travis-ci/travis-build and modified to pass shellcheck. +# Copied from https://github.com/cockroachdb/cockroach/blob/b4b7412d1c899a7488a9839eb4e01a616e4de135/scripts/travis_retry.sh and modified slightly + +retry() { + local result=0 + local count=1 + while [ $count -le 3 ]; do + [ $result -ne 0 ] && { + echo -e "\n${ANSI_RED}The command \"$*\" failed. Retrying, $count of 3.${ANSI_RESET}\n" >&2 + } + "$@" + result=$? + [ $result -eq 0 ] && break + count=$((count + 1)) + sleep 10 + done + + [ $count -gt 3 ] && { + echo -e "\n${ANSI_RED}The command \"$*\" failed 3 times.${ANSI_RESET}\n" >&2 + } + + return $result +} + +retry "$@" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh new file mode 100644 index 0000000..eb8280a --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh @@ -0,0 +1,12 @@ +if [ -w . ]; then + sandbox="$PWD"/.cabal-sandbox + sandbox_config="$PWD"/cabal.sandbox.config +else + sandbox="$HOME"/cabal-sandbox + sandbox_config="$HOME"/cabal.sandbox.config +fi + +source_dir="$(mktemp --tmpdir -d "cabal-helper.sdistXXXXXXXXX")" +build_dir="$(mktemp --tmpdir -d "cabal-helper.distXXXXXXXXX")" + +NPROC=${NPROC:-1} diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh new file mode 120000 index 0000000..4a3479a --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh @@ -0,0 +1 @@ +../print-packages.sh \ No newline at end of file diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh new file mode 100644 index 0000000..0d0254c --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh @@ -0,0 +1,3 @@ +"$CI_SCRIPTS_DIR"/retry.sh cabal update +cabal --sandbox-config="$sandbox_config" sandbox init --sandbox="$sandbox" +cabal --sandbox-config="$sandbox_config" install --only-dependencies --enable-tests diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh new file mode 120000 index 0000000..4a3479a --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh @@ -0,0 +1 @@ +../print-packages.sh \ No newline at end of file diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh new file mode 100644 index 0000000..bd8fbe1 --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh @@ -0,0 +1,6 @@ +mkdir -p "$source_dir" +mkdir -p "$build_dir" + +cabal --sandbox-config="$sandbox_config" sdist --builddir="$build_dir" --output-directory="$source_dir" + +cd "$source_dir" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh new file mode 100644 index 0000000..8e71aa3 --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh @@ -0,0 +1,4 @@ +# -fdev enables building the helper "main" exe directly and enables more warnings +cabal --sandbox-config="$sandbox_config" configure --builddir="$build_dir" --enable-tests -fdev +cabal --sandbox-config="$sandbox_config" build --builddir="$build_dir" +cabal --sandbox-config="$sandbox_config" haddock --builddir="$build_dir" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh new file mode 100644 index 0000000..cfdf05c --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh @@ -0,0 +1,2 @@ +cabal_helper_libexecdir="$build_dir"/build/cabal-helper-wrapper \ + cabal --sandbox-config="$sandbox_config" test --builddir="$build_dir" --show-details=streaming -- cgit v1.2.3