commit:     15ae8d113686c40375ccc0cc70422a9ca9cb4bed
Author:     Keri Harris <keri <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  3 11:07:04 2021 +0000
Commit:     Keri Harris <keri <AT> gentoo <DOT> org>
CommitDate: Sun Oct  3 11:07:25 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15ae8d11

dev-lang/mercury: version bump

Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Keri Harris <keri <AT> gentoo.org>

 dev-lang/mercury/Manifest               |   2 +
 dev-lang/mercury/mercury-20.06.1.ebuild | 207 ++++++++++++++++++++++++++++++++
 2 files changed, 209 insertions(+)

diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest
index db766ffb277..210ada8b36b 100644
--- a/dev-lang/mercury/Manifest
+++ b/dev-lang/mercury/Manifest
@@ -1,2 +1,4 @@
 DIST mercury-20.06-gentoo-patchset-3.tar.gz 5265 BLAKE2B 
0539611691cfb714937bca8dc967246ce32c515b7133391d81333284e6ceffe29b929c042ee0000752bd9980c2d2332de20d7c5dc4e1a6077a6421056d975808
 SHA512 
54595a71db4d7684071c6496c3e92fe8c9de0a29832cc85901046f2627bd453cf0760b9857e73a91e87edfddc80d384627dc5c2cb7f3bc12ea5737eb5afa4f3b
+DIST mercury-20.06.1-gentoo-patchset-0.tar.gz 4426 BLAKE2B 
df6f1a3b52b1f57f502621abba175a55342ae88ecbbe8e37d22b89a7514e0dea14299c87fb1dd47866c5fc89bbb2746a92de8dcf037c1a9d5d2ba4e2e9b8c828
 SHA512 
c26c209a2fc2380793373785c7a8290ea336c38fe1c243df5c71791e2d1f8b6f8d4a9452a9139181aeb0422cd538c5e6ffe40332ea5b2635cab3324dc4dc320b
+DIST mercury-srcdist-20.06.1.tar.gz 47796261 BLAKE2B 
f282c6edb78e9090eb451585c65c9214927b94eaa5fcdf6f674aef6beb62eb65179f998bcc2e56c3c93b73dd1dc94973084eb8363bc05e334384096c9520d478
 SHA512 
94e901e5d3db39e3342bf2d6a2a74556a7b18b295c7e02669b487a81d41c72e572046ce1133d670ca6c1b8e246dd277439087efe8fb99b979a73555a101aa9a8
 DIST mercury-srcdist-20.06.tar.gz 47768559 BLAKE2B 
f242aa2ef7da53aa2dfa054e4fee8646434d276f0748b014e33ea52d22f2a8a37e6fecaa20617f4943c4c1e7d8c179ed0603a344fde2dd58da98b2bacadf1a71
 SHA512 
b76bd22d8eb16242c68b614ff122ed7ee7535efef6c0ceb8cc798fee4c550bc41b6faff2135cea43b24c652b654bb35ae049656585d8e7bf3a1122d07cb1ecf4

