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/bump.sh | 24 +++++++++++ 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 + .../update-cabal-common-section-instantiations.awk | 34 +++++++++++++++ 12 files changed, 151 insertions(+) create mode 100755 vendor/cabal-helper-0.8.1.2/scripts/bump.sh 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 create mode 100644 vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk (limited to 'vendor/cabal-helper-0.8.1.2/scripts') diff --git a/vendor/cabal-helper-0.8.1.2/scripts/bump.sh b/vendor/cabal-helper-0.8.1.2/scripts/bump.sh new file mode 100755 index 0000000..a5a2ba7 --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/bump.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +if [ -z "$1" ]; then + echo "Usage: $0 VERSION" >&2 + exit 1 +fi + +VERSION=$1 + +if ! echo $VERSION | grep "^[0-9.]"; then + echo "invalid version"; + exit 1 +fi + +cd $(dirname $0)/.. + +sed -r -i 's/^(version:[[:space:]]*)[0-9.]+/\1'"$VERSION"'/' cabal-helper.cabal + +git add cabal-helper.cabal +git commit -m "Bump version to $VERSION" + +git tag "v$VERSION" 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 diff --git a/vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk b/vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk new file mode 100644 index 0000000..0bfacae --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk @@ -0,0 +1,34 @@ +BEGIN { + delete sections; + section=""; + ignoring=0; +} + +/^[[:space:]]*$/ { + section=""; + ignoring=0; +} + +{ + if(section) { + tmp = sections[section]; + sections[section] = tmp (tmp ? RS : "") $0; + } +} + +/^[[:space:]]*-- *Common/ { + section = $3 +} + +/^[[:space:]]*-- *Instantiate *common/ { + ignoring=1 + + print $0; + print sections[$4]; +} + +{ + if(!ignoring) { + print $0; + } +} -- cgit v1.2.3