summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2010-08-22 06:09:57 +0000
committerKeri Harris <keri@gentoo.org>2010-08-22 06:09:57 +0000
commit8abf2a9dd7774a887876d85815d18ddc6b91e11f (patch)
treec5bea0b8c9fbeabf93feeaca8b3ec90a7e32fb84 /dev-lang/mercury
parentFix buffer overflow in gegl_buffer_header_init() (bug #319789). (diff)
downloadhistorical-8abf2a9dd7774a887876d85815d18ddc6b91e11f.tar.gz
historical-8abf2a9dd7774a887876d85815d18ddc6b91e11f.tar.bz2
historical-8abf2a9dd7774a887876d85815d18ddc6b91e11f.zip
Respect LDFLAGS
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r--dev-lang/mercury/ChangeLog8
-rw-r--r--dev-lang/mercury/Manifest4
-rw-r--r--dev-lang/mercury/files/mercury-10.04-linker-flags.patch66
-rw-r--r--dev-lang/mercury/mercury-10.04-r1.ebuild163
4 files changed, 239 insertions, 2 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/Manifest b/dev-lang/mercury/Manifest
index bdc80e7f7b5d..826a4e922c12 100644
--- a/dev-lang/mercury/Manifest
+++ b/dev-lang/mercury/Manifest
@@ -12,6 +12,7 @@ AUX mercury-0.13.1-tests-workspace.patch 899 RMD160 f866379e0e4f8e4debebb86bfed7
AUX mercury-10.04-boehm_gc.patch 5908 RMD160 08ce24e7df84974b9c77ead866a3b10738b35132 SHA1 822914bf2116d2227097fa725705cd2ec5d4c55d SHA256 5cd45f249b6c0dd74b43f4c2e4237184da722e0a25941f3070804e56418a5467
AUX mercury-10.04-default-grade.patch 9201 RMD160 e4a68ccedf91d6fa366a819b54270c13cf44bca2 SHA1 12f510d62530506c2df6d21cfb36b4840fbb7621 SHA256 678a6ce56acd14ea40e834bee6165022600582b1a965682107a99389c5d071c7
AUX mercury-10.04-docs.patch 1071 RMD160 7227e1c079b269f332081b956e53b85358d72a70 SHA1 f27b48ecb5ba991261f93c2c8d640b7fd213830b SHA256 a4514f76a7174d16f392e3f9aa55d19a468f114541cf93129908feeaec462c06
+AUX mercury-10.04-linker-flags.patch 3012 RMD160 355d9a021917326ea6b6df76277c62486cab9510 SHA1 0bc4a826c41af938cd422c50bb6bdc9d22f973c3 SHA256 9ca221ec91ff144a3871278bfde86ece642cc27446f6dca418496222564fa5a1
AUX mercury-10.04-multilib.patch 5993 RMD160 70cf37287f8a352eb09f66c402ea0e6690dd26be SHA1 1f0b47f3bfab7ffe54c487bde1c84e0499bca2f0 SHA256 43497f32f110e064bedae7b2aeaef63fc6b394276d7aa7e46864c97781de4db3
AUX mercury-10.04-no-reconf.patch 2337 RMD160 f39b7e0c777eba144d103078d3e81fb0a4ea21c7 SHA1 a4166eaf922e6423ff8761f486691f5b75fc14f9 SHA256 3b4dc9724fe9baed3222e43d86d3af73692d0f3f7285f6b6dbd4df0407690921
AUX mercury-10.04-sparc-llds-base-grade.patch 467 RMD160 de8ae191173d077806650db073aaefb7d89c50c1 SHA1 61aa9fd27cfd896ecfdc43e053cad4c923405226 SHA256 3b1080bdb5bac32ac2f83a6b6de0584aa4f68d9f3cfcd113396946598b61ab9f
@@ -35,7 +36,8 @@ DIST mercury-tests-0.13.1.tar.gz 986644 RMD160 779609ba5c985e562b0962434c9281c07
DIST mercury-tests-10.04-beta.tar.gz 5876463 RMD160 b29179ae78b1dcb0619684228abac0d6cd4471a8 SHA1 3fed8b5fbe840e844df725f386a08836825d48da SHA256 4c1bf8eece8f95fdf13eeaef8dc5ea4fee30646d20fed684fe6eb710d5234833
DIST mercury-tests-10.04.tar.gz 1329423 RMD160 c85e489eea4e36fef6d12fb9bf4e7cd01bb2e7fd SHA1 32ca9267d58d2cbb7d144c1501803f0a7b92f145 SHA256 d56a76b4a2c8c2cc878b7a7cd04fd34b4069cef1316155a942f4372425d45085
EBUILD mercury-0.13.1-r2.ebuild 3350 RMD160 8a1635d8c301751b2da7260785baaa788b81b620 SHA1 2aae241faf85518b6bb6d162939b2f293eb67649 SHA256 af0a034331b9a7acb0d0a7dea42fc84aafcf9e66de2b6fceddc623f975689c44
+EBUILD mercury-10.04-r1.ebuild 4397 RMD160 ac0c5f73a0468ad0b975c7b4e45fd962cd3d1b42 SHA1 b7d1d4b635f916f1be1a4fc496c2d80f9949ab30 SHA256 55dfdb3ae95f0dfc74014d2f87085d568316c84d78d74805e30c8674f8ece543
EBUILD mercury-10.04.ebuild 4150 RMD160 565ad36c8253f0da62f6a4256cbf45d2655a6223 SHA1 3f6363b22b7b4dcd0fe731f404d6d8dadb6cebff SHA256 943ee918a3113d45d268f4091de5a0767d05e99194f121771ce43c3a9c71eba0
EBUILD mercury-10.04_beta1.ebuild 3561 RMD160 b608b732acdfccb4a8ccdc4728bdd0b9f3f28283 SHA1 319302199665f6e4ffa9aaff95128fcd8a7d63a0 SHA256 ffbba59515166327f79a698086d516f14fcbcfc8c76f58dbf1116eaa8eb16626
-MISC ChangeLog 22656 RMD160 0102f38f4f9695b4fd4468a0f6edd9290892fd62 SHA1 b8d2b8743d6220ff4c68d583613e250ca569224d SHA256 4a1634172b8a684b5d222965c620ee379f96dec6aa0547911b6140aabbdd5fb1
+MISC ChangeLog 22810 RMD160 c7e64f165330e4522d5fbc15e7638e2bbe3fe937 SHA1 09b4c8549bebf7ad6e3acb34aedd63c85cffd286 SHA256 6a49e00c926484061dfe8ff5eafeab87bb5fd3851b632864d1f4779343f898f8
MISC metadata.xml 318 RMD160 b9e62c5b9d04f43a6570cfcadd6a6c9a2b9e3f6f SHA1 67893d667419e727696eb2c386565794fd137418 SHA256 5e64767eb2ff6b10d88b169c87648d62b534356fb94c5407a253aeafc2d16935
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
+}