diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lang/mercury | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r-- | dev-lang/mercury/Manifest | 11 | ||||
-rw-r--r-- | dev-lang/mercury/files/50mercury-gentoo.el | 5 | ||||
-rw-r--r-- | dev-lang/mercury/mercury-13.05.2.ebuild | 198 | ||||
-rw-r--r-- | dev-lang/mercury/mercury-14.01.1.ebuild | 202 | ||||
-rw-r--r-- | dev-lang/mercury/mercury-14.01.ebuild | 203 | ||||
-rw-r--r-- | dev-lang/mercury/metadata.xml | 12 |
6 files changed, 631 insertions, 0 deletions
diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest new file mode 100644 index 000000000000..b7a1a499d1ab --- /dev/null +++ b/dev-lang/mercury/Manifest @@ -0,0 +1,11 @@ +AUX 50mercury-gentoo.el 130 BLAKE2B b0108f529cbe5b66b510b2ebab6f091825df9ac92dc1d98bc98b34532b6c217ea5ede7bc5960f6616c3a8201788c6a5094b30871fba15e5ded87eb97ab3f7c1f SHA512 e790f1b396f63bf36e57160d588b1377d3f889156446a7d26a6edd3f7175ee8ac5b8972ee4d0b6045b5442ae750341b5e06adc42f094fd6d08f2b519f4432071 +DIST mercury-13.05.2-gentoo-patchset-1.tar.gz 5622 BLAKE2B c22b3c21a53d10e564b703adbcde2d7986aecad378fc7f904642ad1c59e7de8a1a34c302309a03f35927782eaaa36d9b3f639fd654750d36c1af612b97cb35af SHA512 387956a120b2bbb7da1913e89cf33e7bdb8f205fe207701a33d19ccb667d1ae73a342955642120822448621bdba349ab628290d78fdef35c08b9ccbadda4177f +DIST mercury-14.01-gentoo-patchset-0.tar.gz 5728 BLAKE2B acfc49facf63c3ce4dc50463a5cd38fbfe45bc463b619c1e01d653bfe13172ce9773a3c652c0ad9f1f929ad7806d0e69327249575a2065b77a9ac02de2188469 SHA512 f1e375ac192e478a82863aa7b8e28c1044a490c41bb63f7842b16b12b7cfa9c85938eacad4c3eacf348aafd42dfaa0dea5324b734d0d2a7454e3e9334369658e +DIST mercury-14.01.1-gentoo-patchset-1.tar.gz 4397 BLAKE2B 2eb2b371c7c7c1a8330c9b5ee8f58c5c353214c4ca8115d355ffa13fac27b41836485ef8706e456897e71619571336cab89cadf2b19e966d4b731e83eb9b90d2 SHA512 6b4908e620d60c1745e311ac95336a008656c16a426b697c68cd417ba7eef8f9664f4c7b46e410fc33cfbc4655b8a2ff6ab48fdd979c6197b585c58a6e0346dd +DIST mercury-srcdist-13.05.2.tar.gz 53847394 BLAKE2B 23d2f8de6e9a4a2803fca9f3dec73215f6636389fdf388ef950042eff2ee43671577120f8324b309786d463e30ba9360d2df07ee498d78800182096f8773697e SHA512 2298804d3a04bca6be4bd3046643c7c0d0b22c447423017869cd9bf3a4fb6ec9fd29b5d8e1a386d5d52d07be5cad73608f1fcacf46732a7add93a01dcd199c08 +DIST mercury-srcdist-14.01.1.tar.gz 52658945 BLAKE2B 6497921a0227b9a6fbcbabdd309ef3325f32dda14fc4ddb443368385b89be4011d677a24b30b3702147d1b782fe2597760ad66dd34503aa6aebaf79707466529 SHA512 a128ef0fd4955abadea32019ec59297ffe32537415f32e9e948cbc1c3439bb40eb09de77569690fb18dd7d6969a2b1141b3ae5baeb87f2627eaa65ad93add92c +DIST mercury-srcdist-14.01.tar.gz 52683989 BLAKE2B 32fa014f08ad6a7a4ca62dd08a460620f0c60d311021f3643a81868acdd1eb58150caca81b18612f760125c339a25ed908862e17e38b65dd56bde8c8bd0bffb0 SHA512 77f61df64fc150e08f191860f285b97d11a71a52eabc95f660b3c90d88f8ee71d1227f7ab4b8be78be9d4aa3d62a260a874020023e4795da4cfd2e6fefa9965f +EBUILD mercury-13.05.2.ebuild 5136 BLAKE2B 3053e2bdda4febcfaed7de9cd53e34b3ef6d14f0d8b4369f2b5af7d6e17299aeaed4ca2af81a9fa7521e5b2916525fc0da79feb63dbf0848a21b69e6346a48a8 SHA512 50f0616352d68d71bdfd58a5e4fd4ad2c3e99f53489efa4bc48d761498f56bee0932eef5d4265e5ad1efd89262f9ee70438c0d9edb6ea58e8faa933876e52024 +EBUILD mercury-14.01.1.ebuild 5109 BLAKE2B 2e247d5073d4fd91cb61bd786d9f2d04cc878171d419586a1bfe3d0ac78da648e48c3b24f8cd0ca8b4f420c04ed7949e002ffbc9832e1a8e04e774571a76cd69 SHA512 443279c1d7c79f145c0b8db1958b95dbcbcedfba9bdbaea8c7148df72443560dd1c39b6fe976fd577eb7837ddfc3c60e7e44c5e1cffbda82d4c95a41fc72ca66 +EBUILD mercury-14.01.ebuild 5230 BLAKE2B 4102d4a52455236f69d36032b2878afa337367cb8b812a82820a57373e6f9a4db19a6c64f87a9a382dc6412fbfaf339a3313f4d81ac0bea3d7458436c7e5ac0b SHA512 e5eacb3dd916588e22aa3ae0a2e383295bce505011b68d2b04755ef3e307930166539adf7015fa9fb745f320e1b45e83b77a5ca060db918f3b84c2c6f78e9ab4 +MISC metadata.xml 384 BLAKE2B eaed468c341970157e4e641d25d5d87e0851bdbd31ba9d6c1e428c9f0239ad98220395858d6291fabe41561fb2ecc5c894700a86b290fc3cab2eaeda2a9df372 SHA512 c90a7a81ab16bac0af4bb9dd3f47cfb3987e0c3aebe08bb7ac6125baf7c619269318bd2c7a45e4213184544d981c920cace23ccb61fbb60c0872db77a10e3ecf diff --git a/dev-lang/mercury/files/50mercury-gentoo.el b/dev-lang/mercury/files/50mercury-gentoo.el new file mode 100644 index 000000000000..2ab3ddbc59f1 --- /dev/null +++ b/dev-lang/mercury/files/50mercury-gentoo.el @@ -0,0 +1,5 @@ + +;;; mercury site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") +(autoload 'mdb "gud" "Invoke the Mercury debugger" t) diff --git a/dev-lang/mercury/mercury-13.05.2.ebuild b/dev-lang/mercury/mercury-13.05.2.ebuild new file mode 100644 index 000000000000..b0836202a1bf --- /dev/null +++ b/dev-lang/mercury/mercury-13.05.2.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=2 + +inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib xdg-utils + +PATCHSET_VER="1" +MY_P=${PN}-srcdist-${PV} + +DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language" +HOMEPAGE="http://www.mercurylang.org/index.html" +SRC_URI="http://dl.mercurylang.org/release/${MY_P}.tar.gz + mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="debug emacs erlang examples java minimal readline threads" + +DEPEND="!dev-libs/mpatrol + !dev-util/mono-debugger + readline? ( sys-libs/readline ) + erlang? ( dev-lang/erlang ) + java? ( >=virtual/jdk-1.5 )" + +RDEPEND="${DEPEND} + emacs? ( virtual/emacs )" + +S="${WORKDIR}"/${MY_P} + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + cd "${WORKDIR}" || die + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + epatch "${WORKDIR}"/${PV} + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/scripts/Mmake.vars.in \ + || die "sed libdir failed" + + cd "${S}" || die + eautoconf + + xdg_environment_reset +} + +src_configure() { + strip-flags + + local myconf + myconf="--libdir=/usr/$(get_libdir) \ + --disable-deep-profiler \ + --disable-dotnet-grades \ + --without-hwloc \ + $(use_enable erlang erlang-grade) \ + $(use_enable java java-grade) \ + $(use_enable debug debug-grades) \ + $(use_enable threads par-grades) \ + $(use_enable !minimal most-grades) \ + $(use_with readline)" + + econf ${myconf} +} + +src_compile() { + # Build Mercury using base llds grade + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS='${LDFLAGS}' \ + EXTRA_LD_LIBFLAGS='${LDFLAGS}'" \ + || die "emake failed" + + # We can now patch .m Mercury compiler files since we + # have just built mercury_compiler. + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + epatch "${WORKDIR}"/${PV}-mmc + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/compiler/file_util.m \ + "${S}"/compiler/make.program_target.m \ + || die "sed libdir failed" + + # Rebuild Mercury compiler using the just built mercury_compiler + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS='${LDFLAGS}' \ + EXTRA_LD_LIBFLAGS='${LDFLAGS}'" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + compiler || die "emake compiler failed" + + # The default Mercury grade may not be the same as the grade used to + # compile the llds base grade. Since src_test() is run before + # src_install() we compile the default grade now + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS='${LDFLAGS}' \ + EXTRA_LD_LIBFLAGS='${LDFLAGS}'" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + default_grade || die "emake default_grade failed" +} + +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" + + # 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} \ + MERCURY_ALL_LOCAL_C_INCL_DIRS=" -I${TWS}/boehm_gc/include \ + -I${TWS}/runtime \ + -I${TWS}/library" \ + mmake || die "mmake test failed" +} + +src_install() { + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS='${LDFLAGS}' \ + EXTRA_LD_LIBFLAGS='${LDFLAGS}'" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + INSTALL_PREFIX="${D}"/usr \ + INSTALL_MAN_DIR="${D}"/usr/share/man \ + INSTALL_INFO_DIR="${D}"/usr/share/info \ + INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \ + INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \ + install || die "emake install failed" + + 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 TODO VERSION WORK_IN_PROGRESS || die + + if use erlang; then + dodoc README.Erlang || die + fi + + if use java; then + dodoc README.Java || die + fi + + if use examples; then + insinto /usr/share/doc/${PF}/samples + doins samples/{*.m,README,Mmakefile} || die + doins -r samples/c_interface \ + samples/diff \ + samples/muz \ + samples/rot13 \ + samples/solutions \ + samples/solver_types || die + + if use java; then + doins -r samples/java_interface || die + 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-14.01.1.ebuild b/dev-lang/mercury/mercury-14.01.1.ebuild new file mode 100644 index 000000000000..f192627fc96e --- /dev/null +++ b/dev-lang/mercury/mercury-14.01.1.ebuild @@ -0,0 +1,202 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib xdg-utils + +PATCHSET_VER="1" +MY_P=${PN}-srcdist-${PV} + +DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language" +HOMEPAGE="http://www.mercurylang.org/index.html" +SRC_URI="http://dl.mercurylang.org/release/${MY_P}.tar.gz + mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="amd64 ~x86" + +IUSE="debug emacs erlang examples java mono profile readline threads trail" + +DEPEND="!dev-libs/mpatrol + !dev-util/mono-debugger + net-libs/libnsl:0= + readline? ( sys-libs/readline:= ) + erlang? ( dev-lang/erlang ) + java? ( >=virtual/jdk-1.6:= ) + mono? ( dev-lang/mono )" + +RDEPEND="${DEPEND} + emacs? ( virtual/emacs )" + +S="${WORKDIR}"/${MY_P} + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + cd "${WORKDIR}" || die + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV} ]] ; then + epatch "${WORKDIR}"/${PV} + fi + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/scripts/Mmake.vars.in \ + || die "sed libdir failed" + + cd "${S}" || die + eautoconf + + 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_MLFLAGS = --no-strip" >> Mmake.params + + # Build Mercury using bootstrap grade + emake \ + PARALLEL="${MAKEOPTS}" \ + || die "emake failed" + + # We can now patch .m Mercury compiler files since we + # have just built mercury_compiler. + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then + epatch "${WORKDIR}"/${PV}-mmc + fi + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/compiler/file_util.m \ + "${S}"/compiler/make.program_target.m \ + || die "sed libdir failed" + + # Rebuild Mercury compiler using the just built mercury_compiler + emake \ + PARALLEL="${MAKEOPTS}" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + compiler || die "emake compiler failed" + + # 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 \ + default_grade || die "emake default_grade failed" +} + +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 \ + DESTDIR="${D}" \ + INSTALL_PREFIX="${D}"/usr \ + INSTALL_MAN_DIR="${D}"/usr/share/man \ + INSTALL_INFO_DIR="${D}"/usr/share/info \ + INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \ + INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \ + install || die "emake install failed" + + 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 TODO VERSION WORK_IN_PROGRESS || die + + if use erlang; then + dodoc README.Erlang || die + fi + + if use java; then + dodoc README.Java || die + fi + + if use examples; then + insinto /usr/share/doc/${PF}/samples + doins samples/{*.m,README,Mmakefile} || die + doins -r samples/c_interface \ + samples/diff \ + samples/muz \ + samples/rot13 \ + samples/solutions \ + samples/solver_types || die + + if use java; then + doins -r samples/java_interface || die + 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-14.01.ebuild b/dev-lang/mercury/mercury-14.01.ebuild new file mode 100644 index 000000000000..003906b05deb --- /dev/null +++ b/dev-lang/mercury/mercury-14.01.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib xdg-utils + +PATCHSET_VER="0" +MY_P=${PN}-srcdist-${PV} + +DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language" +HOMEPAGE="http://www.mercurylang.org/index.html" +SRC_URI="http://dl.mercurylang.org/release/${MY_P}.tar.gz + mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="debug emacs erlang examples java minimal readline threads" + +DEPEND="!dev-libs/mpatrol + !dev-util/mono-debugger + net-libs/libnsl:0= + readline? ( sys-libs/readline:= ) + erlang? ( dev-lang/erlang ) + java? ( >=virtual/jdk-1.6:= )" + +RDEPEND="${DEPEND} + emacs? ( virtual/emacs )" + +S="${WORKDIR}"/${MY_P} + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + cd "${WORKDIR}" || die + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV} ]] ; then + epatch "${WORKDIR}"/${PV} + fi + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/scripts/Mmake.vars.in \ + || die "sed libdir failed" + + cd "${S}" || die + eautoconf + + xdg_environment_reset +} + +src_configure() { + strip-flags + + local myconf + myconf="--libdir=/usr/$(get_libdir) \ + --disable-deep-profiler \ + --disable-dotnet-grades \ + --without-hwloc \ + $(use_enable erlang erlang-grade) \ + $(use_enable java java-grade) \ + $(use_enable debug debug-grades) \ + $(use_enable threads par-grades) \ + $(use_enable !minimal most-grades) \ + $(use_with readline)" + + econf ${myconf} +} + +src_compile() { + # Build Mercury using base llds grade + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_CFLAGS='${CFLAGS}' \ + EXTRA_LDFLAGS='${LDFLAGS}'" \ + || die "emake failed" + + # We can now patch .m Mercury compiler files since we + # have just built mercury_compiler. + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then + epatch "${WORKDIR}"/${PV}-mmc + fi + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/compiler/file_util.m \ + "${S}"/compiler/make.program_target.m \ + || die "sed libdir failed" + + # Rebuild Mercury compiler using the just built mercury_compiler + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_CFLAGS='${CFLAGS}' \ + EXTRA_LDFLAGS='${LDFLAGS}'" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + compiler || die "emake compiler failed" + + # The default Mercury grade may not be the same as the grade used to + # compile the llds base grade. Since src_test() is run before + # src_install() we compile the default grade now + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_CFLAGS='${CFLAGS}' \ + EXTRA_LDFLAGS='${LDFLAGS}'" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + default_grade || die "emake default_grade failed" +} + +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" + + # 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} \ + MERCURY_ALL_LOCAL_C_INCL_DIRS=" -I${TWS}/boehm_gc/include \ + -I${TWS}/runtime \ + -I${TWS}/library" \ + mmake || die "mmake test failed" +} + +src_install() { + emake \ + PARALLEL=${MAKEOPTS} \ + MMAKEFLAGS="EXTRA_MLFLAGS=--no-strip \ + EXTRA_CFLAGS='${CFLAGS}' \ + EXTRA_LDFLAGS='${LDFLAGS}'" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + INSTALL_PREFIX="${D}"/usr \ + INSTALL_MAN_DIR="${D}"/usr/share/man \ + INSTALL_INFO_DIR="${D}"/usr/share/info \ + INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \ + INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \ + install || die "emake install failed" + + 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 TODO VERSION WORK_IN_PROGRESS || die + + if use erlang; then + dodoc README.Erlang || die + fi + + if use java; then + dodoc README.Java || die + fi + + if use examples; then + insinto /usr/share/doc/${PF}/samples + doins samples/{*.m,README,Mmakefile} || die + doins -r samples/c_interface \ + samples/diff \ + samples/muz \ + samples/rot13 \ + samples/solutions \ + samples/solver_types || die + + if use java; then + doins -r samples/java_interface || die + 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 new file mode 100644 index 000000000000..9ecd0bc6506f --- /dev/null +++ b/dev-lang/mercury/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>keri@gentoo.org</email> + <name>Keri Harris</name> + </maintainer> + <use> + <flag name="erlang">Support Mercury Erlang grade</flag> + <flag name="trail">Support Mercury trail grades</flag> + </use> +</pkgmetadata> |