summaryrefslogtreecommitdiff
path: root/dev-lang/mercury
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r--dev-lang/mercury/Manifest3
-rw-r--r--dev-lang/mercury/mercury-20.01.2.ebuild202
2 files changed, 205 insertions, 0 deletions
diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest
index 2d103fd0f67f..731137dd5042 100644
--- a/dev-lang/mercury/Manifest
+++ b/dev-lang/mercury/Manifest
@@ -2,10 +2,13 @@ AUX 50mercury-gentoo.el 130 BLAKE2B b0108f529cbe5b66b510b2ebab6f091825df9ac92dc1
DIST mercury-14.01.1-gentoo-patchset-5.tar.gz 5693 BLAKE2B 300de3254bc0d2f59493c0e2243b0d8786fccce714134a11ce510120b7d9f05ebe4835f084ec2db2ddaf2d405cbae65e86d809847079a7d63a6a68021d9d29e8 SHA512 3f9f1e2359f372e4f510b9a00c197978657b28d1308d12cba4d08a982877e2311d7fb6e626dad07d0fa09d24f97334575557cb49003508fdc7b32288c1ae8f2d
DIST mercury-20.01-gentoo-patchset-0.tar.gz 3862 BLAKE2B 79ef6d30add63a5d419e3dd5b376fd9c1727038102db2bc0e8ccd8b71cdc1c80e721647f34764b0aa4fd6d58b9e38c9675f234714f381f94be572b9b64b478e1 SHA512 2835b4740453bcc358363f9eaa0264706125b5e5f7a38802d5f280ccd777d4c760124ed3a635f17ecc2ae772767e9fa5d61093c40094358a0a96a726a23ff08e
DIST mercury-20.01.1-gentoo-patchset-0.tar.gz 3943 BLAKE2B 0fd149c622715bf191182bd93e264096327d7869e30aaa10bb19b70bec5563520026e2561cc6607c62801ed00ed6b5907bbae4be997869b9facb2f9d65ec0c7a SHA512 d866b35b6df14645ef60ff25497f9bbf0c2caeae2145bc0aef2adea0e651379c673c1815c717f1a51457d93cc67e9ae3dafe5d9fce1d4734bf1673e4cfcbd367
+DIST mercury-20.01.2-gentoo-patchset-1.tar.gz 4562 BLAKE2B f1e9d040cfd5930c4f4d9722fc10e11532272f1fa0ab6bd25cc0d2ed42eb0edfbe6f9bc1d41972775fa720b80601d5fdae1681d56f677861fab15e10cc6d05cb SHA512 4f89b09e1e196a61892811167bc0dc1b3ee868ef336efdf66e417574c18ea53b557bd87d5c5300eee8194a3c4250b47e70f5991fcc25b1c58d956a4b097eaec5
DIST mercury-srcdist-14.01.1.tar.gz 52658945 BLAKE2B 6497921a0227b9a6fbcbabdd309ef3325f32dda14fc4ddb443368385b89be4011d677a24b30b3702147d1b782fe2597760ad66dd34503aa6aebaf79707466529 SHA512 a128ef0fd4955abadea32019ec59297ffe32537415f32e9e948cbc1c3439bb40eb09de77569690fb18dd7d6969a2b1141b3ae5baeb87f2627eaa65ad93add92c
DIST mercury-srcdist-20.01.1.tar.gz 47088335 BLAKE2B 1e3285dadc3748934e801b8ac0316d3005fbe24c20c9ceb694e9fc316d820fdb89c659107b25ee474fd6ac50d661dd029af9ca5082016a3b0827dd640a54a707 SHA512 24ad0bbecee46ab6ff669d63d64096b37a0d010bb44978a1785eee2701a8b30a83eab229af97cbbb18bca55b5e89be9ba74fe126d1d430da1e1e909366dc5b90
+DIST mercury-srcdist-20.01.2.tar.gz 46789217 BLAKE2B bc9637c1b4afb81d4bf35cd94a1f1d87b17094d8a6cbb7e5c8b0ff9c99ce59178d9e32bae246dd041ad781fe5d04e68db8f5effbb6bfcc29b76a83aad91a5666 SHA512 0deed9c0a13ebf793fb80def3fe6d9ee0aa4f0f2974865364eff81bdcac1ec0c41aafbec3e0146c8bdcf3245789e1003b2e4f8e219b53bec71e90074867a834d
DIST mercury-srcdist-20.01.tar.gz 47103868 BLAKE2B 68be786e925bdf94dcba6c6a2a746a384da345ee33250785d8d2b9281815694a4525cdd694c26f58051c097f2a897291e640e2139729ccede9bd2e472077d8c9 SHA512 90e36faa375603e596b2dd692363528120fda62ae6d2e2b119cf76de1656dae4028aff00858a4bff3fdfb9b2210ea17db0aa516ce4283604c46a5935dd2cd4b7
EBUILD mercury-14.01.1-r1.ebuild 5624 BLAKE2B 0ddb116dec074a53e316935279650cecae3990ec9cbdbfbc1e99e6c47d0fceb20bcbb685259a78e18a850fafe2e4d609072a5183a2ef9ef3a6d45ba9368dbdc7 SHA512 338dee876d50fee43085a203b6adafaeb0f921c855925bda05ba3b30f133ac8eab9dfd476793d63f99ef5f9e4cb40775c9255c835c38685dd13fa78b54b2690f
EBUILD mercury-20.01.1.ebuild 4984 BLAKE2B 55587832b1021ed04397d28a254bc17ca6172b52ac2afa89979f99a65d90107b52ea3758303d26b224ccffda5e5a2be76655d5791f0d2fa6d3fcb69caf5ae01b SHA512 fd270ddc8913049f2bb8cf472c85fc5d4724a4d979399ed2919cc34760c61492ec46fe8c9abbe2b7b9f43c0ff7fc608bfcba744bbbd05a75e0d1aa4387ba6c91
+EBUILD mercury-20.01.2.ebuild 5073 BLAKE2B 669670dc48445434e48190c7f5414dd48132ce97080bb56c47f3669d92164ef005007fd07fb3335cb53a0044dd37423cbea4d42ed960792ff18ba96c8aba8378 SHA512 fd037eecd755cef8214d48cb3a7b40c6406ea4f12c15392f898270deb88909b2edcf24892106a7d960118b282d5bbe4b7a3eb0cad81a2907b6aea0fa5afb3335
EBUILD mercury-20.01.ebuild 5129 BLAKE2B 93b409d07e9a60705630c17100da0231b5aaa74089990b32d02dbbde77681c428242f096a39b90e2136aba6fb30310ced9e98aeaecc6d2dc553f427461dc27f5 SHA512 4355a4e2f2280c9196c4e1aedd804b94b50933da23a9337b948756a1a8c5f824320d837f5dd49a1e498e7b0d68e9786c00afcb3d5d90fba1975f5626d0787430
MISC metadata.xml 384 BLAKE2B eaed468c341970157e4e641d25d5d87e0851bdbd31ba9d6c1e428c9f0239ad98220395858d6291fabe41561fb2ecc5c894700a86b290fc3cab2eaeda2a9df372 SHA512 c90a7a81ab16bac0af4bb9dd3f47cfb3987e0c3aebe08bb7ac6125baf7c619269318bd2c7a45e4213184544d981c920cace23ccb61fbb60c0872db77a10e3ecf
diff --git a/dev-lang/mercury/mercury-20.01.2.ebuild b/dev-lang/mercury/mercury-20.01.2.ebuild
new file mode 100644
index 000000000000..b0c5ecffdb0f
--- /dev/null
+++ b/dev-lang/mercury/mercury-20.01.2.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib vcs-clean xdg-utils
+
+PATCHSET_VER="1"
+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.01/${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.6:= )
+ 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
+
+ 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 /usr/share/doc/${PF}/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
+}