diff --git a/dev-lang/mercury/mercury-20.06.1.ebuild 
b/dev-lang/mercury/mercury-20.06.1.ebuild
new file mode 100644
index 00000000000..c8cd32155c4
--- /dev/null
+++ b/dev-lang/mercury/mercury-20.06.1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic java-pkg-opt-2 multilib vcs-clean 
xdg-utils
+
+PATCHSET_VER="0"
+MY_P=${PN}-srcdist-${PV}
+
+DESCRIPTION="Mercury is a modern general-purpose logic/functional programming 
language"
+HOMEPAGE="https://www.mercurylang.org/index.html";
+SRC_URI="https://dl.mercurylang.org/release-20.06/${MY_P}.tar.gz
+       
https://dev.gentoo.org/~keri/distfiles/mercury/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz";
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug doc emacs erlang examples java mono profile readline threads trail"
+
+DEPEND="net-libs/libnsl:0=
+       readline? ( sys-libs/readline:= )
+       erlang? ( dev-lang/erlang )
+       java? ( >=virtual/jdk-1.8:* )
+       mono? ( dev-lang/mono )
+       doc? ( sys-apps/texinfo )"
+
+RDEPEND="${DEPEND}
+       emacs? ( >=app-editors/emacs-23.1:* )"
+
+S="${WORKDIR}"/${MY_P}
+
+SITEFILE=50${PN}-gentoo.el
+
+src_prepare() {
+       if [[ -d "${WORKDIR}"/${PV} ]] ; then
+               eapply "${WORKDIR}"/${PV}
+       fi
+       eapply_user
+
+       AT_M4DIR=m4 eautoreconf
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       strip-flags
+
+       local myconf
+       myconf="--libdir=/usr/$(get_libdir) \
+               $(use_enable mono csharp-grade) \
+               $(use_enable erlang erlang-grade) \
+               $(use_enable java java-grade) \
+               $(use_enable debug debug-grades) \
+               $(use_enable profile prof-grades) \
+               $(use_enable threads par-grades) \
+               $(use_enable trail trail-grades) \
+               $(use_with readline)"
+
+       econf ${myconf}
+}
+
+src_compile() {
+       # Prepare mmake flags
+       echo "EXTRA_CFLAGS = ${CFLAGS}"  >> Mmake.params
+       echo "EXTRA_LDFLAGS = ${LDFLAGS}" >> Mmake.params
+       echo "EXTRA_LD_LIBFLAGS = ${LDFLAGS}" >> Mmake.params
+       echo "EXTRA_MLFLAGS = --no-strip" >> Mmake.params
+
+       if use trail; then
+               echo "CFLAGS-int = -O0" >> Mmake.params
+               echo "CFLAGS-uint = -O0" >> Mmake.params
+       fi
+
+       echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libgc.so" >> 
boehm_gc/Mmake.boehm_gc.params
+       echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_rt.so" >> 
runtime/Mmake.runtime.params
+       echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_std.so" >> 
library/Mmake.library.params
+
+       # Build Mercury using bootstrap grade
+       emake \
+               PARALLEL="'${MAKEOPTS}'" \
+               TEXI2DVI="" PDFTEX=""
+
+       # We can now patch .m Mercury compiler files since we
+       # have just built mercury_compiler.
+       if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then
+               eapply "${WORKDIR}"/${PV}-mmc
+       fi
+
+       # Rebuild Mercury compiler using the just built mercury_compiler
+       emake \
+               PARALLEL="'${MAKEOPTS}'" \
+               MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+               TEXI2DVI="" PDFTEX=""
+
+       # The default Mercury grade may not be the same as the bootstrap
+       # grade. Since src_test() is run before src_install() we compile
+       # the default grade now
+       emake \
+               PARALLEL="'${MAKEOPTS}'" \
+               MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+               TEXI2DVI="" PDFTEX="" \
+               default_grade
+}
+
+src_test() {
+       TEST_GRADE=$(scripts/ml --print-grade)
+       if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then
+               TWS="${S}"/install_grade_dir.${TEST_GRADE}
+               cp runtime/mer_rt.init "${TWS}"/runtime/
+               cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/
+               cp browser/mer_browser.init "${TWS}"/browser/
+       else
+               TWS="${S}"
+       fi
+
+       cd "${S}"/tests || die
+       sed -e "s:@WORKSPACE@:${TWS}:" \
+               < WS_FLAGS.ws \
+               > WS_FLAGS \
+               || die "sed WORKSPACE failed"
+       sed -e "s:@WORKSPACE@:${TWS}:" \
+               < .mgnuc_copts.ws \
+               > .mgnuc_copts \
+               || die "sed WORKSPACE failed"
+       find . -mindepth 1 -type d -exec cp .mgnuc_opts  {} \;
+       find . -mindepth 1 -type d -exec cp .mgnuc_copts {} \;
+
+       # Mercury tests must be run in C locale since Mercury output is
+       # compared to hard-coded warnings/errors
+       LC_ALL="C" \
+       PATH="${TWS}"/scripts:"${TWS}"/util:"${S}"/slice:"${PATH}" \
+       TERM="" \
+       WORKSPACE="${TWS}" \
+       WORKSPACE_FLAGS=yes \
+       MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \
+       MMAKE_DIR="${TWS}"/scripts \
+       MERCURY_SUPPRESS_STACK_TRACE=yes \
+       GRADE=${TEST_GRADE} \
+               mmake || die "mmake test failed"
+}
+
+src_install() {
+       emake \
+               PARALLEL="'${MAKEOPTS}'" \
+               MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+               TEXI2DVI="" PDFTEX="" \
+               DESTDIR="${D}" \
+               INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \
+               install
+
+       if use java; then
+               keepdir /usr/$(get_libdir)/mercury/modules/java
+       fi
+
+       if use mono; then
+               keepdir /usr/$(get_libdir)/mercury/modules/csharp
+       fi
+
+       if use emacs; then
+               elisp-site-file-install "${FILESDIR}/${SITEFILE}" \
+                       || die "elisp-site-file-install failed"
+       fi
+
+       dodoc \
+               BUGS HISTORY LIMITATIONS NEWS README README.Linux \
+               README.Linux-Alpha README.Linux-m68k README.Linux-PPC \
+               RELEASE_NOTES VERSION || die
+
+       if use erlang; then
+               dodoc README.Erlang
+       fi
+
+       if use java; then
+               dodoc README.Java
+       fi
+
+       if use mono; then
+               dodoc README.CSharp
+       fi
+
+       if use examples; then
+               docinto samples
+               dodoc samples/{*.m,README,Mmakefile}
+               dodoc -r samples/c_interface \
+                       samples/diff \
+                       samples/muz \
+                       samples/rot13 \
+                       samples/solutions \
+                       samples/solver_types
+
+               if use java; then
+                       dodoc -r samples/java_interface
+               fi
+
+               ecvs_clean "${D}"/usr/share/doc/${PF}/samples
+       fi
+}
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

Reply via email to