diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /dev-lang/mercury-extras | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'dev-lang/mercury-extras')
| -rw-r--r-- | dev-lang/mercury-extras/Manifest | 2 | ||||
| -rw-r--r-- | dev-lang/mercury-extras/mercury-extras-22.01.1.ebuild | 303 | ||||
| -rw-r--r-- | dev-lang/mercury-extras/metadata.xml | 8 |
3 files changed, 313 insertions, 0 deletions
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest new file mode 100644 index 000000000000..1b76bcf84db7 --- /dev/null +++ b/dev-lang/mercury-extras/Manifest @@ -0,0 +1,2 @@ +DIST mercury-extras-22.01.1-gentoo-patchset-1.tar.gz 824 BLAKE2B 677ab82f668f2e35cccf6eff0fc453fb5483941b5315891b1b02a2afb3216b59c86aa3712cdbc7382aa604ce7d1ac7cd8e32bb25c7643b8a3786bae09e987dbb SHA512 bb6ca63a9d4ceb71f7e2c07540301ca319a0163414b5d005251de4b8d4948fcd551b892e1520be0e95c845c31fd6953f2293f5fe52990af680b5bf9117a22e69 +DIST mercury-srcdist-22.01.1.tar.gz 48956249 BLAKE2B 0f5a7662327f27c27a4d9e421f71afa58920f6232093452781124817ce5c34d1953a80a08b75e95101a7e2e88159b7d4ead08d25c67a99abcb908a9582af2bab SHA512 5fa49640307233ea0f641488e5ea526385e52833007a31469e083711b63925ca7568d7ad6e09301ddf7816384a080546bc4cf46b1422f974e008917d1aa4f37a diff --git a/dev-lang/mercury-extras/mercury-extras-22.01.1.ebuild b/dev-lang/mercury-extras/mercury-extras-22.01.1.ebuild new file mode 100644 index 000000000000..d747270e30b0 --- /dev/null +++ b/dev-lang/mercury-extras/mercury-extras-22.01.1.ebuild @@ -0,0 +1,303 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic vcs-clean + +PATCHSET_VER="1" +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" +S="${WORKDIR}"/${MY_P}/extras + +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}" + +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:odbc) + $(use iodbc && echo odbc/odbc:lib:libiodbc) + posix/posix:lib: + $(has_version dev-lang/mercury[trail] && echo \ + references/global: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}" + + echo "MCFLAGS += --libgrades-exclude java" \ + >> "${S}"/${mercury_pkg_dir}/Mercury.options + echo "MCFLAGS += --libgrades-exclude csharp" \ + >> "${S}"/${mercury_pkg_dir}/Mercury.options + + if test -n "$mercury_pkg_deps"; then + echo "EXTRA_CFLAGS += $(pkg-config --cflags ${mercury_pkg_deps/,/ })" \ + >> "${S}"/${mercury_pkg_dir}/Mercury.options + echo "EXTRA_LDFLAGS += $(pkg-config --libs ${mercury_pkg_deps/,/ })" \ + >> "${S}"/${mercury_pkg_dir}/Mercury.options + fi + + if test ${mercury_pkg_name} = dl; then + echo "EXTRA_LDFLAGS += -ldl" >> "${S}"/${mercury_pkg_dir}/Mercury.options + elif test ${mercury_pkg_name} = gmp_int; then + echo "EXTRA_LDFLAGS += -lgmp" >> "${S}"/${mercury_pkg_dir}/Mercury.options + elif test ${mercury_pkg_name} = mercury_tcltk; then + echo "EXTRA_CFLAGS += -DUSE_INTERP_RESULT" \ + >> "${S}"/${mercury_pkg_dir}/Mercury.options + elif test ${mercury_pkg_name} = odbc && use odbc; then + echo "EXTRA_CFLAGS += -DMODBC_UNIX -DMODBC_MYSQL" \ + >> "${S}"/${mercury_pkg_dir}/Mercury.options + elif test ${mercury_pkg_name} = odbc && use iodbc; then + echo "EXTRA_CFLAGS += -DMODBC_IODBC -DMODBC_MYSQL" \ + >> "${S}"/${mercury_pkg_dir}/Mercury.options + 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 + + mmc -f *.m || die "mmc -f .m failed" + + mmc \ + --make \ + --verbose-commands \ + --no-strip \ + --cflags "${CFLAGS}" \ + --ld-flags "${LDFLAGS}" \ + --ld-libflags "${LDFLAGS}" \ + ${mercury_mmc_target} || die "mmc ${mercury_mmc_target} 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 + mmc \ + --make \ + --verbose-commands \ + --no-strip \ + --cflags "${CFLAGS}" \ + --ld-flags "${LDFLAGS}" \ + --ld-libflags "${LDFLAGS}" \ + --install-prefix "${D}/usr/$(get_libdir)/mercury/extras" \ + lib${mercury_pkg_name}.install || die "mmc lib${mercury_pkg_name}.install 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 + + cp "${S}"/net/*.m "${S}"/mopenssl/ || die +} + +src_compile() { + # ccJwDryZ.ltrans0.ltrans.o:(.data.rel.ro.local+0x330): undefined reference to `<unification predicate for type 'align_right.squeeze'/0 mode 0>' + # https://bugs.gentoo.org/855638 + # + # Custom language-specific compiler infrastructure, the main mercury compiler cannot handle LTO either. + filter-lto + + 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.md + + 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 + + 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 + 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 new file mode 100644 index 000000000000..3a1b1513513b --- /dev/null +++ b/dev-lang/mercury-extras/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="tommath">Enable support for tommath library</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
