summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2020-09-13 12:47:52 +0200
committerKeri Harris <keri@gentoo.org>2020-09-13 12:48:24 +0200
commit6169fa84bab087e3f67bffe70222cdd0d4df9eb0 (patch)
tree2c99a982638d0cd268a63bd1b6975241d5b6a751 /dev-lang
parentdev-lang/mercury: version bump (diff)
downloadgentoo-6169fa84bab087e3f67bffe70222cdd0d4df9eb0.tar.gz
gentoo-6169fa84bab087e3f67bffe70222cdd0d4df9eb0.tar.bz2
gentoo-6169fa84bab087e3f67bffe70222cdd0d4df9eb0.zip
dev-lang/mercury-extras: version bump
Package-Manager: Portage-2.3.103, Repoman-2.3.22 Signed-off-by: Keri Harris <keri@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/mercury-extras/Manifest2
-rw-r--r--dev-lang/mercury-extras/mercury-extras-20.06.ebuild319
2 files changed, 321 insertions, 0 deletions
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest
index f77046c46025..e308fc5a33e5 100644
--- a/dev-lang/mercury-extras/Manifest
+++ b/dev-lang/mercury-extras/Manifest
@@ -2,7 +2,9 @@ DIST mercury-extras-14.01.1-gentoo-patchset-4.tar.gz 4361 BLAKE2B a1939e4b76782c
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-extras-20.01.2-gentoo-patchset-1.tar.gz 922 BLAKE2B 3713bb18147328acfda4e605ca241a000b19c787f15998ba79b9198bf0bd2e5597df3198837efc24679655d923c56391973085c59498d5441626cab4bbce6226 SHA512 70fa7bb240ccee87557eaf84dba712f162543c0caca4e80ec2ab47ed9f5a81cc8f1ad47a85671cfe3f917c4757a653a6602e1c6461307887656683f638db225d
+DIST mercury-extras-20.06-gentoo-patchset-0.tar.gz 1093 BLAKE2B cd0087a7a878c303a610e0007b352deec2e54b8223af1fbdcdd5e1fec0a7d6b4533895ba4ec01d4f90734349535a4c16c69f4ec60495f5a7888f99e4580e3ce3 SHA512 abd74dee931a01085a75f45d2793109737662345bdc68f4cf25dd874b59726da6a5ec8acd84cc8f0957052eeb9e5a9e3502090a0688fbea817d05c6948728ecb
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
+DIST mercury-srcdist-20.06.tar.gz 47768559 BLAKE2B f242aa2ef7da53aa2dfa054e4fee8646434d276f0748b014e33ea52d22f2a8a37e6fecaa20617f4943c4c1e7d8c179ed0603a344fde2dd58da98b2bacadf1a71 SHA512 b76bd22d8eb16242c68b614ff122ed7ee7535efef6c0ceb8cc798fee4c550bc41b6faff2135cea43b24c652b654bb35ae049656585d8e7bf3a1122d07cb1ecf4
diff --git a/dev-lang/mercury-extras/mercury-extras-20.06.ebuild b/dev-lang/mercury-extras/mercury-extras-20.06.ebuild
new file mode 100644
index 000000000000..323a4b75ed09
--- /dev/null
+++ b/dev-lang/mercury-extras/mercury-extras-20.06.ebuild
@@ -0,0 +1,319 @@
+# 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="https://www.mercurylang.org/index.html"
+SRC_URI="https://dl.mercurylang.org/release/${MY_P}.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/mercury-extras/${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}" \
+ LDFLAGS="${LDFLAGS}" \
+ LD_LIBFLAGS="${LDFLAGS}" \
+ ${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}" \
+ LDFLAGS="${LDFLAGS}" \
+ LD_LIBFLAGS="${LDFLAGS}" \
+ 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
+}