Version bump
authorKeri Harris <keri@gentoo.org>
Mon, 9 Jan 2012 08:30:13 +0000 (08:30 +0000)
committerKeri Harris <keri@gentoo.org>
Mon, 9 Jan 2012 08:30:13 +0000 (08:30 +0000)
Package-Manager: portage-2.1.10.41/cvs/Linux x86_64

dev-lang/mercury-extras/ChangeLog
dev-lang/mercury-extras/mercury-extras-11.07.ebuild [new file with mode: 0644]
dev-lang/mercury/ChangeLog
dev-lang/mercury/mercury-11.07.ebuild [new file with mode: 0644]

index 7dc3a4d68c2a86ebe5270436a2ea6279d313654c..b8f8ad10bd45cddedc77556eae0988d15f9c05e5 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for dev-lang/mercury-extras
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/ChangeLog,v 1.99 2011/08/12 23:17:23 keri Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/ChangeLog,v 1.100 2012/01/09 08:30:13 keri Exp $
+
+*mercury-extras-11.07 (09 Jan 2012)
+
+  09 Jan 2012; <keri@gentoo.org> +mercury-extras-11.07.ebuild:
+  Version bump
 
   12 Aug 2011; <keri@gentoo.org> -mercury-extras-10.04.2.ebuild,
   -mercury-extras-10.04.2-r1.ebuild:
diff --git a/dev-lang/mercury-extras/mercury-extras-11.07.ebuild b/dev-lang/mercury-extras/mercury-extras-11.07.ebuild
new file mode 100644 (file)
index 0000000..d8d786b
--- /dev/null
@@ -0,0 +1,194 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/mercury-extras-11.07.ebuild,v 1.1 2012/01/09 08:30:13 keri Exp $
+
+EAPI=2
+
+inherit eutils
+
+PATCHSET_VER="0"
+MY_P=${PN}-${PV}
+
+DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library"
+HOMEPAGE="http://www.cs.mu.oz.au/research/mercury/index.html"
+SRC_URI="http://www.mercury.cs.mu.oz.au/download/files/${MY_P}.tar.gz
+       mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-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
+                       dev-lang/tk
+                       x11-libs/libX11
+                       x11-libs/libXmu ) )"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+       cd "${WORKDIR}"
+
+       EPATCH_FORCE=yes
+       EPATCH_SUFFIX=patch
+       epatch "${WORKDIR}"/${PV}
+
+       if use odbc; then
+               epatch "${WORKDIR}"/${PV}-odbc/${P}-odbc.patch
+       elif use iodbc; then
+               epatch "${WORKDIR}"/${PV}-odbc/${P}-iodbc.patch
+       fi
+
+       cd "${S}"
+       sed -i  -e "s:references:references solver_types/library:" \
+               -e "s:windows_installer_generator::" \
+               Mmakefile || die "sed default packages failed"
+
+       if use cairo; then
+               sed -i -e "s:lex[ \t]*\\\\:graphics/mercury_cairo lex \\\\:" Mmakefile \
+                       || die "sed cairo failed"
+       fi
+
+       if use glut; then
+               sed -i -e "s:lex[ \t]*\\\\:graphics/mercury_glut lex \\\\:" Mmakefile \
+                       || die "sed glut failed"
+       fi
+
+       if use opengl; then
+               sed -i -e "s:lex[ \t]*\\\\:graphics/mercury_opengl lex \\\\:" Mmakefile \
+                       || die "sed opengl failed"
+       fi
+
+       if use tcl && use tk; then
+               sed -i -e "s:lex[ \t]*\\\\:graphics/mercury_tcltk lex \\\\:" Mmakefile \
+                       || die "sed tcltk failed"
+       fi
+
+       if use odbc || use iodbc; then
+               sed -i -e "s:moose:moose odbc:" Mmakefile \
+                       || die "sed odbc failed"
+       fi
+
+       if use ncurses; then
+               sed -i -e "s:complex_numbers:complex_numbers curs curses:" Mmakefile \
+                       || die "sed ncurses failed"
+       fi
+
+       if ! use xml; then
+               sed -i -e "s:xml::" Mmakefile \
+                       || die "sed xml failed"
+       fi
+
+       sed -i -e "s:@libdir@:$(get_libdir):" \
+               dynamic_linking/Mmakefile posix/Mmakefile \
+               || die "sed libdir failed"
+
+       # disable broken packages
+       sed -i -e "s:references::" Mmakefile \
+               || die "sed broken packages failed"
+}
+
+src_compile() {
+       # Mercury dependency generation must be run single-threaded
+       mmake \
+               -j1 depend || die "mmake depend failed"
+
+       mmake \
+               MMAKEFLAGS="${MAKEOPTS}" \
+               EXTRA_MLFLAGS=--no-strip \
+               EXTRA_LDFLAGS="${LDFLAGS}" \
+               EXTRA_LD_LIBFLAGS="${LDFLAGS}" \
+               || die "mmake failed"
+}
+
+src_install() {
+       mmake \
+               MMAKEFLAGS="${MAKEOPTS}" \
+               EXTRA_LD_LIBFLAGS="${LDFLAGS}" \
+               INSTALL_PREFIX="${D}"/usr \
+               install || die "mmake install failed"
+
+       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
+
+               rm -rf $(find "${D}"/usr/share/doc/${PF}/samples -name CVS)
+       fi
+
+       dodoc README || die
+}
index a7b404c55c13eaebc59540f0b93c89085976d57d..fbee13c621a3ca82693f549512b87053066183bc 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for dev-lang/mercury
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.143 2011/08/12 23:28:17 keri Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.144 2012/01/09 08:26:49 keri Exp $
+
+*mercury-11.07 (09 Jan 2012)
+
+  09 Jan 2012; <keri@gentoo.org> +mercury-11.07.ebuild:
+  Version bump
 
   12 Aug 2011; <keri@gentoo.org> -mercury-0.13.1-r2.ebuild,
   -files/mercury-0.13.1-docs.patch, -files/mercury-0.13.1-libgrades.patch,
