diff options
author | Keri Harris <keri@gentoo.org> | 2010-08-22 06:09:57 +0000 |
---|---|---|
committer | Keri Harris <keri@gentoo.org> | 2010-08-22 06:09:57 +0000 |
commit | 8483f211114add352d52e659331dda87620f5469 (patch) | |
tree | 5279250b2946736b45d5d14ef4ce9a6f5bc89970 /dev-lang/mercury | |
parent | Fix buffer overflow in gegl_buffer_header_init() (bug #319789). (diff) | |
download | gentoo-2-8483f211114add352d52e659331dda87620f5469.tar.gz gentoo-2-8483f211114add352d52e659331dda87620f5469.tar.bz2 gentoo-2-8483f211114add352d52e659331dda87620f5469.zip |
Respect LDFLAGS
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r-- | dev-lang/mercury/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/mercury/files/mercury-10.04-linker-flags.patch | 66 | ||||
-rw-r--r-- | dev-lang/mercury/mercury-10.04-r1.ebuild | 163 |
3 files changed, 236 insertions, 1 deletions
diff --git a/dev-lang/mercury/ChangeLog b/dev-lang/mercury/ChangeLog index 3be7e9a0b2be..11608c467550 100644 --- a/dev-lang/mercury/ChangeLog +++ b/dev-lang/mercury/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/mercury # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.112 2010/07/28 08:24:55 keri Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.113 2010/08/22 06:09:57 keri Exp $ + +*mercury-10.04-r1 (22 Aug 2010) + + 22 Aug 2010; <keri@gentoo.org> +mercury-10.04-r1.ebuild, + +files/mercury-10.04-linker-flags.patch: + Respect LDFLAGS 28 Jul 2010; <keri@gentoo.org> mercury-10.04.ebuild, +files/mercury-10.04-tests-static-link.patch: diff --git a/dev-lang/mercury/files/mercury-10.04-linker-flags.patch b/dev-lang/mercury/files/mercury-10.04-linker-flags.patch new file mode 100644 index 000000000000..9b993efce948 --- /dev/null +++ b/dev-lang/mercury/files/mercury-10.04-linker-flags.patch @@ -0,0 +1,66 @@ +diff -ur mercury-compiler-10.04.orig/boehm_gc/Makefile.direct mercury-compiler-10.04/boehm_gc/Makefile.direct +--- mercury-compiler-10.04.orig/boehm_gc/Makefile.direct 2010-02-24 20:04:32.000000000 +1300 ++++ mercury-compiler-10.04/boehm_gc/Makefile.direct 2010-08-22 17:21:08.000000000 +1200 +@@ -351,7 +351,7 @@ + -ldl `./threadlibs` + ./if_not_there on_sparc_sunos5_so $(MAKE) dyn_load.o + ./if_not_there on_sparc_sunos5_so \ +- $(LINK_SHARED_OBJ) -o lib$(GC_GRADE).so $(OBJS) dyn_load.o -lc ++ $(LINK_SHARED_OBJ) -o lib$(GC_GRADE).so $(OBJS) dyn_load.o -lc $(EXTRA_LDFLAGS) + + # Darwin shared library version of the gc. + lib$(GC_GRADE).dylib: $(OBJS) $(UTILS) +diff -ur mercury-compiler-10.04.orig/runtime/Mmakefile mercury-compiler-10.04/runtime/Mmakefile +--- mercury-compiler-10.04.orig/runtime/Mmakefile 2010-07-16 03:24:52.000000000 +1200 ++++ mercury-compiler-10.04/runtime/Mmakefile 2010-08-22 16:44:33.000000000 +1200 +@@ -387,7 +387,7 @@ + $(LINK_SHARED_OBJ) $(ERROR_UNDEFINED) \ + -o lib$(RT_LIB_NAME).so $(PIC_OBJS) \ + $(SHLIB_RPATH_OPT)$(FINAL_INSTALL_MERC_GC_LIB_DIR) \ +- $(LDFLAGS) $(LDLIBS) $(THREADLIBS) \ ++ $(ALL_LDFLAGS) $(LDLIBS) $(THREADLIBS) \ + $(SHARED_LIBS) + + # For Darwin we should pass the -install_name option. +diff -ur mercury-compiler-10.04.orig/trace/Mmakefile mercury-compiler-10.04/trace/Mmakefile +--- mercury-compiler-10.04.orig/trace/Mmakefile 2008-07-30 05:58:58.000000000 +1200 ++++ mercury-compiler-10.04/trace/Mmakefile 2010-08-22 16:57:29.000000000 +1200 +@@ -273,6 +273,7 @@ + $(LINK_SHARED_OBJ) $(ERROR_UNDEFINED) \ + -o lib$(TRACE_LIB_NAME).so $(TRACE_PIC_OBJS) \ + $(RPATH_1)$(RPATH_2) \ ++ $(ALL_LDFLAGS) \ + $(TRACE_LDFLAGS) $(TRACE_LDLIBS) $(THREADLIBS) \ + $(SHARED_LIBS) + +@@ -280,6 +281,7 @@ + $(LINK_SHARED_OBJ) $(ERROR_UNDEFINED) \ + -o lib$(EVENTSPEC_LIB_NAME).so $(EVENTSPEC_PIC_OBJS) \ + $(RPATH_1)$(RPATH_2) \ ++ $(ALL_LDFLAGS) \ + $(EVENTSPEC_LDFLAGS) $(EVENTSPEC_LDLIBS) $(THREADLIBS) \ + $(SHARED_LIBS) + +diff -ur mercury-compiler-10.04.orig/util/Mmakefile mercury-compiler-10.04/util/Mmakefile +--- mercury-compiler-10.04.orig/util/Mmakefile 2010-07-12 04:31:03.000000000 +1200 ++++ mercury-compiler-10.04/util/Mmakefile 2010-08-22 11:54:02.000000000 +1200 +@@ -41,16 +41,16 @@ + + .c: + $(MGNUC) --no-mercury-stdlib-dir \ +- $(GRADEFLAGS) $(ALL_MGNUCFLAGS) -o $@ $< $(GETOPT_SRC) ++ $(GRADEFLAGS) $(ALL_MGNUCFLAGS) $(ALL_LDFLAGS) -o $@ $< $(GETOPT_SRC) + + mkinit: mkinit.c mkinit_common.c mkinit_common.h + $(MGNUC) --no-mercury-stdlib-dir \ +- $(GRADEFLAGS) $(ALL_MGNUCFLAGS) -o $@ \ ++ $(GRADEFLAGS) $(ALL_MGNUCFLAGS) $(ALL_LDFLAGS) -o $@ \ + mkinit.c mkinit_common.c $(GETOPT_SRC) + + mkinit_erl: mkinit_erl.c mkinit_common.c mkinit_common.h + $(MGNUC) --no-mercury-stdlib-dir \ +- $(GRADEFLAGS) $(ALL_MGNUCFLAGS) -o $@ \ ++ $(GRADEFLAGS) $(ALL_MGNUCFLAGS) $(ALL_LDFLAGS) -o $@ \ + mkinit_erl.c mkinit_common.c $(GETOPT_SRC) + + tags: diff --git a/dev-lang/mercury/mercury-10.04-r1.ebuild b/dev-lang/mercury/mercury-10.04-r1.ebuild new file mode 100644 index 000000000000..1526f3471538 --- /dev/null +++ b/dev-lang/mercury/mercury-10.04-r1.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/mercury-10.04-r1.ebuild,v 1.1 2010/08/22 06:09:57 keri Exp $ + +inherit elisp-common eutils flag-o-matic java-pkg-opt-2 multilib + +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.cs.mu.oz.au/download/files/${MY_P}.tar.gz + test? ( http://www.mercury.cs.mu.oz.au/download/files/mercury-tests-${PV}.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +IUSE="debug emacs erlang 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_unpack() { + unpack ${A} + + epatch "${FILESDIR}"/${P}-multilib.patch + epatch "${FILESDIR}"/${P}-linker-flags.patch + epatch "${FILESDIR}"/${P}-default-grade.patch + epatch "${FILESDIR}"/${P}-boehm_gc.patch + epatch "${FILESDIR}"/${P}-sparc-llds-base-grade.patch + epatch "${FILESDIR}"/${P}-docs.patch + epatch "${FILESDIR}"/${P}-no-reconf.patch + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/compiler/make.program_target.c \ + "${S}"/scripts/Mmake.vars.in + + if use test; then + epatch "${FILESDIR}"/${P}-tests-workspace.patch + epatch "${FILESDIR}"/${P}-tests-sandbox.patch + epatch "${FILESDIR}"/${P}-tests-mercury-float.patch + epatch "${FILESDIR}"/${P}-tests-static-link.patch + fi +} + +src_compile() { + strip-flags + + local myconf + myconf="--libdir=/usr/$(get_libdir) \ + --disable-gcc-back-end \ + --disable-aditi-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} \ + || die "econf failed" + emake \ + PARALLEL=${MAKEOPTS} \ + EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + || die "emake failed" + + 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 + + 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 + + if use erlang; then + dodoc README.Erlang + fi + + if use java; then + dodoc README.Java + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |