diff options
author | Keri Harris <keri@gentoo.org> | 2017-09-26 19:30:04 +0200 |
---|---|---|
committer | Keri Harris <keri@gentoo.org> | 2017-09-26 19:30:04 +0200 |
commit | dd3f322614ac0b842ec82287afb4e0ab3d98f403 (patch) | |
tree | b848db393783c9f0c8ef820350da9b26cea4f29d /dev-lang/mercury-extras/mercury-extras-14.01.ebuild | |
parent | dev-lang/mercury: version bump (diff) | |
download | gentoo-dd3f322614ac0b842ec82287afb4e0ab3d98f403.tar.gz gentoo-dd3f322614ac0b842ec82287afb4e0ab3d98f403.tar.bz2 gentoo-dd3f322614ac0b842ec82287afb4e0ab3d98f403.zip |
dev-lang/mercury-extras: version bump
Package-Manager: Portage-2.3.8, Repoman-2.3.1
Diffstat (limited to 'dev-lang/mercury-extras/mercury-extras-14.01.ebuild')
-rw-r--r-- | dev-lang/mercury-extras/mercury-extras-14.01.ebuild | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/dev-lang/mercury-extras/mercury-extras-14.01.ebuild b/dev-lang/mercury-extras/mercury-extras-14.01.ebuild new file mode 100644 index 000000000000..3b4938613efa --- /dev/null +++ b/dev-lang/mercury-extras/mercury-extras-14.01.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils multilib + +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="X cairo examples glut iodbc ncurses odbc opengl ssl tcl tk xml" + +RDEPEND="~dev-lang/mercury-${PV} + cairo? ( >=x11-libs/cairo-1.10.0 ) + glut? ( media-libs/freeglut ) + odbc? ( dev-db/unixODBC ) + iodbc? ( !odbc? ( dev-db/libiodbc ) ) + ncurses? ( sys-libs/ncurses:= ) + opengl? ( virtual/opengl ) + tcl? ( tk? ( + dev-lang/tcl:0 + dev-lang/tk:0 + x11-libs/libX11 + x11-libs/libXmu ) )" + +DEPEND="${RDEPEND}" + +S="${WORKDIR}"/${MY_P}/extras + +mercury_pkgs() +{ + echo "base64 + cgi + complex_numbers + dynamic_linking + error + fixed + lex + moose + posix + solver_types/library + $(use ncurses && echo curs curses) + $(use glut && echo graphics/mercury_glut) + $(use opengl && echo graphics/mercury_opengl) + $(use tcl && use tk && echo graphics/mercury_tcltk) + $(use odbc && echo odbc || use iodbc && echo odbc) + $(has_version dev-lang/mercury[-minimal] && echo references) + $(usev xml)" +} + +src_prepare() { + cd "${WORKDIR}" + + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV} ]] ; then + epatch "${WORKDIR}"/${PV} + fi + + cd "${S}" + if use odbc; then + cp odbc/Mmakefile.odbc odbc/Mmakefile + elif use iodbc; then + cp odbc/Mmakefile.iodbc odbc/Mmakefile + fi +} + +src_compile() { + local MERCURY_PKGS="$(mercury_pkgs)" + + # Mercury dependency generation must be run single-threaded + mmake -j1 \ + SUBDIRS="${MERCURY_PKGS}" \ + depend || die "mmake depend failed" + + # Compiling Mercury submodules is not thread-safe + mmake -j1 \ + SUBDIRS="${MERCURY_PKGS}" \ + EXTRA_MLFLAGS=--no-strip \ + EXTRA_CFLAGS="${CFLAGS}" \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + || die "mmake failed" + + if use cairo; then + cd "${S}"/graphics/mercury_cairo + mmc --make libmercury_cairo \ + || die "mmc --make libmercury_cairo failed" + fi +} + +src_install() { + local MERCURY_PKGS="$(mercury_pkgs)" + + # Compiling Mercury submodules is not thread-safe + mmake -j1 \ + SUBDIRS="${MERCURY_PKGS}" \ + EXTRA_MLFLAGS=--no-strip \ + EXTRA_CFLAGS="${CFLAGS}" \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + INSTALL_PREFIX="${D}"/usr \ + install || die "mmake install failed" + + if use cairo; then + cd "${S}"/graphics/mercury_cairo + INSTALL_PREFIX="${D}"/usr \ + mmc --make libmercury_cairo.install \ + || die "mmc --make libmercury_cairo.install failed" + fi + + find "${D}"/usr/$(get_libdir)/mercury -type l | xargs rm + + cd "${S}" + if use examples; then + insinto /usr/share/doc/${PF}/samples/base64 + doins base64/*.m || die + + insinto /usr/share/doc/${PF}/samples/complex_numbers + doins complex_numbers/samples/* || die + + insinto /usr/share/doc/${PF}/samples/dynamic_linking + doins dynamic_linking/hello.m || die + + insinto /usr/share/doc/${PF}/samples/error + doins error/* || die + + insinto /usr/share/doc/${PF}/samples/fixed + doins fixed/*.m || die + + insinto /usr/share/doc/${PF}/samples/gator + doins -r gator/* || die + + insinto /usr/share/doc/${PF}/samples/lex + doins lex/samples/* || die + + insinto /usr/share/doc/${PF}/samples/log4m + doins log4m/*.m || die + + insinto /usr/share/doc/${PF}/samples/monte + doins monte/*.m || die + + insinto /usr/share/doc/${PF}/samples/moose + doins moose/samples/* || die + + insinto /usr/share/doc/${PF}/samples/net + doins net/*.m || die + + if use ncurses; then + insinto /usr/share/doc/${PF}/samples/curs + doins curs/samples/* || die + + insinto /usr/share/doc/${PF}/samples/curses + doins curses/sample/* || die + fi + + if use X; then + insinto /usr/share/doc/${PF}/samples/graphics + doins graphics/easyx/samples/*.m || die + fi + + if use glut && use opengl; then + insinto /usr/share/doc/${PF}/samples/graphics + doins graphics/samples/calc/* || die + doins graphics/samples/gears/* || die + doins graphics/samples/maze/* || die + doins graphics/samples/pent/* || die + fi + + if use opengl && use tcl && use tk; then + insinto /usr/share/doc/${PF}/samples/graphics + doins graphics/samples/pent/*.m || die + fi + + if use ssl; then + insinto /usr/share/doc/${PF}/samples/mopenssl + doins mopenssl/*.m || die + fi + + ecvs_clean + fi + + dodoc README || die +} |