summaryrefslogtreecommitdiff
path: root/dev-lang/mercury
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-09 00:08:14 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-09 00:08:14 +0100
commit4fe228ee9aa3b9b825d54ace549a5517e153e8bd (patch)
tree90a261e3ea59b80722d70d3c42f3e40d16c9f8dd /dev-lang/mercury
parentadc09cc4e6ebf7931735c02c0c272b4b885c2b30 (diff)
gentoo auto-resync : 09:06:2024 - 00:08:13
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r--dev-lang/mercury/Manifest11
-rw-r--r--dev-lang/mercury/mercury-20.06-r1.ebuild207
-rw-r--r--dev-lang/mercury/mercury-20.06.1.ebuild207
-rw-r--r--dev-lang/mercury/mercury-22.01.ebuild201
-rw-r--r--dev-lang/mercury/metadata.xml1
5 files changed, 1 insertions, 626 deletions
diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest
index 0cd84d1cc1af..daa15a0e809a 100644
--- a/dev-lang/mercury/Manifest
+++ b/dev-lang/mercury/Manifest
@@ -1,14 +1,5 @@
AUX 50mercury-gentoo.el 130 BLAKE2B b0108f529cbe5b66b510b2ebab6f091825df9ac92dc1d98bc98b34532b6c217ea5ede7bc5960f6616c3a8201788c6a5094b30871fba15e5ded87eb97ab3f7c1f SHA512 e790f1b396f63bf36e57160d588b1377d3f889156446a7d26a6edd3f7175ee8ac5b8972ee4d0b6045b5442ae750341b5e06adc42f094fd6d08f2b519f4432071
-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-22.01-gentoo-patchset-0.tar.gz 4147 BLAKE2B d59f58cb8870ee3ba636f62c1df7ab54d45d23e92626e1a18717e2ef7511c8a14a63c7d9bbfbeb8ec78841f6a05311f2431c5488df9996dae1ab71ce39c99a55 SHA512 a38d524e900b1771a12921618f785436ebca6029d94c9bd7a3115682b900d688d4cab3e3167a7b110f2fc4f5e9d09c1f24dffe9e39222efd20bb17782829b4a8
DIST mercury-22.01.1-gentoo-patchset-2.tar.gz 4975 BLAKE2B 73dfe5688f7f2c44ee236e3b9fd38811afecc7f8f4dd8f0694c2c3f27ce20a74aade3678bb3a16f7bcfc1fc8b07e518a5954802e410a3f566c00df7898800675 SHA512 16319d2e78af5cb73f67555c1498b277e8c6435cfe4e62fc87817cf06f04deadfad6f8264a5270100aaf6985866b879e9b7c69d3c1839c25d36ca2506bbabd72
-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
DIST mercury-srcdist-22.01.1.tar.gz 48956249 BLAKE2B 0f5a7662327f27c27a4d9e421f71afa58920f6232093452781124817ce5c34d1953a80a08b75e95101a7e2e88159b7d4ead08d25c67a99abcb908a9582af2bab SHA512 5fa49640307233ea0f641488e5ea526385e52833007a31469e083711b63925ca7568d7ad6e09301ddf7816384a080546bc4cf46b1422f974e008917d1aa4f37a
-DIST mercury-srcdist-22.01.tar.gz 48960609 BLAKE2B 4ac45251bc098c1465f4bc418501db152bfcf36a2e04bb9153a44c44ff2dff300545103c29551818e773728c5a61947c019997fcc2cb64900e538d5ef64c1b39 SHA512 35b3b1e9fd85062edea5263b304bfc965382d04353e5548d59211519ee222bb6a8e8c95cb03faa089062e39c90b2d1c4af7ca0d9eabbf3bb44872d461e10ff2d
-EBUILD mercury-20.06-r1.ebuild 5153 BLAKE2B a0dc0de9e1f4a5688c24c7fc2e85c1c6cb12906cb29ddf0b45801ec5dd376faffa5a2267e7ce980ae7edafd5108f72dd463f986ee2c6b82288d3c6487e656896 SHA512 4f707683f8188d39740934d21488fd94307fe093ae9b2ac65fc59cd16d2c7493ab0931a970c34539aa420a8d30d63a5c923b2f32814a701c02dcd4558e943c8c
-EBUILD mercury-20.06.1.ebuild 5166 BLAKE2B 52beeb0a8573ab7429bc473d867e168c78a5e20b83b02a537b5a8c7e0601b26cccf75b79a75ae7f7b0c2d1e5cb79f954a0e0578290b29079e7dc4a87737d2bd5 SHA512 b0dc5e6d3624aa018824f68890baeeecd41dbef5826df721e2b653be75023964e2614332f4a78c1bde3d7b0bc79788cffa7ba445a78cc0b6cc9ff05ee10ba5fc
EBUILD mercury-22.01.1.ebuild 5109 BLAKE2B cfb43b3ebeb96dd1e38aef5aaef378fc87855464f9bf646d1d7c1c9a79b43bfcbeb1f48cbcea4c9c15ed915fe369d2fe54635828185362180f3a4176e96b0707 SHA512 ab82b96041a805983ceeda728d635bdc02b1cac5ae7724580af75763d09378fc270dd518d7e6af9745009023379f25b835bd84f2cc917351f848cbd19a7da021
-EBUILD mercury-22.01.ebuild 5032 BLAKE2B fcffc78e2ebdbf9476a9304106892320e3a885af80d2a461174a0ae6e38a94ce7c785391bce474ff986b95a89b8b926a2c2bc825c8d6fe37b1e32c405098895e SHA512 ae0bd5fb6cef6dbb33055df9b93cddc7a1a4610f5a82fada7be9a16d51efdcbe4ddb656c6660026699c8876872aa90bfb57dba761c59f60192baec4c399e1191
-MISC metadata.xml 305 BLAKE2B b93505d9f53549e9e0c06885e39183949d8998bf0127244890d66a3a92e0ed742e99a14ccea9ba62d43d3e3c30fdb80a20b8a98e0093e6e877995a97b6a83084 SHA512 9c71832ca6214e85a330ad205630f0179f83d46f486b1961e2bb569e233b98ac2213851e0762e65ae9e788838d72be8a9406b290948489c17f0c890bb380e33d
+MISC metadata.xml 245 BLAKE2B 8b9b3b37eb7968bc70470ad8ca3558be11ba639523d6f6eda4ca477f5205e0af09337b86ca7139da797316f3d169293f45346f0a7f5357f3759257c36d77717a SHA512 61633840e25872835cd4cb6662b6a1416a9cc3e5d37f49503e8de62e8429fd6f95e4b2432118222073e795081bfcebdd66bdd911724f162b6ac50013e34ac786
diff --git a/dev-lang/mercury/mercury-20.06-r1.ebuild b/dev-lang/mercury/mercury-20.06-r1.ebuild
deleted file mode 100644
index d2f14d41fd07..000000000000
--- a/dev-lang/mercury/mercury-20.06-r1.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# 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="3"
-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
-}
diff --git a/dev-lang/mercury/mercury-20.06.1.ebuild b/dev-lang/mercury/mercury-20.06.1.ebuild
deleted file mode 100644
index ece3d848fee3..000000000000
--- a/dev-lang/mercury/mercury-20.06.1.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2022 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} -Wno-error" >> 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
-}
diff --git a/dev-lang/mercury/mercury-22.01.ebuild b/dev-lang/mercury/mercury-22.01.ebuild
deleted file mode 100644
index 3524e6009a37..000000000000
--- a/dev-lang/mercury/mercury-22.01.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 1999-2022 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/${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 examples java mono profile readline threads trail"
-
-DEPEND="net-libs/libnsl:0=
- readline? ( sys-libs/readline:= )
- 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 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} -Wno-error" >> 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.md NEWS README README.md \
- README.Linux README.Linux-m68k README.Linux-PPC \
- RELEASE_NOTES VERSION || die
-
- 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
-}
diff --git a/dev-lang/mercury/metadata.xml b/dev-lang/mercury/metadata.xml
index 99628dd871a5..5061e4f27e59 100644
--- a/dev-lang/mercury/metadata.xml
+++ b/dev-lang/mercury/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<!-- maintainer-needed -->
<use>
- <flag name="erlang">Support Mercury Erlang grade</flag>
<flag name="trail">Support Mercury trail grades</flag>
</use>
</pkgmetadata>