summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2007-05-15 09:37:31 +0000
committerAlexis Ballier <aballier@gentoo.org>2007-05-15 09:37:31 +0000
commitd6979192958510b2b62c4f3eca6eb35e6e07fc02 (patch)
treee12d45d81c693665f06e4088ef6aa09c63cdc4bd /dev-lang/ocaml
parentAdd ~ppc keywording, tested on a PowerBook 5,9 with GCC 4.1.2; as requested b... (diff)
downloadhistorical-d6979192958510b2b62c4f3eca6eb35e6e07fc02.tar.gz
historical-d6979192958510b2b62c4f3eca6eb35e6e07fc02.tar.bz2
historical-d6979192958510b2b62c4f3eca6eb35e6e07fc02.zip
Optimize ocamlp4 for size on hppa, bug #178256
Package-Manager: portage-2.1.2.7
Diffstat (limited to 'dev-lang/ocaml')
-rw-r--r--dev-lang/ocaml/ChangeLog7
-rw-r--r--dev-lang/ocaml/Manifest26
-rw-r--r--dev-lang/ocaml/files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch25
-rw-r--r--dev-lang/ocaml/ocaml-3.09.3-r1.ebuild7
4 files changed, 52 insertions, 13 deletions
diff --git a/dev-lang/ocaml/ChangeLog b/dev-lang/ocaml/ChangeLog
index f2d94a301d1e..1e71c4076e48 100644
--- a/dev-lang/ocaml/ChangeLog
+++ b/dev-lang/ocaml/ChangeLog
@@ -1,6 +1,11 @@
# 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.109 2007/05/14 22:37:06 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.110 2007/05/15 09:37:31 aballier Exp $
+
+ 15 May 2007; Alexis Ballier <aballier@gentoo.org>
+ +files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch,
+ ocaml-3.09.3-r1.ebuild:
+ Optimize ocamlp4 for size on hppa, bug #178256
14 May 2007; Alexis Ballier <aballier@gentoo.org>
+files/ocaml-3.09.3-call_ld_with_proper_flags.patch,
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index 874d82bd41e3..4c1c5d5ced4a 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -25,6 +25,10 @@ AUX ocaml-3.09.3-execheap.patch 423 RMD160 28bc7612b0fc334f2cfb70775766a12f4e82b
MD5 347917347ea61c71c5a2f006b0b8e1bf files/ocaml-3.09.3-execheap.patch 423
RMD160 28bc7612b0fc334f2cfb70775766a12f4e82b196 files/ocaml-3.09.3-execheap.patch 423
SHA256 36381a2a9cca239942cde3278f83b8cda6ee9fb1c6b31cb83cd4ffba0d8f0406 files/ocaml-3.09.3-execheap.patch 423
+AUX ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch 1049 RMD160 cd5e0018024ad65c4ff0feedcb0bca066b100795 SHA1 e4a8c5dc405a3ec70065a1ef53d1dd4473cbc2f2 SHA256 4839c665ded8a44c67d9b394e3190091611e4ca3f5dfdd94c12849ccb90ea271
+MD5 dbac43a7f4ea541511a0a736d8204785 files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch 1049
+RMD160 cd5e0018024ad65c4ff0feedcb0bca066b100795 files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch 1049
+SHA256 4839c665ded8a44c67d9b394e3190091611e4ca3f5dfdd94c12849ccb90ea271 files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch 1049
AUX ocaml-rebuild.sh 1361 RMD160 a9c452fbea18de3b38d8240f887f8595e529643e SHA1 2a682ce872c51e66a5ab13160da16b0f6d8bd366 SHA256 a8004cd4bca96ab3fc595fcfd7dbe88903833f9e430149c3d04c9fda84362b64
MD5 bcc5109143faee7e7b8f7f76bd4726a7 files/ocaml-rebuild.sh 1361
RMD160 a9c452fbea18de3b38d8240f887f8595e529643e files/ocaml-rebuild.sh 1361
@@ -40,18 +44,18 @@ EBUILD ocaml-3.09.2.ebuild 2402 RMD160 6bc854705b08c0ef5e9d05d6e6009d6c463f2d33
MD5 8cb80568d2fffd2db8db680e611b1323 ocaml-3.09.2.ebuild 2402
RMD160 6bc854705b08c0ef5e9d05d6e6009d6c463f2d33 ocaml-3.09.2.ebuild 2402
SHA256 8144897559ad397542ece72e1d503d561add45cf8ac3daab8c2fd1020e38a030 ocaml-3.09.2.ebuild 2402
-EBUILD ocaml-3.09.3-r1.ebuild 5227 RMD160 0260f9e6f656f98b546dfffcd918da8a2a07c5e0 SHA1 ae0802a887d2d8fa75f8260d0e48db8795afab08 SHA256 5ee6c8effcffb1d539ad9a1d8a36dff7aee284c22358ff2121f93632fdb39108
-MD5 78df3f165f21a9a59e6d1c7b7ed1b3c8 ocaml-3.09.3-r1.ebuild 5227
-RMD160 0260f9e6f656f98b546dfffcd918da8a2a07c5e0 ocaml-3.09.3-r1.ebuild 5227
-SHA256 5ee6c8effcffb1d539ad9a1d8a36dff7aee284c22358ff2121f93632fdb39108 ocaml-3.09.3-r1.ebuild 5227
+EBUILD ocaml-3.09.3-r1.ebuild 5433 RMD160 418e4b0685e7c9b4d2a853209414cc29e0f48f2a SHA1 a46387674037278accfed3053a47d7ce97351039 SHA256 43547b2687c943f5c22ec2fff2d0be417b6fdaf9b68f89e6d8ece2fd0897af30
+MD5 65900b885b744c5a01e40f2c90426702 ocaml-3.09.3-r1.ebuild 5433
+RMD160 418e4b0685e7c9b4d2a853209414cc29e0f48f2a ocaml-3.09.3-r1.ebuild 5433
+SHA256 43547b2687c943f5c22ec2fff2d0be417b6fdaf9b68f89e6d8ece2fd0897af30 ocaml-3.09.3-r1.ebuild 5433
EBUILD ocaml-3.09.3.ebuild 2502 RMD160 2a015120aec3b6ce103ffeebdae265e1ced4aa49 SHA1 44bdb0801fe812386f53a75b3ba376ae1b54eee6 SHA256 fad524f73b1a807254283cc48dc742f18a8fec1a5b3123a86435a014cbc2125f
MD5 e44a3de37fac8ae24a87c9f1d4019c7a ocaml-3.09.3.ebuild 2502
RMD160 2a015120aec3b6ce103ffeebdae265e1ced4aa49 ocaml-3.09.3.ebuild 2502
SHA256 fad524f73b1a807254283cc48dc742f18a8fec1a5b3123a86435a014cbc2125f ocaml-3.09.3.ebuild 2502
-MISC ChangeLog 17081 RMD160 f55e2a63e99e8e8961662a4a4a8f61481a887b5e SHA1 c979a503132b64be7f6c5969bf17015174638371 SHA256 6a73922a833ecda4ede26b58f5ce825a029e7cad70eabcc72a76b9a096f00656
-MD5 fe5efee5acae4a44242187be4cefa553 ChangeLog 17081
-RMD160 f55e2a63e99e8e8961662a4a4a8f61481a887b5e ChangeLog 17081
-SHA256 6a73922a833ecda4ede26b58f5ce825a029e7cad70eabcc72a76b9a096f00656 ChangeLog 17081
+MISC ChangeLog 17269 RMD160 f0ddf108e4c708f7a983af249174e055a4d1b744 SHA1 447e790fab2ef23c49816450837bc78d7bc5a7ee SHA256 b123a981999d6f6ecfa02675a2d5936532b5254022d072371ebdcd9a3bb77da0
+MD5 4bd9f1ae11bc04f4be2079dca26a67df ChangeLog 17269
+RMD160 f0ddf108e4c708f7a983af249174e055a4d1b744 ChangeLog 17269
+SHA256 b123a981999d6f6ecfa02675a2d5936532b5254022d072371ebdcd9a3bb77da0 ChangeLog 17269
MISC metadata.xml 155 RMD160 dfaa057e679b01302a807c75a32a910098b26809 SHA1 94024f83dcacbb53e92be090dd0f994ec93dc90d SHA256 118048376ebb76f57628b0819f3de4856e73959c2578c88715d37ea2d1e0af81
MD5 8b350f19c06fcabf1053b0421b7c3f5a metadata.xml 155
RMD160 dfaa057e679b01302a807c75a32a910098b26809 metadata.xml 155
@@ -71,7 +75,7 @@ SHA256 19708f759185ed39623e03921462ba20fb6f3533268673d2bcd7dd07cef57350 files/di
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (GNU/Linux)
-iD8DBQFGSOSavFcC4BYPU0oRAmDhAJ4rl8L4coZ92XDl/98W2i3DYlMUUgCfQXcN
-a9pqdtqvz8UsMHGseSlJt1c=
-=J8kb
+iD8DBQFGSX9mvFcC4BYPU0oRAuS7AKCoMiEEsdkibkr5ejGe00XhPFhm8gCfeKcQ
+Nv2JCJwMMeNR7XWcFJ8tnjo=
+=OK0r
-----END PGP SIGNATURE-----
diff --git a/dev-lang/ocaml/files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch b/dev-lang/ocaml/files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch
new file mode 100644
index 000000000000..3a9aed3e4c16
--- /dev/null
+++ b/dev-lang/ocaml/files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch
@@ -0,0 +1,25 @@
+Ocaml native code generation for hppa has a bug
+It can produce too big assembler files (>64k) that are invalid
+See bug : http://bugs.gentoo.org/show_bug.cgi?id=178256
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342704
+http://caml.inria.fr/mantis/view.php?id=4147
+http://caml.inria.fr/mantis/view.php?id=3937
+
+This bug seems to have always existed but was never encountered
+In 3.09 releases, ocamlp4 has grown bigger and bigger and triggers it
+We just tell ocamlopt to optimize for size rather than for speed
+and the produced assembler is thus valid...
+
+Index: ocaml-3.09.3-patched/camlp4/config/Makefile.tpl
+===================================================================
+--- ocaml-3.09.3-patched.orig/camlp4/config/Makefile.tpl
++++ ocaml-3.09.3-patched/camlp4/config/Makefile.tpl
+@@ -37,7 +37,7 @@ TEST_DIRECTORY=test `basename "$<"` = "$
+ .ml.cmx:
+ @$(TEST_DIRECTORY)
+ @$(CAMLP4_COMM) $< -o $*.ppo
+- $(OCAMLOPT) $(OCAMLCFLAGS) -c -impl $*.ppo
++ $(OCAMLOPT) $(OCAMLCFLAGS) -compact -inline 0 -c -impl $*.ppo
+ rm -f $*.ppo
+
+ .ml.p.cmx:
diff --git a/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild b/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild
index ad5ee27fd8ba..32c376d72f5a 100644
--- a/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild
+++ b/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-r1.ebuild,v 1.11 2007/05/14 22:37:06 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild,v 1.12 2007/05/15 09:37:31 aballier Exp $
inherit flag-o-matic eutils multilib pax-utils versionator toolchain-funcs
@@ -61,6 +61,11 @@ src_unpack() {
# See comment in the patch
epatch "${FILESDIR}/${P}-call_ld_with_proper_flags.patch"
+ # Ocaml native code generation for hppa has a bug
+ # See comments in the patch
+ # http://bugs.gentoo.org/show_bug.cgi?id=178256
+ use hppa && epatch "${FILESDIR}/${P}-hppa-optimize-for-size-ocamlp4.patch"
+
# Change the configure script to add the CFLAGS to bytecccompopts, LDFLAGS
# to bytecclinkopts.
sed -i -e "s,bytecccompopts=\"\",bytecccompopts=\"\${CFLAGS}\"," \