diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-04-12 03:41:30 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-04-12 03:41:30 +0100 |
commit | 623ee73d661e5ed8475cb264511f683407d87365 (patch) | |
tree | 993eb27c93ec7a2d2d19550300d888fc1fed9e69 /dev-lang/mercury-extras | |
parent | ceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff) |
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'dev-lang/mercury-extras')
-rw-r--r-- | dev-lang/mercury-extras/Manifest | 12 | ||||
-rw-r--r-- | dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild | 10 | ||||
-rw-r--r-- | dev-lang/mercury-extras/mercury-extras-20.01.1.ebuild | 317 | ||||
-rw-r--r-- | dev-lang/mercury-extras/mercury-extras-20.01.ebuild | 317 | ||||
-rw-r--r-- | dev-lang/mercury-extras/metadata.xml | 3 |
5 files changed, 651 insertions, 8 deletions
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest index 969fe3c94800..3eb6b722615d 100644 --- a/dev-lang/mercury-extras/Manifest +++ b/dev-lang/mercury-extras/Manifest @@ -1,4 +1,10 @@ -DIST mercury-extras-14.01.1-gentoo-patchset-2.tar.gz 4021 BLAKE2B 6fd5551ec01dd7303a8e1c5661ebec5e33226c1604955f4f69d15e532744584d50bb6cb0e2939c87fd62eb10b1f2f394425ef88cab3e96b81a08a3dcbe695059 SHA512 947ce6fabf661e431f53e4f0a4679eea3ee3fa0c2c585b51cb8b5c9dff98d75697654d5860db3364203e0e657c4d5f68cae1bca469bd0b3f7de9583e97413529 +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 -EBUILD mercury-extras-14.01.1.ebuild 4459 BLAKE2B 49198ef8bdde880bffc0e3d3ed1f773e8537a788048750b1f9af4ac76b89171ad78fb6ec3d738b468a7ebbe8c0672867785dafe401292416c6414bafdd72a77e SHA512 439bebd46826ef149591b7d52208694eb10f2df5db6f88486ac9314f4a31fa373e44f9b6f246d62657b374d96c0ccbef85ff26209e41de73a906568c88f9feb5 -MISC metadata.xml 240 BLAKE2B 6b5ab0d76c5748af7bd1800d11864869d7365b8d53e2fd2ec66c1092dd1fdac8461b20c029ffe835357542ca69f789ce867988d64c43019e02fe9e3691f0f9bd SHA512 7cd99ce62ca4f9307fa7dfdbfd0ff9d8ff7485c58cd08cd684065aca4b570f8655587425f6a240453a9e86452de41f26f8b82aa81c023764d0beb47daa1b15d3 +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 +EBUILD mercury-extras-14.01.1.ebuild 4543 BLAKE2B e97e6d88006db060b8d3df4ef37e5816d9047388e9deb79ca231d5209f4f79a31e1923d9f98a210ef739f6292bd3c1a432297ccf6bbc0f2c83321a0ff3844332 SHA512 5b6faadbe8fd1c7abc3fb6b28ac1fbc1d4d1a5683afd36d46aee7c6ea07ba07fcba1fb020b65ea9f570220d29ab06abc2a2171716cf94495ec9adc5d234beb24 +EBUILD mercury-extras-20.01.1.ebuild 8085 BLAKE2B 2c5d2ace45872369bd2375995a28475c5f4e69b47c77d3af24e92f3a650a8d64d61e4c69e1a3503da8ac7a855a5576c9f9bda772c2b7248582b2c8c0fd5c4212 SHA512 861b3ad5d55116023a91f95d18c2b7bb992416d9c9283341a6fbf03656c9aea0d4259feeecf38971fbfe2b75ea502cbfc664f83115d5c0bcee93f09b3f8ae0f9 +EBUILD mercury-extras-20.01.ebuild 8127 BLAKE2B 50bdc7b9de3d58bc3ac19e6a3aadccd94f0e2a344ad43795e4ad630f9982202930577be28d24c7d6f08b908795ebfbe4237d069692afa4bf5491cdbb94213334 SHA512 274b4d9e715b0b88b5a445e13bda0495305999820d1866083101071367871442c4ffe9dd5ca68e7a4a1facf1308ce77db27ada715ba30af00b26322a2c963822 +MISC metadata.xml 318 BLAKE2B 8094d1a2d85b6c13ff05e9d81938e498ec514304b338f27cdbb5d92a62090fcace46b95cb21f56db75b6bdf087916a8d2c89960646e1b8828ccf31bbbb73ae6d SHA512 a49e9c19e322bb1b5d8c09c9db8c364b78fb97e62546991dc8bfe86bb2e478fec85e2acbbcdfff52b3b11ec627ba089d1a23e876bf4c1a0633829a739fff50fc diff --git a/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild b/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild index 6fc2a533fc92..6298fa9e072f 100644 --- a/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild +++ b/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild @@ -5,7 +5,7 @@ EAPI=5 inherit eutils multilib vcs-clean -PATCHSET_VER="2" +PATCHSET_VER="4" MY_P=mercury-srcdist-${PV} DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library" @@ -92,8 +92,8 @@ src_compile() { SUBDIRS="${MERCURY_PKGS}" \ EXTRA_MLFLAGS=--no-strip \ EXTRA_CFLAGS="${CFLAGS}" \ - EXTRA_LDFLAGS="${LDFLAGS}" \ - EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + EXTRA_LDFLAGS="${LDFLAGS} -L/usr/$(get_libdir)" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS} -L/usr/$(get_libdir)" \ || die "mmake failed" if use cairo; then @@ -111,8 +111,8 @@ src_install() { SUBDIRS="${MERCURY_PKGS}" \ EXTRA_MLFLAGS=--no-strip \ EXTRA_CFLAGS="${CFLAGS}" \ - EXTRA_LDFLAGS="${LDFLAGS}" \ - EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + EXTRA_LDFLAGS="${LDFLAGS} -L/usr/$(get_libdir)" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS} -L/usr/$(get_libdir)" \ DESTDIR="${D}" \ INSTALL_PREFIX="${D}"/usr \ install || die "mmake install failed" 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 000000000000..7595eae754b7 --- /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}" \ + ${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}" \ + 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 +} diff --git a/dev-lang/mercury-extras/mercury-extras-20.01.ebuild b/dev-lang/mercury-extras/mercury-extras-20.01.ebuild new file mode 100644 index 000000000000..8a9593959aee --- /dev/null +++ b/dev-lang/mercury-extras/mercury-extras-20.01.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 +} diff --git a/dev-lang/mercury-extras/metadata.xml b/dev-lang/mercury-extras/metadata.xml index c301cedb922a..d51dcb06bfde 100644 --- a/dev-lang/mercury-extras/metadata.xml +++ b/dev-lang/mercury-extras/metadata.xml @@ -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> |