diff --git a/dev-lang/mercury/mercury-11.07.ebuild b/dev-lang/mercury/mercury-11.07.ebuild
new file mode 100644 (file)
index 0000000..29ea3ff
--- /dev/null
@@ -0,0 +1,216 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/mercury-11.07.ebuild,v 1.1 2012/01/09 08:26:49 keri Exp $
+
+EAPI=2
+
+inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib
+
+PATCHSET_VER="0"
+MY_P=${PN}-compiler-${PV}
+
+DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language"
+HOMEPAGE="http://www.cs.mu.oz.au/research/mercury/index.html"
+SRC_URI="http://www.mercury.csse.unimelb.edu.au/download/files/${MY_P}.tar.gz
+       mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz
+       test? ( http://www.mercury.csse.unimelb.edu.au/download/files/mercury-tests-${PV}.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug emacs erlang examples java minimal readline test threads"
+
+DEPEND="!dev-libs/mpatrol
+       !dev-util/mono-debugger
+       readline? ( sys-libs/readline )
+       erlang? ( dev-lang/erlang )
+       java? ( >=virtual/jdk-1.5 )"
+
+RDEPEND="${DEPEND}
+       emacs? ( virtual/emacs )"
+
+S="${WORKDIR}"/${MY_P}
+TESTDIR="${WORKDIR}"/${PN}-tests-${PV}
+
+SITEFILE=50${PN}-gentoo.el
+
+src_prepare() {
+       cd "${WORKDIR}"
+       EPATCH_FORCE=yes
+       EPATCH_SUFFIX=patch
+       epatch "${WORKDIR}"/${PV}
+
+       sed -i -e "s/@libdir@/$(get_libdir)/" \
+               "${S}"/scripts/Mmake.vars.in \
+               || die "sed libdir failed"
+
+       if use test; then
+               epatch "${WORKDIR}"/${PV}-tests
+       fi
+
+       cd "${S}"
+       eautoconf
+}
+
+src_configure() {
+       strip-flags
+
+       local myconf
+       myconf="--libdir=/usr/$(get_libdir) \
+               --disable-gcc-back-end \
+               --disable-deep-profiler \
+               --disable-dotnet-grades \
+               $(use_enable erlang erlang-grade) \
+               $(use_enable java java-grade) \
+               $(use_enable debug debug-grades) \
+               $(use_enable threads par-grades) \
+               $(use_enable !minimal most-grades) \
+               $(use_with readline)"
+
+       econf ${myconf}
+}
+
+src_compile() {
+       # Generate Mercury .m dependencies. This step will vacuously
+       # succeed if we do not have a bootstrappable instance of mmc
+       # already installed. This step is required as mmc does not wait
+       # for all dependencies to be generated before compiling .m files.
+       emake \
+               PARALLEL=${MAKEOPTS} \
+               bootstrap_depend || die "emake depend failed"
+
+       # Build Mercury using base llds grade
+       emake \
+               PARALLEL=${MAKEOPTS} \
+               EXTRA_MLFLAGS=--no-strip \
+               EXTRA_LDFLAGS="${LDFLAGS}" \
+               EXTRA_LD_LIBFLAGS="${LDFLAGS}" \
+               || die "emake failed"
+
+       # We can now patch .m Mercury compiler files since we
+       # have just built mercury_compiler.
+       EPATCH_FORCE=yes
+       EPATCH_SUFFIX=patch
+       epatch "${WORKDIR}"/${PV}-mmc
+
+       sed -i -e "s/@libdir@/$(get_libdir)/" \
+               "${S}"/compiler/file_util.m \
+               "${S}"/compiler/make.program_target.m \
+               || die "sed libdir failed"
+
+       # Rebuild Mercury compiler using the just built mercury_compiler
+       emake \
+               PARALLEL=${MAKEOPTS} \
+               EXTRA_MLFLAGS=--no-strip \
+               EXTRA_LDFLAGS="${LDFLAGS}" \
+               EXTRA_LD_LIBFLAGS="${LDFLAGS}" \
+               MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+               compiler || die "emake compiler failed"
+
+       # The default Mercury grade may not be the same as the grade used to
+       # compile the llds base grade. Since src_test() is run before
+       # src_install() we compile the default grade now
+       emake \
+               PARALLEL=${MAKEOPTS} \
+               EXTRA_MLFLAGS=--no-strip \
+               EXTRA_LDFLAGS="${LDFLAGS}" \
+               EXTRA_LD_LIBFLAGS="${LDFLAGS}" \
+               MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+               default_grade || die "emake default_grade failed"
+}
+
+src_test() {
+       TEST_GRADE=`scripts/ml --print-grade`
+       if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then
+               TWS="${S}"/install_grade_dir.${TEST_GRADE}
+               cp browser/mer_browser.init "${TWS}"/browser/
+               cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/
+               cp runtime/mer_rt.init "${TWS}"/runtime/
+               cp ssdb/mer_ssdb.init "${TWS}"/ssdb/
+       else
+               TWS="${S}"
+       fi
+
+       cd "${TESTDIR}"
+       sed -i -e "s:@WORKSPACE@:${TWS}:" WS_FLAGS.ws \
+               || die "sed WORKSPACE failed"
+
+       # Mercury tests must be run in C locale since Mercury output is
+       # compared to hard-coded warnings/errors
+       LC_ALL="C" \
+       PATH="${TWS}"/scripts:"${TWS}"/util:"${TWS}"/slice:"${PATH}" \
+       TERM="" \
+       WORKSPACE="${TWS}" \
+       MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \
+       MERCURY_CONFIG_DIR="${TWS}" \
+       MMAKE_DIR="${TWS}"/scripts \
+       MERCURY_SUPPRESS_STACK_TRACE=yes \
+       GRADE=${TEST_GRADE} \
+       MERCURY_ALL_LOCAL_C_INCL_DIRS=" -I${TWS}/boehm_gc \
+                                       -I${TWS}/boehm_gc/include \
+                                       -I${TWS}/runtime \
+                                       -I${TWS}/library \
+                                       -I${TWS}/mdbcomp \
+                                       -I${TWS}/browser \
+                                       -I${TWS}/trace" \
+               mmake || die "mmake test failed"
+}
+
+src_install() {
+       emake \
+               PARALLEL=${MAKEOPTS} \
+               EXTRA_LDFLAGS="${LDFLAGS}" \
+               EXTRA_LD_LIBFLAGS="${LDFLAGS}" \
+               MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+               INSTALL_PREFIX="${D}"/usr \
+               INSTALL_MAN_DIR="${D}"/usr/share/man \
+               INSTALL_INFO_DIR="${D}"/usr/share/info \
+               INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \
+               INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \
+               install || die "make install failed"
+
+       if use emacs; then
+               elisp-site-file-install "${FILESDIR}/${SITEFILE}" \
+                       || die "elisp-site-file-install failed"
+       fi
+
+       dodoc \
+               BUGS HISTORY LIMITATIONS NEWS README README.Linux \
+               README.Linux-Alpha README.Linux-m68k README.Linux-PPC \
+               RELEASE_NOTES TODO VERSION WORK_IN_PROGRESS || die
+
+       if use erlang; then
+               dodoc README.Erlang || die
+       fi
+
+       if use java; then
+               dodoc README.Java || die
+       fi
+
+       if use examples; then
+               insinto /usr/share/doc/${PF}/samples
+               doins samples/{*.m,README,Mmakefile} || die
+               doins -r samples/c_interface \
+                       samples/diff \
+                       samples/muz \
+                       samples/rot13 \
+                       samples/solutions \
+                       samples/solver_types || die
+
+               if use java; then
+                       doins -r samples/java_interface || die
+               fi
+
+               rm -rf $(find "${D}"/usr/share/doc/${PF}/samples \
+                               -name CVS -o -name .cvsignore)
+       fi
+}
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}