summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Heim <phreak@gentoo.org>2007-04-22 19:33:00 +0000
committerChristian Heim <phreak@gentoo.org>2007-04-22 19:33:00 +0000
commit4cd943d3f7a1f51f2417362b0e8c14a06e2b2195 (patch)
treeaa1959a2c9da6f53bae0038613394de0f913aa8a /hardened
parentReally fix #134403 for hardened. (diff)
downloadphreak-4cd943d3f7a1f51f2417362b0e8c14a06e2b2195.tar.gz
phreak-4cd943d3f7a1f51f2417362b0e8c14a06e2b2195.tar.bz2
phreak-4cd943d3f7a1f51f2417362b0e8c14a06e2b2195.zip
Workaround for now, solving compile issues on AMD64/hardened.
svn path=/; revision=322
Diffstat (limited to 'hardened')
-rw-r--r--hardened/dev-lang/ocaml/Manifest8
-rw-r--r--hardened/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild38
2 files changed, 28 insertions, 18 deletions
diff --git a/hardened/dev-lang/ocaml/Manifest b/hardened/dev-lang/ocaml/Manifest
index 0d0a067..a03d760 100644
--- a/hardened/dev-lang/ocaml/Manifest
+++ b/hardened/dev-lang/ocaml/Manifest
@@ -19,10 +19,10 @@ MD5 bcc5109143faee7e7b8f7f76bd4726a7 files/ocaml-rebuild.sh 1361
RMD160 a9c452fbea18de3b38d8240f887f8595e529643e files/ocaml-rebuild.sh 1361
SHA256 a8004cd4bca96ab3fc595fcfd7dbe88903833f9e430149c3d04c9fda84362b64 files/ocaml-rebuild.sh 1361
DIST ocaml-3.09.3.tar.bz2 2038617 RMD160 fdc124218c556c62c897ee6720970279e2d5426b SHA1 5d63c6e0d13463f85c0d5147d641d2bceef87d6b SHA256 607842b4f4917a759f19541a421370a834f5b948855ca54cef40d22b19a0934f
-EBUILD ocaml-3.09.3-r1.ebuild 4217 RMD160 40f122acfc17d04394567e0f836515f9d9a65738 SHA1 9108d1452d348c8d7666cf2926ba1903fbc8f8d9 SHA256 0ea364289db4ab59f2d4464387ab706e818a692173b1f47010bff256094f37af
-MD5 f197a91f8518b9314a0a62a1305d172d ocaml-3.09.3-r1.ebuild 4217
-RMD160 40f122acfc17d04394567e0f836515f9d9a65738 ocaml-3.09.3-r1.ebuild 4217
-SHA256 0ea364289db4ab59f2d4464387ab706e818a692173b1f47010bff256094f37af ocaml-3.09.3-r1.ebuild 4217
+EBUILD ocaml-3.09.3-r1.ebuild 4515 RMD160 7bdd9c69ee9601e8ef74dab79f27a32010afa5f8 SHA1 57ad3eead0f40ce0c4d1c9128291d0d826e9d89b SHA256 52ee773b6983b52be8c0db7a6ce48f48efb226e1941c435b124ad503b254d326
+MD5 db9ba7c43a5adc4fd82a7bdb37585a5e ocaml-3.09.3-r1.ebuild 4515
+RMD160 7bdd9c69ee9601e8ef74dab79f27a32010afa5f8 ocaml-3.09.3-r1.ebuild 4515
+SHA256 52ee773b6983b52be8c0db7a6ce48f48efb226e1941c435b124ad503b254d326 ocaml-3.09.3-r1.ebuild 4515
MD5 71f3dc5bc2ee57a403689b56bc1a85c1 files/digest-ocaml-3.09.3-r1 244
RMD160 e7f0898889b94faae3b1481555bac42e9298b370 files/digest-ocaml-3.09.3-r1 244
SHA256 19708f759185ed39623e03921462ba20fb6f3533268673d2bcd7dd07cef57350 files/digest-ocaml-3.09.3-r1 244
diff --git a/hardened/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild b/hardened/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild
index cd71c86..a71e735 100644
--- a/hardened/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild
+++ b/hardened/dev-lang/ocaml/ocaml-3.09.3-r1.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.09.3.ebuild,v 1.9 2007/04/15 20:17:05 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild,v 1.1 2007/04/22 13:55:57 phreak Exp $
inherit flag-o-matic eutils multilib pax-utils versionator toolchain-funcs
@@ -10,16 +10,26 @@ SRC_URI="http://caml.inria.fr/distrib/ocaml-$( get_version_component_range 1-2 )
LICENSE="QPL-1.0 LGPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc ppc64 sparc x86 x86-fbsd"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
IUSE="tk latex"
DEPEND="virtual/libc
tk? ( >=dev-lang/tk-3.3.3 )"
+# ocaml deletes the *.opt files when running bootstrap
+RESTRICT="test"
+
QA_EXECSTACK="/usr/lib/ocaml/compiler-*"
-# This is a crappy way to deal with the textrels, but it keeps stuff simple
-QA_TEXTRELS="usr/bin/ocaml*.opt usr/bin/camlp4*.opt"
+pkg_setup() {
+ # dev-lang/ocaml fails with -fPIC errors due to a "relocation R_X86_64_32S" on AMD64/hardened
+ if use amd64 && gcc-specs-pie ; then
+ echo
+ eerror "${PN} is currently broken on this platform with specfiles injecting -PIE."
+ eerror "Please switch to your ${CHOST}-$(gcc-fullversion)-hardenednopie specfile via gcc-config!"
+ die "Current gcc spec not supported by ${PF}!"
+ fi
+}
src_unpack() {
unpack ${A}
@@ -48,12 +58,6 @@ src_unpack() {
}
src_compile() {
- # ocaml fails on AMD64/hardened due to -PIE being adding to the binaries
- if use amd64 ; then
- gcc-specs-pie && append-flags -fno-pie
- filter-flags -fPIE -fpie
- fi
-
local myconf="--host ${CHOST}"
# dev-lang/ocaml tends to break/give unexpected results with "unsafe" CFLAGS.
@@ -78,9 +82,9 @@ src_compile() {
fi
}
-src_test() {
- make bootstrap
-}
+#src_test() {
+# make bootstrap
+#}
src_install() {
make BINDIR="${D}"/usr/bin \
@@ -105,7 +109,7 @@ src_install() {
# Turn MPROTECT off for some of the ocaml binaries, since they are trying to
# rewrite the segment (which will obviously fail on systems having
# PAX_MPROTECT enabled).
- pax-mark -m "${D}"//usr/bin/ocamldoc.opt "${D}"/usr/bin/ocamldep.opt \
+ pax-mark -m "${D}"/usr/bin/ocamldoc.opt "${D}"/usr/bin/ocamldep.opt \
"${D}"/usr/bin/ocamllex.opt "${D}"/usr/bin/camlp4r.opt \
"${D}"/usr/bin/camlp4o.opt
@@ -118,6 +122,12 @@ src_install() {
}
pkg_postinst() {
+ if use amd64 && gcc-specs-ssp ; then
+ echo
+ ewarn "Make sure, you switch back to the default specfile!"
+ echo
+ fi
+
echo
elog "OCaml is not binary compatible from version to version, so you (may)"
elog "need to rebuild all packages depending on it, that are actually"