1
1
# This Travis job script has been generated by a script via
2
2
#
3
- # make_travis_yml_2.hs './usb.cabal'
3
+ # runghc make_travis_yml_2.hs './usb.cabal'
4
4
#
5
5
# For more information, see https://github.com/hvr/multi-ghc-travis
6
6
#
7
7
language : c
8
8
sudo : false
9
- dist : trusty # Contains libusb-1.0.17
10
9
11
10
git :
12
11
submodules : false # whether to recursively clone submodules
@@ -25,82 +24,120 @@ before_cache:
25
24
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
26
25
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
27
26
27
+ - rm -rfv $HOME/.cabal/packages/head.hackage
28
+
28
29
matrix :
29
30
include :
30
31
- compiler : " ghc-7.4.1"
32
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
31
33
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.4.1], sources: [hvr-ghc]}}
32
34
- compiler : " ghc-7.4.2"
35
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
33
36
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.4.2], sources: [hvr-ghc]}}
34
37
- compiler : " ghc-7.6.1"
38
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
35
39
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.6.1], sources: [hvr-ghc]}}
36
40
- compiler : " ghc-7.6.2"
41
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
37
42
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.6.2], sources: [hvr-ghc]}}
38
43
- compiler : " ghc-7.6.3"
44
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
39
45
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.6.3], sources: [hvr-ghc]}}
40
46
- compiler : " ghc-7.8.1"
47
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
41
48
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.8.1], sources: [hvr-ghc]}}
42
49
- compiler : " ghc-7.8.2"
50
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
43
51
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.8.2], sources: [hvr-ghc]}}
44
52
- compiler : " ghc-7.8.3"
53
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
45
54
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.8.3], sources: [hvr-ghc]}}
46
55
- compiler : " ghc-7.8.4"
56
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
47
57
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.8.4], sources: [hvr-ghc]}}
48
58
- compiler : " ghc-7.10.1"
59
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
49
60
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.10.1], sources: [hvr-ghc]}}
50
61
- compiler : " ghc-7.10.2"
62
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
51
63
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.10.2], sources: [hvr-ghc]}}
52
64
- compiler : " ghc-7.10.3"
65
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
53
66
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}
54
67
- compiler : " ghc-8.0.1"
68
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
55
69
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-8.0.1], sources: [hvr-ghc]}}
56
70
- compiler : " ghc-8.0.2"
71
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
57
72
addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
58
- - compiler : " ghc-head"
59
- addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-head], sources: [hvr-ghc]}}
60
-
61
- allow_failures :
62
- - compiler : " ghc-head"
73
+ - compiler : " ghc-8.2.1"
74
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
75
+ addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-8.2.1], sources: [hvr-ghc]}}
76
+ - compiler : " ghc-8.2.2"
77
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
78
+ addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-8.2.2], sources: [hvr-ghc]}}
79
+ - compiler : " ghc-8.4.1"
80
+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
81
+ addons : {apt: {packages: [libusb-1.0-0-dev,ghc-ppa-tools,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}}
63
82
64
83
before_install :
65
- - HC=${CC}
66
- - unset CC
67
- - PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
68
- - PKGNAME='usb'
84
+ - HC=${CC}
85
+ - HCPKG=${HC/ghc/ghc-pkg}
86
+ - unset CC
87
+ - ROOTDIR=$(pwd)
88
+ - mkdir -p $HOME/.local/bin
89
+ - " PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"
90
+ - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
91
+ - echo $HCNUMVER
69
92
70
93
install :
71
- - cabal --version
72
- - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
73
- - BENCH=${BENCH---enable-benchmarks}
74
- - TEST=${TEST---enable-tests}
75
- - travis_retry cabal update -v
76
- - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
77
- - rm -fv cabal.project.local
78
- - " echo 'packages: .' > cabal.project"
79
- - rm -f cabal.project.freeze
80
- - cabal new-build -w ${HC} ${TEST} ${BENCH} --dep -j2 all
81
- - cabal new-build -w ${HC} --disable-tests --disable-benchmarks --dep -j2 all
94
+ - cabal --version
95
+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
96
+ - BENCH=${BENCH---enable-benchmarks}
97
+ - TEST=${TEST---enable-tests}
98
+ - HADDOCK=${HADDOCK-true}
99
+ - INSTALLED=${INSTALLED-true}
100
+ - GHCHEAD=${GHCHEAD-false}
101
+ - travis_retry cabal update -v
102
+ - " sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
103
+ - rm -fv cabal.project cabal.project.local
104
+ - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
105
+ - " printf 'packages: \" .\"\\ n' > cabal.project"
106
+ - cat cabal.project
107
+ - if [ -f "./configure.ac" ]; then
108
+ (cd "." && autoreconf -i);
109
+ fi
110
+ - rm -f cabal.project.freeze
111
+ - cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all
112
+ - cabal new-build -w ${HC} --disable-tests --disable-benchmarks --project-file="cabal.project" --dep -j2 all
113
+ - rm -rf .ghc.environment.* "."/dist
114
+ - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
82
115
83
116
# Here starts the actual work to be performed for the package under test;
84
117
# any command which exits with a non-zero exit code causes the build to fail.
85
118
script :
86
- - if [ -f configure.ac ]; then autoreconf -i; fi
87
- - rm -rf .ghc.environment.* dist/
88
- - cabal sdist # test that a source-distribution can be generated
89
- - cd dist/
90
- - SRCTAR=(${PKGNAME}-*.tar.gz)
91
- - SRC_BASENAME="${SRCTAR/%.tar.gz}"
92
- - tar -xvf "./$SRC_BASENAME.tar.gz"
93
- - cd "$SRC_BASENAME/"
94
- # # from here on, CWD is inside the extracted source-tarball
95
- - rm -fv cabal.project.local
96
- - " echo 'packages: .' > cabal.project"
97
- # this builds all libraries and executables (without tests/benchmarks)
98
- - rm -f cabal.project.freeze
99
- - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all
100
- # this builds all libraries and executables (including tests/benchmarks)
101
- # - rm -rf ./dist-newstyle
119
+ # test that source-distributions can be generated
120
+ - (cd "." && cabal sdist)
121
+ - mv "."/dist/usb-*.tar.gz ${DISTDIR}/
122
+ - cd ${DISTDIR} || false
123
+ - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
124
+ - " printf 'packages: usb-*/*.cabal\\ n' > cabal.project"
125
+ - cat cabal.project
126
+ # this builds all libraries and executables (without tests/benchmarks)
127
+ - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all
128
+
129
+ # Build with installed constraints for packages in global-db
130
+ - if $INSTALLED; then 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; else echo "Not building with installed constraints"; fi
131
+
132
+ # build & run tests, build benchmarks
133
+ - cabal new-build -w ${HC} ${TEST} ${BENCH} all
134
+
135
+ # cabal check
136
+ - (cd usb-* && cabal check)
102
137
103
- # build & run tests
104
- - cabal new-build -w ${HC} ${TEST} ${BENCH} all
138
+ # haddock
139
+ - rm -rf ./dist-newstyle
140
+ - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
105
141
142
+ # REGENDATA ["./usb.cabal"]
106
143
# EOF
0 commit comments