@@ -26,27 +26,13 @@ before_cache:
29− - compiler: "ghc-7.10.1"
30− # env: TEST=--disable-tests BENCH=--disable-benchmarks
31− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.1], sources: [hvr-ghc]}}
32− - compiler: "ghc-7.10.2"
33− # env: TEST=--disable-tests BENCH=--disable-benchmarks
34− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.2], sources: [hvr-ghc]}}
35− - compiler: "ghc-7.10.3"
36− # env: TEST=--disable-tests BENCH=--disable-benchmarks
37− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}
38− - compiler: "ghc-8.0.1"
39− # env: TEST=--disable-tests BENCH=--disable-benchmarks
40− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.1], sources: [hvr-ghc]}}
41− - compiler: "ghc-8.0.2"
42− # env: TEST=--disable-tests BENCH=--disable-benchmarks
43− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
44 - compiler: "ghc-8.2.1"
29 - compiler: "ghc-8.2.1"
45 # env: TEST=--disable-tests BENCH=--disable-benchmarks
30 # env: TEST=--disable-tests BENCH=--disable-benchmarks
46 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.1], sources: [hvr-ghc]}}
31 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.1], sources: [hvr-ghc]}}
48before_install:
33before_install:
49 - HC=${CC}
34 - HC=${CC}
35+ - HCPKG=${HC/ghc/ghc-pkg}
50 - unset CC
36 - unset CC
51 - PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
37 - PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
52 - PKGNAME='cabal2nix'
38 - PKGNAME='cabal2nix'
@@ -56,8 +42,10 @@ install:
56 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
42 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
57 - BENCH=${BENCH---enable-benchmarks}
43 - BENCH=${BENCH---enable-benchmarks}
58 - TEST=${TEST---enable-tests}
44 - TEST=${TEST---enable-tests}
45+ - HADDOCK=${HADDOCK-true}
46+ - INSTALLED=${INSTALLED-true}
59 - travis_retry cabal update -v
47 - travis_retry cabal update -v
60− - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
48+ - sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
61 - rm -fv cabal.project.local
49 - rm -fv cabal.project.local
62 - "echo 'packages: .' > cabal.project"
50 - "echo 'packages: .' > cabal.project"
63 - rm -f cabal.project.freeze
51 - rm -f cabal.project.freeze
@@ -84,8 +72,18 @@ script:
84 # this builds all libraries and executables (including tests/benchmarks)
72 # this builds all libraries and executables (including tests/benchmarks)
85 # - rm -rf ./dist-newstyle
73 # - rm -rf ./dist-newstyle
75+ # Build with installed constraints for packages in global-db
76+ - if $INSTALLED; then
77+ echo cabal new-build -w ${HC} --disable-tests --disable-benchmarks $(${HCPKG} list --global --simple-output --names-only | sed 's/\([a-zA-Z0-9-]\{1,\}\) */--constraint="\1 installed" /g') all | sh;
78+ else echo "Not building with installed constraints"; fi
87− # build & run tests
80+ # build & run tests, build benchmarks
88 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
81 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
89 - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
82 - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
85+ - rm -rf ./dist-newstyle
86+ - if $HADDOCK; then cabal new-haddock -w ${HC} --disable-tests --disable-benchmarks all; else echo "Skipping haddock generation";fi
88+# REGENDATA ["cabal2nix.cabal"]