dev-lang/mercury-extras: version bump

Signed-off-by: Keri Harris <keri@gentoo.org>
Package-Manager: Portage-2.3.89, Repoman-2.3.11
This commit is contained in:
Keri Harris
2020-03-29 12:42:52 +02:00
parent f4c7ba1aeb
commit afd55ec449
3 changed files with 322 additions and 0 deletions

View File

@@ -1,2 +1,4 @@
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-srcdist-14.01.1.tar.gz 52658945 BLAKE2B 6497921a0227b9a6fbcbabdd309ef3325f32dda14fc4ddb443368385b89be4011d677a24b30b3702147d1b782fe2597760ad66dd34503aa6aebaf79707466529 SHA512 a128ef0fd4955abadea32019ec59297ffe32537415f32e9e948cbc1c3439bb40eb09de77569690fb18dd7d6969a2b1141b3ae5baeb87f2627eaa65ad93add92c
DIST mercury-srcdist-20.01.tar.gz 47103868 BLAKE2B 68be786e925bdf94dcba6c6a2a746a384da345ee33250785d8d2b9281815694a4525cdd694c26f58051c097f2a897291e640e2139729ccede9bd2e472077d8c9 SHA512 90e36faa375603e596b2dd692363528120fda62ae6d2e2b119cf76de1656dae4028aff00858a4bff3fdfb9b2210ea17db0aa516ce4283604c46a5935dd2cd4b7

View File

@@ -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
}

View File

@@ -5,4 +5,7 @@
<email>keri@gentoo.org</email>
<name>Keri Harris</name>
</maintainer>
<use>
<flag name="tommath">Enable support for tommath library</flag>
</use>
</pkgmetadata>