| @@ -1,263 +1,263 @@ | | | @@ -1,263 +1,263 @@ |
1 | # $NetBSD: haskell.mk,v 1.8 2020/01/01 04:54:10 pho Exp $ | | 1 | # $NetBSD: haskell.mk,v 1.9 2020/01/02 16:34:47 pho Exp $ |
2 | # | | 2 | # |
3 | # This Makefile fragment handles Haskell Cabal packages. | | 3 | # This Makefile fragment handles Haskell Cabal packages. |
4 | # See: http://www.haskell.org/cabal/ | | 4 | # See: http://www.haskell.org/cabal/ |
5 | # | | 5 | # |
6 | # Note to users: | | 6 | # Note to users: |
7 | # | | 7 | # |
8 | # * Users choose one favourite Haskell compiler. Though the only | | 8 | # * Users choose one favourite Haskell compiler. Though the only |
9 | # compiler currently supported is GHC. | | 9 | # compiler currently supported is GHC. |
10 | # | | 10 | # |
11 | # * You can't install a cabal package for more than one compilers | | 11 | # * You can't install a cabal package for more than one compilers |
12 | # simultaneously. In the future, this limitation can possibly be | | 12 | # simultaneously. In the future, this limitation can possibly be |
13 | # eliminated using the method used by | | 13 | # eliminated using the method used by |
14 | # "../../lang/python/pyversion.mk". | | 14 | # "../../lang/python/pyversion.mk". |
15 | # | | 15 | # |
16 | # Note to package developers: | | 16 | # Note to package developers: |
17 | # | | 17 | # |
18 | # * This file must be included *before* "../../mk/bsd.pkg.mk", or | | 18 | # * This file must be included *before* "../../mk/bsd.pkg.mk", or |
19 | # you'll get target-redefinition errors. | | 19 | # you'll get target-redefinition errors. |
20 | # | | 20 | # |
21 | # * PKGNAME will automatically be "hs-${DISTNAME}" unless you | | 21 | # * PKGNAME will automatically be "hs-${DISTNAME}" unless you |
22 | # explicitly declare it. | | 22 | # explicitly declare it. |
23 | # | | 23 | # |
24 | # * If your package is on the HackageDB, MASTER_SITES and HOMEPAGE | | 24 | # * If your package is on the HackageDB, MASTER_SITES and HOMEPAGE |
25 | # can be omitted. | | 25 | # can be omitted. |
26 | # | | 26 | # |
27 | # * Package configuration, building, installation, registration and | | 27 | # * Package configuration, building, installation, registration and |
28 | # unregistration are fully automated. You usually don't need to do | | 28 | # unregistration are fully automated. You usually don't need to do |
29 | # anything special. | | 29 | # anything special. |
30 | # | | 30 | # |
31 | # * When Haskell libraries depend on other Haskell libraries, they | | 31 | # * When Haskell libraries depend on other Haskell libraries, they |
32 | # MUST depend on, not build-depend on, such libraries. So if your | | 32 | # MUST depend on, not build-depend on, such libraries. So if your |
33 | # package installs a library, you MUST NOT set | | 33 | # package installs a library, you MUST NOT set |
34 | # BUILDLINK_DEPMETHOD.${PKG} to "build" in your buildlink3.mk | | 34 | # BUILDLINK_DEPMETHOD.${PKG} to "build" in your buildlink3.mk |
35 | # file. Reason: | | 35 | # file. Reason: |
36 | # 1. Assume we have two libraries A and B, and B build-depends | | 36 | # 1. Assume we have two libraries A and B, and B build-depends |
37 | # on A. | | 37 | # on A. |
38 | # 2. We install package A. | | 38 | # 2. We install package A. |
39 | # 3. We then install package B, which build-depends on A. | | 39 | # 3. We then install package B, which build-depends on A. |
40 | # 4. After that, a new upstream version of package A is | | 40 | # 4. After that, a new upstream version of package A is |
41 | # released. We therefore update package A to the new version. | | 41 | # released. We therefore update package A to the new version. |
42 | # 5. Package B had a build-dependency on A, so pkgsrc assumes | | 42 | # 5. Package B had a build-dependency on A, so pkgsrc assumes |
43 | # that it's still safe to use package B without | | 43 | # that it's still safe to use package B without |
44 | # recompilation of B. But in fact package B requires the | | 44 | # recompilation of B. But in fact package B requires the |
45 | # very version of package A which was available when | | 45 | # very version of package A which was available when |
46 | # package B was compiled. So the installed package B is | | 46 | # package B was compiled. So the installed package B is |
47 | # completely broken at this time. | | 47 | # completely broken at this time. |
48 | # | | 48 | # |
49 | # User-settable variables: | | 49 | # User-settable variables: |
50 | # | | 50 | # |
51 | # HASKELL_COMPILER | | 51 | # HASKELL_COMPILER |
52 | # Description: | | 52 | # Description: |
53 | # The user's favourite Haskell compiler. | | 53 | # The user's favourite Haskell compiler. |
54 | # Possible values: | | 54 | # Possible values: |
55 | # ghc | | 55 | # ghc |
56 | # Default value: | | 56 | # Default value: |
57 | # ghc | | 57 | # ghc |
58 | # | | 58 | # |
59 | # HASKELL_ENABLE_SHARED_LIBRARY | | 59 | # HASKELL_ENABLE_SHARED_LIBRARY |
60 | # Description: | | 60 | # Description: |
61 | # Whether shared library should be built or not. | | 61 | # Whether shared library should be built or not. |
62 | # Possible values: | | 62 | # Possible values: |
63 | # yes, no | | 63 | # yes, no |
64 | # Default value: | | 64 | # Default value: |
65 | # yes | | 65 | # yes |
66 | # | | 66 | # |
67 | # HASKELL_ENABLE_LIBRARY_PROFILING | | 67 | # HASKELL_ENABLE_LIBRARY_PROFILING |
68 | # Description: | | 68 | # Description: |
69 | # Whether profiling library should be built or not. | | 69 | # Whether profiling library should be built or not. |
70 | # Possible values: | | 70 | # Possible values: |
71 | # yes, no | | 71 | # yes, no |
72 | # Default value: | | 72 | # Default value: |
73 | # yes | | 73 | # yes |
74 | # | | 74 | # |
75 | # HASKELL_ENABLE_HADDOCK_DOCUMENTATION | | 75 | # HASKELL_ENABLE_HADDOCK_DOCUMENTATION |
76 | # Description: | | 76 | # Description: |
77 | # Whether haddock documentation should be built or not. | | 77 | # Whether haddock documentation should be built or not. |
78 | # Possible values: | | 78 | # Possible values: |
79 | # yes, no | | 79 | # yes, no |
80 | # Default value: | | 80 | # Default value: |
81 | # yes | | 81 | # yes |
82 | | | 82 | |
83 | .if !defined(HASKELL_MK) | | 83 | .if !defined(HASKELL_MK) |
84 | HASKELL_MK= # defined | | 84 | HASKELL_MK= # defined |
85 | | | 85 | |
86 | .include "../../mk/bsd.fast.prefs.mk" | | 86 | .include "../../mk/bsd.fast.prefs.mk" |
87 | | | 87 | |
88 | | | 88 | |
89 | # Declare HASKELL_COMPILER as one of BUILD_DEFS variables. See | | 89 | # Declare HASKELL_COMPILER as one of BUILD_DEFS variables. See |
90 | # ../../mk/misc/show.mk | | 90 | # ../../mk/misc/show.mk |
91 | BUILD_DEFS+= HASKELL_COMPILER | | 91 | BUILD_DEFS+= HASKELL_COMPILER |
92 | BUILD_DEFS+= HASKELL_ENABLE_SHARED_LIBRARY | | 92 | BUILD_DEFS+= HASKELL_ENABLE_SHARED_LIBRARY |
93 | BUILD_DEFS+= HASKELL_ENABLE_LIBRARY_PROFILING | | 93 | BUILD_DEFS+= HASKELL_ENABLE_LIBRARY_PROFILING |
94 | BUILD_DEFS+= HASKELL_ENABLE_HADDOCK_DOCUMENTATION | | 94 | BUILD_DEFS+= HASKELL_ENABLE_HADDOCK_DOCUMENTATION |
95 | | | 95 | |
96 | | | 96 | |
97 | # Declarations for ../../mk/misc/show.mk | | 97 | # Declarations for ../../mk/misc/show.mk |
98 | _VARGROUPS+= haskell | | 98 | _VARGROUPS+= haskell |
99 | _DEF_VARS.haskell= \ | | 99 | _DEF_VARS.haskell= \ |
100 | _DISTBASE \ | | 100 | _DISTBASE \ |
101 | _DISTVERSION \ | | 101 | _DISTVERSION \ |
102 | _GHC_BIN \ | | 102 | _GHC_BIN \ |
103 | _GHC_PKG_BIN \ | | 103 | _GHC_PKG_BIN \ |
104 | _GHC_VERSION \ | | 104 | _GHC_VERSION \ |
105 | _GHC_VERSION_CMD \ | | 105 | _GHC_VERSION_CMD \ |
106 | _GHC_VERSION_FULL \ | | 106 | _GHC_VERSION_FULL \ |
107 | _HASKELL_BIN \ | | 107 | _HASKELL_BIN \ |
108 | _HASKELL_PKG_BIN \ | | 108 | _HASKELL_PKG_BIN \ |
109 | _HASKELL_PKG_DESCR_FILE \ | | 109 | _HASKELL_PKG_DESCR_FILE \ |
110 | _HASKELL_VERSION | | 110 | _HASKELL_VERSION |
111 | _USER_VARS.haskell= \ | | 111 | _USER_VARS.haskell= \ |
112 | HASKELL_ENABLE_SHARED_LIBRARY \ | | 112 | HASKELL_ENABLE_SHARED_LIBRARY \ |
113 | HASKELL_ENABLE_LIBRARY_PROFILING \ | | 113 | HASKELL_ENABLE_LIBRARY_PROFILING \ |
114 | HASKELL_ENABLE_HADDOCK_DOCUMENTATION | | 114 | HASKELL_ENABLE_HADDOCK_DOCUMENTATION |
115 | | | 115 | |
116 | # PKGNAME is usually named after DISTNAME. | | 116 | # PKGNAME is usually named after DISTNAME. |
117 | PKGNAME?= hs-${DISTNAME} | | 117 | PKGNAME?= hs-${DISTNAME} |
118 | | | 118 | |
119 | # Default value of MASTER_SITES. | | 119 | # Default value of MASTER_SITES. |
120 | _DISTBASE?= ${DISTNAME:C/-[^-]*$//} | | 120 | _DISTBASE?= ${DISTNAME:C/-[^-]*$//} |
121 | _DISTVERSION?= ${DISTNAME:C/^.*-//} | | 121 | _DISTVERSION?= ${DISTNAME:C/^.*-//} |
122 | MASTER_SITES?= ${MASTER_SITE_HASKELL_HACKAGE:=${DISTNAME}/} | | 122 | MASTER_SITES?= ${MASTER_SITE_HASKELL_HACKAGE:=${DISTNAME}/} |
123 | | | 123 | |
124 | # Default value of HOMEPAGE. | | 124 | # Default value of HOMEPAGE. |
125 | HOMEPAGE?= http://hackage.haskell.org/package/${_DISTBASE} | | 125 | HOMEPAGE?= http://hackage.haskell.org/package/${_DISTBASE} |
126 | | | 126 | |
127 | # Cabal packages may use pkg-config, but url2pkg can't detect | | 127 | # Cabal packages may use pkg-config, but url2pkg can't detect |
128 | # that. (PHO: I think that should be handled by url2pkg (2009-05-20)) | | 128 | # that. (PHO: I think that should be handled by url2pkg (2009-05-20)) |
129 | USE_TOOLS+= pkg-config | | 129 | USE_TOOLS+= pkg-config |
130 | | | 130 | |
131 | # Default value of HASKELL_ENABLE_SHARED_LIBRARY | | 131 | # Default value of HASKELL_ENABLE_SHARED_LIBRARY |
132 | HASKELL_ENABLE_SHARED_LIBRARY?= yes | | 132 | HASKELL_ENABLE_SHARED_LIBRARY?= yes |
133 | | | 133 | |
134 | # Default value of HASKELL_ENABLE_LIBRARY_PROFILING | | 134 | # Default value of HASKELL_ENABLE_LIBRARY_PROFILING |
135 | HASKELL_ENABLE_LIBRARY_PROFILING?= yes | | 135 | HASKELL_ENABLE_LIBRARY_PROFILING?= yes |
136 | | | 136 | |
137 | # Default value of HASKELL_ENABLE_HADDOCK_DOCUMENTATION | | 137 | # Default value of HASKELL_ENABLE_HADDOCK_DOCUMENTATION |
138 | HASKELL_ENABLE_HADDOCK_DOCUMENTATION?= yes | | 138 | HASKELL_ENABLE_HADDOCK_DOCUMENTATION?= yes |
139 | | | 139 | |
140 | # Compiler specific variables and targets. | | 140 | # Compiler specific variables and targets. |
141 | .if ${HASKELL_COMPILER} == "ghc" | | 141 | .if ${HASKELL_COMPILER} == "ghc" |
142 | | | 142 | |
143 | # Add dependency to the GHC. | | 143 | # Add dependency to the GHC. |
144 | .include "../../lang/ghc7/buildlink3.mk" | | 144 | .include "../../lang/ghc7/buildlink3.mk" |
145 | | | 145 | |
146 | # Tools | | 146 | # Tools |
147 | _GHC_BIN= ${BUILDLINK_PREFIX.ghc}/bin/ghc | | 147 | _GHC_BIN= ${BUILDLINK_PREFIX.ghc}/bin/ghc |
148 | _GHC_PKG_BIN= ${BUILDLINK_PREFIX.ghc}/bin/ghc-pkg | | 148 | _GHC_PKG_BIN= ${BUILDLINK_PREFIX.ghc}/bin/ghc-pkg |
149 | _HASKELL_BIN= ${_GHC_BIN} # Expose to the outer scope. | | 149 | _HASKELL_BIN= ${_GHC_BIN} # Expose to the outer scope. |
150 | _HASKELL_PKG_BIN= ${_GHC_PKG_BIN} # Expose to the outer scope. | | 150 | _HASKELL_PKG_BIN= ${_GHC_PKG_BIN} # Expose to the outer scope. |
151 | | | 151 | |
152 | # Determine GHC version. | | 152 | # Determine GHC version. |
153 | _GHC_VERSION_CMD= ${_GHC_BIN} -V 2>/dev/null | ${CUT} -d ' ' -f 8 | | 153 | _GHC_VERSION_CMD= ${_GHC_BIN} -V 2>/dev/null | ${CUT} -d ' ' -f 8 |
154 | _GHC_VERSION= ${_GHC_VERSION_CMD:sh} | | 154 | _GHC_VERSION= ${_GHC_VERSION_CMD:sh} |
155 | _GHC_VERSION_FULL= ghc-${_GHC_VERSION} | | 155 | _GHC_VERSION_FULL= ghc-${_GHC_VERSION} |
156 | _HASKELL_VERSION= ${_GHC_VERSION_FULL} # Expose to the outer scope. | | 156 | _HASKELL_VERSION= ${_GHC_VERSION_FULL} # Expose to the outer scope. |
157 | | | 157 | |
158 | # Determine GHC shlib suffix | | 158 | # Determine GHC shlib suffix |
159 | _GHC_SHLIB_SUFFIX.dylib= dylib | | 159 | _GHC_SHLIB_SUFFIX.dylib= dylib |
160 | _GHC_SHLIB_SUFFIX= ${_GHC_SHLIB_SUFFIX.${SHLIB_TYPE}:Uso} | | 160 | _GHC_SHLIB_SUFFIX= ${_GHC_SHLIB_SUFFIX.${SHLIB_TYPE}:Uso} |
161 | _HASKELL_SHLIB_SUFFIX= ${_GHC_SHLIB_SUFFIX} | | 161 | _HASKELL_SHLIB_SUFFIX= ${_GHC_SHLIB_SUFFIX} |
162 | | | 162 | |
163 | # GHC requires C compiler. | | 163 | # GHC requires C compiler. |
164 | USE_LANGUAGES+= c | | 164 | USE_LANGUAGES+= c |
165 | | | 165 | |
166 | # Declarations for ../../mk/configure/configure.mk | | 166 | # Declarations for ../../mk/configure/configure.mk |
167 | CONFIGURE_ARGS+= --ghc | | 167 | CONFIGURE_ARGS+= --ghc |
168 | CONFIGURE_ARGS+= --with-compiler=${_GHC_BIN:Q} | | 168 | CONFIGURE_ARGS+= --with-compiler=${_GHC_BIN:Q} |
169 | CONFIGURE_ARGS+= --with-hc-pkg=${_GHC_PKG_BIN:Q} | | 169 | CONFIGURE_ARGS+= --with-hc-pkg=${_GHC_PKG_BIN:Q} |
170 | CONFIGURE_ARGS+= --prefix=${PREFIX:Q} | | 170 | CONFIGURE_ARGS+= --prefix=${PREFIX:Q} |
171 | .endif # ${HASKELL_COMPILER} | | 171 | .endif # ${HASKELL_COMPILER} |
172 | | | 172 | |
173 | # Shared libraries | | 173 | # Shared libraries |
174 | .if ${HASKELL_ENABLE_SHARED_LIBRARY} == "yes" | | 174 | .if ${HASKELL_ENABLE_SHARED_LIBRARY} == "yes" |
175 | CONFIGURE_ARGS+= --enable-shared --enable-executable-dynamic | | 175 | CONFIGURE_ARGS+= --enable-shared --enable-executable-dynamic |
176 | .endif | | 176 | .endif |
177 | | | 177 | |
178 | # Library profiling | | 178 | # Library profiling |
179 | .if ${HASKELL_ENABLE_LIBRARY_PROFILING} == "yes" | | 179 | .if ${HASKELL_ENABLE_LIBRARY_PROFILING} == "yes" |
180 | CONFIGURE_ARGS+= -p | | 180 | CONFIGURE_ARGS+= -p |
181 | .endif | | 181 | .endif |
182 | | | 182 | |
183 | | | 183 | |
184 | # Haddock documentations | | 184 | # Haddock documentations |
185 | .if ${HASKELL_ENABLE_HADDOCK_DOCUMENTATION} == "yes" | | 185 | .if ${HASKELL_ENABLE_HADDOCK_DOCUMENTATION} == "yes" |
186 | CONFIGURE_ARGS+= --with-haddock=${BUILDLINK_PREFIX.ghc:Q}/bin/haddock | | 186 | CONFIGURE_ARGS+= --with-haddock=${BUILDLINK_PREFIX.ghc:Q}/bin/haddock |
187 | .endif | | 187 | .endif |
188 | | | 188 | |
189 | # Optimization | | 189 | # Optimization |
190 | CONFIGURE_ARGS+= -O2 | | 190 | CONFIGURE_ARGS+= -O2 |
191 | | | 191 | |
192 | # Starting from GHC 7.10 (or 7.8?), packages are installed in | | 192 | # Starting from GHC 7.10 (or 7.8?), packages are installed in |
193 | # directories with a hashed name so we can no longer predict the | | 193 | # directories with a hashed name so we can no longer predict the |
194 | # contents of PLIST. | | 194 | # contents of PLIST. |
195 | GENERATE_PLIST+= \ | | 195 | GENERATE_PLIST+= \ |
196 | cd ${DESTDIR:Q}${PREFIX:Q} && \ | | 196 | cd ${DESTDIR:Q}${PREFIX:Q} && \ |
197 | ${FIND} * \( -type f -o -type l \) | ${SORT}; | | 197 | ${FIND} * \( -type f -o -type l \) | ${SORT}; |
198 | # But since our packages may still have PLIST files, it is necessary | | 198 | # But since our packages may still have PLIST files, it is necessary |
199 | # to ignore them until we get rid of them all. Or they all will be | | 199 | # to ignore them until we get rid of them all. Or they all will be |
200 | # broken. | | 200 | # broken. |
201 | PLIST_SRC= # none | | 201 | PLIST_SRC= # none |
202 | .if ${PKG_DEVELOPER:Uno:tl} != "no" | | 202 | .if ${PKG_DEVELOPER:Uno:tl} != "no" |
203 | .PHONY: _check-ignored-plist | | 203 | .PHONY: _check-ignored-plist |
204 | privileged-install-hook: _check-ignored-plist | | 204 | privileged-install-hook: _check-ignored-plist |
205 | _check-ignored-plist: error-check | | 205 | _check-ignored-plist: error-check |
206 | ${RUN}if ${TEST} -f PLIST; then \ | | 206 | ${RUN}if ${TEST} -f PLIST; then \ |
207 | ${DELAYED_WARNING_MSG} "[haskell.mk] The PLIST file is no longer used. Please remove it."; \ | | 207 | ${DELAYED_WARNING_MSG} "[haskell.mk] The PLIST file is no longer used. Please remove it."; \ |
208 | fi | | 208 | fi |
209 | .endif | | 209 | .endif |
210 | | | 210 | |
211 | # We might not have any working Haskell interpreter so compile | | 211 | # We might not have any working Haskell interpreter so compile |
212 | # Setup.?hs to a binary. Since dynamic linkage is much faster, we try | | 212 | # Setup.?hs to a binary. Since dynamic linkage is much faster, we try |
213 | # it and then fall back to static linkage if that didn't work. | | 213 | # it and then fall back to static linkage if that didn't work. |
214 | pre-configure: ${WRKSRC}/Setup | | 214 | pre-configure: ${WRKSRC}/Setup |
215 | | | 215 | |
216 | ${WRKSRC}/Setup: | | 216 | ${WRKSRC}/Setup: |
217 | ${RUN}cd ${WRKSRC} && \ | | 217 | ${RUN}cd ${WRKSRC} && \ |
218 | ( ${_HASKELL_BIN:Q} --make Setup -dynamic || \ | | 218 | ( ${_HASKELL_BIN:Q} --make Setup -dynamic || \ |
219 | ${_HASKELL_BIN:Q} --make Setup -static ) | | 219 | ${_HASKELL_BIN:Q} --make Setup -static ) |
220 | | | 220 | |
221 | # Define configure target. | | 221 | # Define configure target. |
222 | do-configure: | | 222 | do-configure: |
223 | ${RUN}cd ${WRKSRC:Q} && \ | | 223 | ${RUN}cd ${WRKSRC:Q} && \ |
224 | ${SETENV} ${CONFIGURE_ENV} \ | | 224 | ${SETENV} ${CONFIGURE_ENV} \ |
225 | ./Setup configure ${CONFIGURE_ARGS} | | 225 | ./Setup configure ${PKG_VERBOSE:D-v} ${CONFIGURE_ARGS} |
226 | | | 226 | |
227 | # Define build target. | | 227 | # Define build target. |
228 | do-build: | | 228 | do-build: |
229 | ${RUN}cd ${WRKSRC:Q} && \ | | 229 | ${RUN}cd ${WRKSRC:Q} && \ |
230 | ./Setup build | | 230 | ./Setup build ${PKG_VERBOSE:D-v} |
231 | .if ${HASKELL_ENABLE_HADDOCK_DOCUMENTATION} == "yes" | | 231 | .if ${HASKELL_ENABLE_HADDOCK_DOCUMENTATION} == "yes" |
232 | ${RUN}cd ${WRKSRC:Q} && \ | | 232 | ${RUN}cd ${WRKSRC:Q} && \ |
233 | ./Setup haddock | | 233 | ./Setup haddock ${PKG_VERBOSE:D-v} |
234 | .endif | | 234 | .endif |
235 | | | 235 | |
236 | # Define install target. We need installed-pkg-config to be installed | | 236 | # Define install target. We need installed-pkg-config to be installed |
237 | # for package registration (if any). | | 237 | # for package registration (if any). |
238 | _HASKELL_PKG_DESCR_DIR= ${PREFIX}/lib/${DISTNAME}/${_HASKELL_VERSION} | | 238 | _HASKELL_PKG_DESCR_DIR= ${PREFIX}/lib/${DISTNAME}/${_HASKELL_VERSION} |
239 | _HASKELL_PKG_DESCR_FILE= ${_HASKELL_PKG_DESCR_DIR}/package-description | | 239 | _HASKELL_PKG_DESCR_FILE= ${_HASKELL_PKG_DESCR_DIR}/package-description |
240 | | | 240 | |
241 | INSTALLATION_DIRS+= ${_HASKELL_PKG_DESCR_DIR} | | 241 | INSTALLATION_DIRS+= ${_HASKELL_PKG_DESCR_DIR} |
242 | do-install: | | 242 | do-install: |
243 | ${RUN}cd ${WRKSRC} && \ | | 243 | ${RUN}cd ${WRKSRC} && \ |
244 | ./Setup register --gen-pkg-config=dist/package-description && \ | | 244 | ./Setup register ${PKG_VERBOSE:D-v} --gen-pkg-config=dist/package-description && \ |
245 | ./Setup copy --destdir=${DESTDIR:Q} && \ | | 245 | ./Setup copy ${PKG_VERBOSE:D-v} --destdir=${DESTDIR:Q} && \ |
246 | if [ -f dist/package-description ]; then \ | | 246 | if [ -f dist/package-description ]; then \ |
247 | ${INSTALL_DATA} dist/package-description ${DESTDIR:Q}${_HASKELL_PKG_DESCR_FILE:Q}; \ | | 247 | ${INSTALL_DATA} dist/package-description ${DESTDIR:Q}${_HASKELL_PKG_DESCR_FILE:Q}; \ |
248 | fi \ | | 248 | fi \ |
249 | | | 249 | |
250 | # Define test target. | | 250 | # Define test target. |
251 | do-test: | | 251 | do-test: |
252 | ${RUN}cd ${WRKSRC} && \ | | 252 | ${RUN}cd ${WRKSRC} && \ |
253 | ./Setup test | | 253 | ./Setup test ${PKG_VERBOSE:D-v} |
254 | | | 254 | |
255 | # Substitutions for INSTALL and DEINSTALL. | | 255 | # Substitutions for INSTALL and DEINSTALL. |
256 | FILES_SUBST+= DISTNAME=${DISTNAME} | | 256 | FILES_SUBST+= DISTNAME=${DISTNAME} |
257 | FILES_SUBST+= HASKELL_PKG_BIN=${_HASKELL_PKG_BIN} | | 257 | FILES_SUBST+= HASKELL_PKG_BIN=${_HASKELL_PKG_BIN} |
258 | FILES_SUBST+= HASKELL_PKG_DESCR_FILE=${_HASKELL_PKG_DESCR_FILE} | | 258 | FILES_SUBST+= HASKELL_PKG_DESCR_FILE=${_HASKELL_PKG_DESCR_FILE} |
259 | | | 259 | |
260 | INSTALL_TEMPLATES+= ../../mk/haskell/INSTALL.in | | 260 | INSTALL_TEMPLATES+= ../../mk/haskell/INSTALL.in |
261 | DEINSTALL_TEMPLATES+= ../../mk/haskell/DEINSTALL.in | | 261 | DEINSTALL_TEMPLATES+= ../../mk/haskell/DEINSTALL.in |
262 | | | 262 | |
263 | .endif # HASKELL_MK | | 263 | .endif # HASKELL_MK |