summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2007-05-26 13:36:50 +0000
committerAlexis Ballier <aballier@gentoo.org>2007-05-26 13:36:50 +0000
commit6596851ecb832e996868fed365f45b2efdcf5872 (patch)
tree8441c1b481f78c79e42e71b4b47b484390aead7b /dev-lang/ocaml
parentVersion bump, Linux 2.6.23-rc3. (diff)
downloadgentoo-2-6596851ecb832e996868fed365f45b2efdcf5872.tar.gz
gentoo-2-6596851ecb832e996868fed365f45b2efdcf5872.tar.bz2
gentoo-2-6596851ecb832e996868fed365f45b2efdcf5872.zip
merge paxmarking of the compilers and makefile patch to replace multiple occurences of @compiler@ in ocamlcomp.sh.in that allows building with an hardened kernel
(Portage version: 2.1.2.7)
Diffstat (limited to 'dev-lang/ocaml')
-rw-r--r--dev-lang/ocaml/ChangeLog8
-rw-r--r--dev-lang/ocaml/files/ocaml-3.10.0-execheap.patch54
-rw-r--r--dev-lang/ocaml/ocaml-3.10.0.ebuild11
3 files changed, 65 insertions, 8 deletions
diff --git a/dev-lang/ocaml/ChangeLog b/dev-lang/ocaml/ChangeLog
index 7ff60166d0cc..8389fb4cfbef 100644
--- a/dev-lang/ocaml/ChangeLog
+++ b/dev-lang/ocaml/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/ocaml
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.112 2007/05/26 13:08:14 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.113 2007/05/26 13:36:50 aballier Exp $
+
+ 26 May 2007; Alexis Ballier <aballier@gentoo.org>
+ +files/ocaml-3.10.0-execheap.patch, ocaml-3.10.0.ebuild:
+ merge paxmarking of the compilers and makefile patch to replace multiple
+ occurences of @compiler@ in ocamlcomp.sh.in that allows building with an
+ hardened kernel
*ocaml-3.10.0 (26 May 2007)
diff --git a/dev-lang/ocaml/files/ocaml-3.10.0-execheap.patch b/dev-lang/ocaml/files/ocaml-3.10.0-execheap.patch
new file mode 100644
index 000000000000..05ab9d479173
--- /dev/null
+++ b/dev-lang/ocaml/files/ocaml-3.10.0-execheap.patch
@@ -0,0 +1,54 @@
+Index: ocaml-3.10.0/Makefile
+===================================================================
+--- ocaml-3.10.0.orig/Makefile
++++ ocaml-3.10.0/Makefile
+@@ -284,7 +284,7 @@ clean:: partialclean
+
+ ocamlc: $(COMPOBJS)
+ $(CAMLC) $(LINKFLAGS) -o ocamlc $(COMPOBJS)
+- @sed -e 's|@compiler@|$$topdir/boot/ocamlrun $$topdir/ocamlc|' \
++ @sed -e 's|@compiler@|$$topdir/boot/ocamlrun $$topdir/ocamlc|g' \
+ driver/ocamlcomp.sh.in > ocamlcomp.sh
+ @chmod +x ocamlcomp.sh
+
+@@ -295,7 +295,7 @@ partialclean::
+
+ ocamlopt: $(OPTOBJS)
+ $(CAMLC) $(LINKFLAGS) -o ocamlopt $(OPTOBJS)
+- @sed -e 's|@compiler@|$$topdir/boot/ocamlrun $$topdir/ocamlopt|' \
++ @sed -e 's|@compiler@|$$topdir/boot/ocamlrun $$topdir/ocamlopt|g' \
+ driver/ocamlcomp.sh.in > ocamlcompopt.sh
+ @chmod +x ocamlcompopt.sh
+
+@@ -385,7 +385,7 @@ ocamlc.opt: $(COMPOBJS:.cmo=.cmx)
+ $(CAMLOPT) $(LINKFLAGS) -ccopt "$(BYTECCLINKOPTS)" -o ocamlc.opt \
+ $(COMPOBJS:.cmo=.cmx) \
+ asmrun/meta.o asmrun/dynlink.o -cclib "$(BYTECCLIBS)"
+- @sed -e 's|@compiler@|$$topdir/ocamlc.opt|' \
++ @sed -e 's|@compiler@|$$topdir/ocamlc.opt|g' \
+ driver/ocamlcomp.sh.in > ocamlcomp.sh
+ @chmod +x ocamlcomp.sh
+
+@@ -396,7 +396,7 @@ partialclean::
+
+ ocamlopt.opt: $(OPTOBJS:.cmo=.cmx)
+ $(CAMLOPT) $(LINKFLAGS) -o ocamlopt.opt $(OPTOBJS:.cmo=.cmx)
+- @sed -e 's|@compiler@|$$topdir/ocamlopt.opt|' \
++ @sed -e 's|@compiler@|$$topdir/ocamlopt.opt|g' \
+ driver/ocamlcomp.sh.in > ocamlcompopt.sh
+ @chmod +x ocamlcompopt.sh
+
+Index: ocaml-3.10.0/driver/ocamlcomp.sh.in
+===================================================================
+--- ocaml-3.10.0.orig/driver/ocamlcomp.sh.in
++++ ocaml-3.10.0/driver/ocamlcomp.sh.in
+@@ -2,4 +2,9 @@
+
+ topdir=`dirname $0`
+
++# evil hack for evil build system.
++if [ -x /usr/bin/scanelf ]; then
++ [ "$(scanelf @compiler@ -BF%x#f)" != "--mxe-" ] && scanelf -qXx -z mxe @compiler@ > /dev/null
++fi
++
+ exec @compiler@ -nostdlib -I $topdir/stdlib "$@"
diff --git a/dev-lang/ocaml/ocaml-3.10.0.ebuild b/dev-lang/ocaml/ocaml-3.10.0.ebuild
index a5f4843e41e8..50c99105ce02 100644
--- a/dev-lang/ocaml/ocaml-3.10.0.ebuild
+++ b/dev-lang/ocaml/ocaml-3.10.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild,v 1.1 2007/05/26 13:08:14 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild,v 1.2 2007/05/26 13:36:50 aballier Exp $
inherit flag-o-matic eutils multilib pax-utils versionator toolchain-funcs
@@ -38,18 +38,15 @@ src_unpack() {
epatch "${FILESDIR}"/${P}-exec-stack-fixes.patch
# Quick and somewhat dirty fix for bug #110541
-# epatch "${FILESDIR}"/${P}-execheap.patch
+ # The sed in the Makefile doesn't replace all occurences of @compiler@
+ # in driver/ocamlcomp.sh.in. Reported upstream as issue 0004268.
+ epatch "${FILESDIR}"/${P}-execheap.patch
# The configure script doesn't inherit previous defined variables,
# overwriting previous declarations of bytecccompopts, bytecclinkopts,
# nativecccompopts and nativecclinkopts. Reported upstream as issue 0004267.
epatch "${FILESDIR}"/${P}-configure.patch
- # The sed in the Makefile doesn't replace all occurences of @compiler@
- # in driver/ocamlcomp.sh.in. Reported upstream as issue 0004268.
-# epatch "${FILESDIR}"/${P}-Makefile.patch
-
-
# ocaml has automagics on libX11 and gdbm
# http://caml.inria.fr/mantis/view.php?id=4278
epatch "${FILESDIR}/${P}-automagic.patch"