Gentoo Archives: gentoo-commits

From: Keri Harris <keri@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/mercury/
Date: Sat, 30 Sep 2017 11:35:54
Message-Id: 1506771136.940d71899dc80882ebdaeab62fd79e647e851dce.keri@gentoo
1 commit: 940d71899dc80882ebdaeab62fd79e647e851dce
2 Author: Keri Harris <keri <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 30 11:32:16 2017 +0000
4 Commit: Keri Harris <keri <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 30 11:32:16 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=940d7189
7
8 dev-lang/mercury: version bump
9
10 Package-Manager: Portage-2.3.8, Repoman-2.3.1
11
12 dev-lang/mercury/Manifest | 2 +
13 dev-lang/mercury/mercury-14.01.1.ebuild | 203 ++++++++++++++++++++++++++++++++
14 dev-lang/mercury/metadata.xml | 1 +
15 3 files changed, 206 insertions(+)
16
17 diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest
18 index 4a3d2f1b85f..760f43cd5a0 100644
19 --- a/dev-lang/mercury/Manifest
20 +++ b/dev-lang/mercury/Manifest
21 @@ -1,4 +1,6 @@
22 DIST mercury-13.05.2-gentoo-patchset-1.tar.gz 5622 SHA256 5a6559c207c0161beef2eb3bce6f890eadab7dd8fbc5909dc720085498c51777 SHA512 387956a120b2bbb7da1913e89cf33e7bdb8f205fe207701a33d19ccb667d1ae73a342955642120822448621bdba349ab628290d78fdef35c08b9ccbadda4177f WHIRLPOOL 9da5ec0cc6dba6f0ed98c77583213852bc94014c584eae22705c282cbdc137ee30efd83401f8e28c6320a4909c9abbc6d0cf8e79e953c2ce4cfd504156267c82
23 DIST mercury-14.01-gentoo-patchset-0.tar.gz 5728 SHA256 43fc8145e784b9e09561fd2b7268cfd37151b134203785b9256b4b7fd87e3d13 SHA512 f1e375ac192e478a82863aa7b8e28c1044a490c41bb63f7842b16b12b7cfa9c85938eacad4c3eacf348aafd42dfaa0dea5324b734d0d2a7454e3e9334369658e WHIRLPOOL eaad62d89285404518e3dca7f98065eea5aaa2f8b46d8ff0f01a0a6b6f886db51800faab81b4e1cd89cd61b771d65562a75f28c399aef053e730d7975ac8f8b6
24 +DIST mercury-14.01.1-gentoo-patchset-0.tar.gz 4701 SHA256 f85eafed1ba9276986d37aa6fd0e1792037c9a6e42009626791cb1bc8a07c8a9 SHA512 5b9afda5361ce68b3c39e15764bfd066eff032b9e1a67d3a53f438b60c92841f304456c0ae7bfe04a7dec35c1c00a3bdd88afc62392814eea5565c1e1c90b129 WHIRLPOOL ab6c8746d5f4ffc0edac7623c6deecc65629fa09a5b8e02f101f65fa8cd54702a9a450c999bfd90f5a3177864f85648814604adf540e2344ff79711c828d6b61
25 DIST mercury-srcdist-13.05.2.tar.gz 53847394 SHA256 8491cf419b996a315bf8664154dd91aed940274ded98e3aded733dbe1939f95f SHA512 2298804d3a04bca6be4bd3046643c7c0d0b22c447423017869cd9bf3a4fb6ec9fd29b5d8e1a386d5d52d07be5cad73608f1fcacf46732a7add93a01dcd199c08 WHIRLPOOL 2a81bebfd4b97b9bb1b0e174025e6050149c8e5f812cd97cbdc41818faa18c15f9494925f1f320682087cc45264bc00db07bef6862afef12317f77cc169a7f86
26 +DIST mercury-srcdist-14.01.1.tar.gz 52658945 SHA256 98f7cbde7a7425365400feef3e69f1d6a848b25dc56ba959050523d546c4e88b SHA512 a128ef0fd4955abadea32019ec59297ffe32537415f32e9e948cbc1c3439bb40eb09de77569690fb18dd7d6969a2b1141b3ae5baeb87f2627eaa65ad93add92c WHIRLPOOL 7b859eb5c7c1194d63c0aeeeeac3686c57436100b5618ae31a901119a33443363acb80a908a15dfdfa8b61fd9ccb4e552cbb972a3cc735b7a768ee7c9b1b6091
27 DIST mercury-srcdist-14.01.tar.gz 52683989 SHA256 4446b7b4eafd35540495ef90ce93b71cb88efa2d744628aee80f76a694aefcc1 SHA512 77f61df64fc150e08f191860f285b97d11a71a52eabc95f660b3c90d88f8ee71d1227f7ab4b8be78be9d4aa3d62a260a874020023e4795da4cfd2e6fefa9965f WHIRLPOOL a7123063590e39ae15222eb59a2c3681ae37bea211967c857eb8725090d342f0aba7a55446529f8608afb9895746581943527b1b3c313c5cbb96f638a3377404
28
29 diff --git a/dev-lang/mercury/mercury-14.01.1.ebuild b/dev-lang/mercury/mercury-14.01.1.ebuild
30 new file mode 100644
31 index 00000000000..d500a59e179
32 --- /dev/null
33 +++ b/dev-lang/mercury/mercury-14.01.1.ebuild
34 @@ -0,0 +1,203 @@
35 +# Copyright 1999-2017 Gentoo Foundation
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=5
39 +
40 +inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib xdg-utils
41 +
42 +PATCHSET_VER="0"
43 +MY_P=${PN}-srcdist-${PV}
44 +
45 +DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language"
46 +HOMEPAGE="http://www.mercurylang.org/index.html"
47 +SRC_URI="http://dl.mercurylang.org/release/${MY_P}.tar.gz
48 + mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
49 +
50 +LICENSE="GPL-2 LGPL-2"
51 +SLOT="0"
52 +KEYWORDS="~amd64 ~x86"
53 +
54 +IUSE="debug emacs erlang examples java mono profile readline threads trail"
55 +
56 +DEPEND="!dev-libs/mpatrol
57 + !dev-util/mono-debugger
58 + readline? ( sys-libs/readline:= )
59 + erlang? ( dev-lang/erlang )
60 + java? ( >=virtual/jdk-1.6:= )
61 + mono? ( dev-lang/mono )"
62 +
63 +RDEPEND="${DEPEND}
64 + emacs? ( virtual/emacs )"
65 +
66 +S="${WORKDIR}"/${MY_P}
67 +
68 +SITEFILE=50${PN}-gentoo.el
69 +
70 +src_prepare() {
71 + cd "${WORKDIR}" || die
72 + EPATCH_FORCE=yes
73 + EPATCH_SUFFIX=patch
74 + if [[ -d "${WORKDIR}"/${PV} ]] ; then
75 + epatch "${WORKDIR}"/${PV}
76 + fi
77 +
78 + sed -i -e "s/@libdir@/$(get_libdir)/" \
79 + "${S}"/scripts/Mmake.vars.in \
80 + || die "sed libdir failed"
81 +
82 + cd "${S}" || die
83 + eautoconf
84 +
85 + xdg_environment_reset
86 +}
87 +
88 +src_configure() {
89 + strip-flags
90 +
91 + local myconf
92 + myconf="--libdir=/usr/$(get_libdir) \
93 + $(use_enable mono csharp-grade) \
94 + $(use_enable erlang erlang-grade) \
95 + $(use_enable java java-grade) \
96 + $(use_enable debug debug-grades) \
97 + $(use_enable profile prof-grades) \
98 + $(use_enable threads par-grades) \
99 + $(use_enable trail trail-grades) \
100 + $(use_with readline)"
101 +
102 + econf ${myconf}
103 +}
104 +
105 +src_compile() {
106 + # Build Mercury using bootstrap grade
107 + emake \
108 + PARALLEL="${MAKEOPTS}" \
109 + EXTRA_CFLAGS="${CFLAGS}" \
110 + EXTRA_LDFLAGS="${LDFLAGS}" \
111 + EXTRA_MLFLAGS="--no-strip" \
112 + || die "emake failed"
113 +
114 + # We can now patch .m Mercury compiler files since we
115 + # have just built mercury_compiler.
116 + EPATCH_FORCE=yes
117 + EPATCH_SUFFIX=patch
118 + if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then
119 + epatch "${WORKDIR}"/${PV}-mmc
120 + fi
121 +
122 + sed -i -e "s/@libdir@/$(get_libdir)/" \
123 + "${S}"/compiler/file_util.m \
124 + "${S}"/compiler/make.program_target.m \
125 + || die "sed libdir failed"
126 +
127 + # Rebuild Mercury compiler using the just built mercury_compiler
128 + emake \
129 + PARALLEL="${MAKEOPTS}" \
130 + EXTRA_CFLAGS="${CFLAGS}" \
131 + EXTRA_LDFLAGS="${LDFLAGS}" \
132 + EXTRA_MLFLAGS="--no-strip" \
133 + MERCURY_COMPILER="${S}"/compiler/mercury_compile \
134 + compiler || die "emake compiler failed"
135 +
136 + # The default Mercury grade may not be the same as the bootstrap
137 + # grade. Since src_test() is run before src_install() we compile
138 + # the default grade now
139 + emake \
140 + PARALLEL="${MAKEOPTS}" \
141 + EXTRA_CFLAGS="${CFLAGS}" \
142 + EXTRA_LDFLAGS="${LDFLAGS}" \
143 + EXTRA_MLFLAGS="--no-strip" \
144 + MERCURY_COMPILER="${S}"/compiler/mercury_compile \
145 + default_grade || die "emake default_grade failed"
146 +}
147 +
148 +src_test() {
149 + TEST_GRADE=$(scripts/ml --print-grade)
150 + if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then
151 + TWS="${S}"/install_grade_dir.${TEST_GRADE}
152 + cp runtime/mer_rt.init "${TWS}"/runtime/
153 + cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/
154 + cp browser/mer_browser.init "${TWS}"/browser/
155 + else
156 + TWS="${S}"
157 + fi
158 +
159 + cd "${S}"/tests || die
160 + sed -e "s:@WORKSPACE@:${TWS}:" < WS_FLAGS.ws > WS_FLAGS \
161 + || die "sed WORKSPACE failed"
162 +
163 + # Mercury tests must be run in C locale since Mercury output is
164 + # compared to hard-coded warnings/errors
165 + LC_ALL="C" \
166 + PATH="${TWS}"/scripts:"${TWS}"/util:"${S}"/slice:"${PATH}" \
167 + TERM="" \
168 + WORKSPACE="${TWS}" \
169 + WORKSPACE_FLAGS=yes \
170 + MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \
171 + MMAKE_DIR="${TWS}"/scripts \
172 + MERCURY_SUPPRESS_STACK_TRACE=yes \
173 + GRADE=${TEST_GRADE} \
174 + MERCURY_ALL_LOCAL_C_INCL_DIRS=" -I${TWS}/boehm_gc/include \
175 + -I${TWS}/runtime \
176 + -I${TWS}/library" \
177 + mmake || die "mmake test failed"
178 +}
179 +
180 +src_install() {
181 + emake \
182 + PARALLEL="${MAKEOPTS}" \
183 + EXTRA_CFLAGS="${CFLAGS}" \
184 + EXTRA_LDFLAGS="${LDFLAGS}" \
185 + EXTRA_MLFLAGS="--no-strip" \
186 + MERCURY_COMPILER="${S}"/compiler/mercury_compile \
187 + DESTDIR="${D}" \
188 + INSTALL_PREFIX="${D}"/usr \
189 + INSTALL_MAN_DIR="${D}"/usr/share/man \
190 + INSTALL_INFO_DIR="${D}"/usr/share/info \
191 + INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \
192 + INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \
193 + install || die "emake install failed"
194 +
195 + if use emacs; then
196 + elisp-site-file-install "${FILESDIR}/${SITEFILE}" \
197 + || die "elisp-site-file-install failed"
198 + fi
199 +
200 + dodoc \
201 + BUGS HISTORY LIMITATIONS NEWS README README.Linux \
202 + README.Linux-Alpha README.Linux-m68k README.Linux-PPC \
203 + RELEASE_NOTES TODO VERSION WORK_IN_PROGRESS || die
204 +
205 + if use erlang; then
206 + dodoc README.Erlang || die
207 + fi
208 +
209 + if use java; then
210 + dodoc README.Java || die
211 + fi
212 +
213 + if use examples; then
214 + insinto /usr/share/doc/${PF}/samples
215 + doins samples/{*.m,README,Mmakefile} || die
216 + doins -r samples/c_interface \
217 + samples/diff \
218 + samples/muz \
219 + samples/rot13 \
220 + samples/solutions \
221 + samples/solver_types || die
222 +
223 + if use java; then
224 + doins -r samples/java_interface || die
225 + fi
226 +
227 + ecvs_clean "${D}"/usr/share/doc/${PF}/samples
228 + fi
229 +}
230 +
231 +pkg_postinst() {
232 + use emacs && elisp-site-regen
233 +}
234 +
235 +pkg_postrm() {
236 + use emacs && elisp-site-regen
237 +}
238
239 diff --git a/dev-lang/mercury/metadata.xml b/dev-lang/mercury/metadata.xml
240 index 8db223fdceb..9ecd0bc6506 100644
241 --- a/dev-lang/mercury/metadata.xml
242 +++ b/dev-lang/mercury/metadata.xml
243 @@ -7,5 +7,6 @@
244 </maintainer>
245 <use>
246 <flag name="erlang">Support Mercury Erlang grade</flag>
247 + <flag name="trail">Support Mercury trail grades</flag>
248 </use>
249 </pkgmetadata>