commit:     18342f8029785f8e9645cb5bb64ef6e5c7954004
Author:     Keri Harris <keri <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  1 10:36:24 2020 +0000
Commit:     Keri Harris <keri <AT> gentoo <DOT> org>
CommitDate: Wed Apr  1 10:36:52 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18342f80

dev-lang/mercury-extras: version bump

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

 dev-lang/mercury-extras/Manifest                   |   2 +
 .../mercury-extras/mercury-extras-20.01.1.ebuild   | 317 +++++++++++++++++++++
 2 files changed, 319 insertions(+)

diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest
index e20f8ef9a2c..34143af31a7 100644
--- a/dev-lang/mercury-extras/Manifest
+++ b/dev-lang/mercury-extras/Manifest
@@ -1,4 +1,6 @@
 DIST mercury-extras-14.01.1-gentoo-patchset-4.tar.gz 4361 BLAKE2B 
a1939e4b76782cb01fc7ee5dcb1ccbb885e93992d0e6f540552eb987f405b3a70671527dfacb873323f6030bb6de2f6cdd23768dbc36e8b656d836e2890b7d8a
 SHA512 
e30ac4e9c0592a1ea5253663bf351814e91977ea53892dca4d996b217aac959265563910cc21aa64ee12a93ea379cb8143730585c7d32390bcf05f2a1b0590d7
 DIST mercury-extras-20.01-gentoo-patchset-0.tar.gz 542 BLAKE2B 
4f24f5af21cbd566eb72ce03d618d858f16d02a921b506c933342181ea057d98377077535571223c85b1f1fa5854e52005f67f40dd75bb392929faaad889eed1
 SHA512 
6a2eb1dbaac1f028c0ce5f0e21a8f24bd4ba9b068f1ea5d8554c5fb7376642797709f0aa93db336d2f015b6f815d0aa27c7d60720aab340ace180d49791bd852
+DIST mercury-extras-20.01.1-gentoo-patchset-0.tar.gz 732 BLAKE2B 
32287e116b94b540ca0b710eac8921669ff9a56b5d8a812eba8443609ccfc8c937baaa53a0ae4704abdc78013d58eddd0dc5cda7c807d7a0b724ebda1dede723
 SHA512 
0d3ca2984eb054ec2add5e05fb49d4fa711b3c78038b4e9777c4767083fc3bae552a261677fed6f07c293d2fb1ebf632ba633eb64a3a8ab4880c6f6619a197ea
 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.tar.gz 47103868 BLAKE2B 
68be786e925bdf94dcba6c6a2a746a384da345ee33250785d8d2b9281815694a4525cdd694c26f58051c097f2a897291e640e2139729ccede9bd2e472077d8c9
 SHA512 
90e36faa375603e596b2dd692363528120fda62ae6d2e2b119cf76de1656dae4028aff00858a4bff3fdfb9b2210ea17db0aa516ce4283604c46a5935dd2cd4b7

diff --git a/dev-lang/mercury-extras/mercury-extras-20.01.1.ebuild 
b/dev-lang/mercury-extras/mercury-extras-20.01.1.ebuild
new file mode 100644
index 00000000000..8a9593959ae
--- /dev/null
+++ b/dev-lang/mercury-extras/mercury-extras-20.01.1.ebuild
@@ -0,0 +1,317 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils multilib vcs-clean
+
+PATCHSET_VER="0"
+MY_P=mercury-srcdist-${PV}
+
+DESCRIPTION="Additional libraries and tools that are not part of the Mercury 
standard library"
+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="cairo examples glut gmp iodbc ncurses odbc opengl ssl tk tommath X xml"
+REQUIRED_USE="?? ( odbc iodbc )"
+
+RDEPEND="
+       ~dev-lang/mercury-${PV}
+       cairo? ( >=x11-libs/cairo-1.10.0 )
+       gmp? ( dev-libs/gmp:0 )
+       glut? ( media-libs/freeglut )
+       odbc? ( dev-db/unixODBC )
+       iodbc? ( dev-db/libiodbc )
+       tommath? ( dev-libs/libtommath )
+       ncurses? ( sys-libs/ncurses:= )
+       opengl? (
+               virtual/opengl
+               virtual/glu
+       )
+       tk? (
+               dev-lang/tcl:0
+               dev-lang/tk:0
+       )
+       X? ( x11-libs/libX11 )"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}/extras
+
+mercury_pkgs() {
+       echo "
+               align_right/align_right:bin:
+               base64/mercury_base64:lib:
+               cgi/mercury_www:lib:
+               complex_numbers/complex_numbers:lib:
+               $(use ncurses && echo \
+                       curs/curs:lib:ncurses,panel curses/mcurses:lib:ncurses)
+               dynamic_linking/dl:lib:
+               error/error:bin:
+               fixed/fixed:lib:
+               $(use gmp && echo gmp_int/gmp_int:lib:)
+               $(use tommath && echo mp_int/mp_int:lib:libtommath)
+               $(use X && echo graphics/easyx/easyx:lib:x11)
+               $(use cairo && echo 
graphics/mercury_cairo/mercury_cairo:lib:cairo)
+               $(use glut && echo 
graphics/mercury_glut/mercury_glut:lib:freeglut)
+               $(use opengl && echo 
graphics/mercury_opengl/mercury_opengl:lib:gl,glu)
+               $(use tk && echo graphics/mercury_tcltk/mercury_tcltk:lib:tk)
+               lex/lex:lib:
+               lex/regex:lib:
+               moose/moose:bin:
+               net/net:lib:
+               net/echo:bin:
+               $(use ssl && echo mopenssl/mopenssl:lib:openssl)
+               $(use odbc && echo odbc/odbc:lib:)
+               $(use iodbc && echo odbc/odbc:lib:libiodbc)
+               posix/posix:lib:
+               $(has_version dev-lang/mercury[trail] && echo \
+                       references/global:lib: 
trailed_update/trailed_update:lib:)
+               show_ops/show_ops:bin:
+               solver_types/library/any:lib:
+               $(use xml && echo xml/xml:lib:)"
+}
+
+mercury_pkg_setup() {
+       mercury_pkg=${1%%:*}
+       mercury_pkg_dir=${mercury_pkg%/*}
+       mercury_pkg_name=${mercury_pkg##*/}
+
+       mercury_pkg_atts=${1#*:}
+       mercury_pkg_type=${mercury_pkg_atts%%:*}
+       mercury_pkg_deps=${mercury_pkg_atts#*:}
+
+       cd "${S}"/${mercury_pkg_dir} || die
+
+       echo ">> Preparing Mercury package: ${mercury_pkg}"
+
+       if ! test -f "${S}"/${mercury_pkg_dir}/gentoo.params; then
+               echo "LIBGRADES := \$(filter-out java,\$(LIBGRADES))" \
+                       > "${S}"/${mercury_pkg_dir}/gentoo.params
+               echo "LIBGRADES := \$(filter-out erlang,\$(LIBGRADES))" \
+                       >> "${S}"/${mercury_pkg_dir}/gentoo.params
+               echo "LIBGRADES := \$(filter-out csharp,\$(LIBGRADES))" \
+                       >> "${S}"/${mercury_pkg_dir}/gentoo.params
+               echo "include gentoo.params" > 
"${S}"/${mercury_pkg_dir}/Mmakefile
+       fi
+
+       if test -n "$mercury_pkg_deps"; then
+               echo "EXTRA_CFLAGS += $(pkg-config --cflags 
${mercury_pkg_deps/,/ })" \
+                       >> "${S}"/${mercury_pkg_dir}/gentoo.params
+               echo "EXTRA_MLLIBS += $(pkg-config --libs ${mercury_pkg_deps/,/ 
})" \
+                       >> "${S}"/${mercury_pkg_dir}/gentoo.params
+       fi
+
+       if test ${mercury_pkg_name} = dl; then
+               echo "EXTRA_MLLIBS = -ldl" >> 
"${S}"/${mercury_pkg_dir}/gentoo.params
+       elif test ${mercury_pkg_name} = gmp_int; then
+               echo "EXTRA_MLLIBS = -lgmp" >> 
"${S}"/${mercury_pkg_dir}/gentoo.params
+       elif test ${mercury_pkg_name} = mercury_tcltk; then
+               echo "EXTRA_CFLAGS += -DUSE_INTERP_RESULT" \
+                       >> "${S}"/${mercury_pkg_dir}/gentoo.params
+       elif test ${mercury_pkg_name} = mopenssl; then
+               local 
net_libdir="${D}/usr/$(get_libdir)/mercury/extras/lib/\$(GRADE)"
+               echo "EXTRA_MLLIBS += -L${net_libdir} -L../net -lnet" \
+                       >> "${S}"/${mercury_pkg_dir}/gentoo.params
+               echo "net%:" >> "${S}"/${mercury_pkg_dir}/gentoo.params
+               echo "  cp ../net/\$@ \$@" >> 
"${S}"/${mercury_pkg_dir}/gentoo.params
+       elif test ${mercury_pkg_name} = odbc && use odbc; then
+               echo "EXTRA_CFLAGS = -DMODBC_UNIX -DMODBC_MYSQL" \
+                       >> "${S}"/${mercury_pkg_dir}/Mmakefile
+               echo "EXTRA_MLLIBS = -lodbc" >> 
"${S}"/${mercury_pkg_dir}/gentoo.params
+       elif test ${mercury_pkg_name} = odbc && use iodbc; then
+               echo "EXTRA_CFLAGS += -DMODBC_IODBC -DMODBC_MYSQL" \
+                       >> "${S}"/${mercury_pkg_dir}/gentoo.params
+       fi
+}
+
+mercury_pkg_compile() {
+       mercury_pkg=${1%%:*}
+       mercury_pkg_dir=${mercury_pkg%/*}
+       mercury_pkg_name=${mercury_pkg##*/}
+
+       mercury_pkg_atts=${1#*:}
+       mercury_pkg_type=${mercury_pkg_atts%:*}
+
+       cd "${S}"/${mercury_pkg_dir} || die
+
+       echo ">> Compiling Mercury package: ${mercury_pkg}"
+
+       if test "${mercury_pkg_type}" = "bin"; then
+               mercury_mmc_target=${mercury_pkg_name}
+       else
+               mercury_mmc_target=lib${mercury_pkg_name}
+       fi
+
+       # Mercury dependency generation must be run single-threaded
+       mmc -f *.m || die "mmc -f .m failed"
+       mmake -j1 \
+               ${mercury_pkg_name}.depend \
+               || die "mmake ${mercury_pkg} depend failed"
+
+       # Compiling Mercury submodules is not thread-safe
+       mmake -j1 \
+               MLFLAGS=--no-strip \
+               CFLAGS="${CFLAGS}" \
+               LD_LIBFLAGS="${LDFLAGS} -L/usr/$(get_libdir)" \
+               ${mercury_mmc_target} || die "mmake ${mercury_pkg} failed"
+
+}
+
+mercury_pkg_install() {
+       mercury_pkg=${1%%:*}
+       mercury_pkg_dir=${mercury_pkg%/*}
+       mercury_pkg_name=${mercury_pkg##*/}
+
+       mercury_pkg_atts=${1#*:}
+       mercury_pkg_type=${mercury_pkg_atts%:*}
+
+       cd "${S}"/${mercury_pkg_dir} || die
+
+       echo ">> Installing Mercury package: ${mercury_pkg}"
+
+       if test "${mercury_pkg_type}" = "bin"; then
+               into /usr/$(get_libdir)/mercury/extras
+               dobin ${mercury_pkg_name}
+       else
+               # Compiling Mercury submodules is not thread-safe
+               mmake -j1 \
+                       MLFLAGS=--no-strip \
+                       CFLAGS="${CFLAGS}" \
+                       LD_LIBFLAGS="${LDFLAGS} -L/usr/$(get_libdir)" \
+                       INSTALL_LIBDIR="${D}/usr/$(get_libdir)/mercury/extras" \
+                       lib${mercury_pkg_name}.install || die "mmake 
${mercury_pkg} failed"
+       fi
+}
+
+src_prepare() {
+       cd "${WORKDIR}"/${MY_P}
+       if [[ -d "${WORKDIR}"/${PV} ]] ; then
+               eapply "${WORKDIR}"/${PV}
+       fi
+       eapply_user
+
+       cd "${S}"
+       for mercury_pkg in $(mercury_pkgs); do
+               mercury_pkg_setup ${mercury_pkg}
+       done
+}
+
+src_compile() {
+       for mercury_pkg in $(mercury_pkgs); do
+               mercury_pkg_compile ${mercury_pkg}
+       done
+}
+
+src_install() {
+       for mercury_pkg in $(mercury_pkgs); do
+               mercury_pkg_install ${mercury_pkg}
+       done
+
+       cd "${S}"
+       dodoc README
+
+       if use examples; then
+               docinto samples/cgi
+               dodoc cgi/form_test.m
+
+               docinto samples/complex_numbers
+               dodoc complex_numbers/samples/*.m
+
+               if use ncurses; then
+                       docinto samples/curs
+                       dodoc curs/samples/*.m
+
+                       docinto samples/curses
+                       dodoc curses/sample/*.m
+               fi
+
+               docinto samples/dynamic_linking
+               dodoc dynamic_linking/{hello,dl_test}.m
+
+               docinto samples/gator
+               dodoc -r gator/*
+
+               if use gmp; then
+                       docinto samples/gmp_int
+                       dodoc gmp_int/gmp_int_test.m
+               fi
+
+               if use tommath; then
+                       docinto samples/mp_int
+                       dodoc mp_int/mp_int_test.m
+               fi
+
+               if use X; then
+                       docinto samples/graphics
+                       dodoc graphics/easyx/samples/*.m
+               fi
+
+               if use glut && use opengl; then
+                       docinto samples/graphics
+                       dodoc graphics/samples/gears/*.m
+                       dodoc graphics/samples/maze/*.m
+               fi
+
+               if use tk; then
+                       docinto samples/graphics
+                       dodoc graphics/samples/calc/*.m
+               fi
+
+               if use opengl && use tk; then
+                       docinto samples/graphics
+                       dodoc graphics/samples/pent/*.m
+               fi
+
+               docinto samples/lex
+               dodoc lex/samples/*.m
+
+               docinto samples/log4m
+               dodoc log4m/*.m
+
+               docinto samples/monte
+               dodoc monte/*.m
+
+               docinto samples/moose
+               dodoc moose/samples/*
+
+               docinto samples/net
+               dodoc net/test_lookups.m
+
+               if use odbc || use iodbc; then
+                       docinto samples/odbc
+                       dodoc odbc/odbc_test.m
+               fi
+
+               docinto samples/posix
+               dodoc posix/samples/*.m
+
+               docinto samples/random
+               dodoc random/*.m
+
+               if has_version dev-lang/mercury[trail]; then
+                       docinto samples/references
+                       dodoc references/samples/*.m
+
+                       docinto samples/trail
+                       dodoc trail/*.m
+
+                       docinto samples/trailed_update
+                       dodoc trailed_update/samples/*.m
+               fi
+
+               if use xml; then
+                       docinto samples/xml
+                       dodoc xml/tryit.m
+                       dodoc xml/samples/*
+                       dodoc xml_stylesheets/*.xsl
+               fi
+
+               ecvs_clean
+       fi
+}

Reply via email to