summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <eradicator@gentoo.org>2004-12-28 08:49:55 +0000
committerJeremy Huddleston <eradicator@gentoo.org>2004-12-28 08:49:55 +0000
commit2f210427d0f301ab4f78fe04b4722c93e168e9c1 (patch)
tree6a13ba05bdd76eba1430768129a0509c591e7798 /sys-devel
parentRevision bump, closes bug #75378 (diff)
downloadhistorical-2f210427d0f301ab4f78fe04b4722c93e168e9c1.tar.gz
historical-2f210427d0f301ab4f78fe04b4722c93e168e9c1.tar.bz2
historical-2f210427d0f301ab4f78fe04b4722c93e168e9c1.zip
Added patch to honor CFLAGS_${ABI}. It's commented out in the ebuild pending lisa's approval since she's the maintainer. See bug #75420.
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/distcc/ChangeLog7
-rw-r--r--sys-devel/distcc/Manifest23
-rw-r--r--sys-devel/distcc/distcc-2.18.3.ebuild6
-rw-r--r--sys-devel/distcc/files/distcc-gentoo-multilib.patch112
4 files changed, 135 insertions, 13 deletions
diff --git a/sys-devel/distcc/ChangeLog b/sys-devel/distcc/ChangeLog
index eb6cfda6fc52..d42112ec32f4 100644
--- a/sys-devel/distcc/ChangeLog
+++ b/sys-devel/distcc/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-devel/distcc
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.129 2004/12/14 22:23:59 lisa Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.130 2004/12/28 08:49:55 eradicator Exp $
+
+ 28 Dec 2004; Jeremy Huddleston <eradicator@gentoo.org>
+ +files/distcc-gentoo-multilib.patch, distcc-2.18.3.ebuild:
+ Added patch to honor CFLAGS_${ABI}. It's commented out in the ebuild pending
+ lisa's approval since she's the maintainer. See bug #75420.
14 Dec 2004; Lisa Seelye <lisa@gentoo.org> distcc-2.18.3.ebuild:
fix dependency on pkgconfig for only gtk/gnome. bug #68168
diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest
index aba744dd318c..dddad7a43783 100644
--- a/sys-devel/distcc/Manifest
+++ b/sys-devel/distcc/Manifest
@@ -1,24 +1,25 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+MD5 11b850e6889949d5cdc67d35d982db44 ChangeLog 23786
MD5 fdc538f8cbd4354cd059f94668bcfef3 distcc-2.16-r2.ebuild 4847
-MD5 887c47f8738ec991f618570fa9a5be51 distcc-2.18.3.ebuild 4848
-MD5 b634e8c42c191a882dab36a1e1fddd7b distcc-2.17-r1.ebuild 5169
-MD5 b40d07fa5c15e7900d84b958bd2887ab ChangeLog 23520
MD5 c04441917ccb5e5f9790642545c1f469 metadata.xml 375
+MD5 19d88c612c82c68e8c9393933cc02646 distcc-2.18.3.ebuild 5008
+MD5 b634e8c42c191a882dab36a1e1fddd7b distcc-2.17-r1.ebuild 5169
+MD5 fa3f7ab9f7829ba28b454f624b11da53 files/digest-distcc-2.18.3 66
MD5 c462167d99c154e9f8b9f94022ed2a71 files/digest-distcc-2.16-r2 64
+MD5 2823938220f7e53be1d5c6938bb46725 files/distcc-gentoo-multilib.patch 3364
MD5 af5f3983a736bd552e83d92ac9955a03 files/digest-distcc-2.17-r1 64
MD5 fec77b3be8d8bd8f2d6e5a708cb35717 files/distcc-config 4874
-MD5 fa3f7ab9f7829ba28b454f624b11da53 files/digest-distcc-2.18.3 66
-MD5 69a089566bd18a1bfba2da639964c19e files/2.17/conf 1317
-MD5 1161999a5d25185f95a8c284bd7307d1 files/2.17/init 733
-MD5 a053c2281c30835b1025f307b09b78ae files/2.17/2.17-ipv6-fix.diff.gz 237
MD5 bb53a18e009ef62f4402a23f83bfda20 files/2.18/conf 1384
MD5 739ebfc62fe125b76021cf7987a158f7 files/2.18/init 733
+MD5 a053c2281c30835b1025f307b09b78ae files/2.17/2.17-ipv6-fix.diff.gz 237
+MD5 69a089566bd18a1bfba2da639964c19e files/2.17/conf 1317
+MD5 1161999a5d25185f95a8c284bd7307d1 files/2.17/init 733
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.9.10 (GNU/Linux)
+Version: GnuPG v1.2.6 (GNU/Linux)
-iD8DBQFBw0gyI1lqEGTUzyQRAuhNAJ0ajHACAT91pXYT0vEwgKi3NCsPqQCg2PyP
-UD2L7s29utIQTJVPzSr3izM=
-=q3l1
+iD8DBQFB0R6VArHZZzCEUG0RAmg9AJ9SbRCj869/m5UL/ywZKPGf0OgkOQCggG0h
+27j4UWmMwZY3nOR+bVVh9zU=
+=mZb8
-----END PGP SIGNATURE-----
diff --git a/sys-devel/distcc/distcc-2.18.3.ebuild b/sys-devel/distcc/distcc-2.18.3.ebuild
index c0000aaead2d..95639afad132 100644
--- a/sys-devel/distcc/distcc-2.18.3.ebuild
+++ b/sys-devel/distcc/distcc-2.18.3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-2.18.3.ebuild,v 1.2 2004/12/14 22:23:59 lisa Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-2.18.3.ebuild,v 1.3 2004/12/28 08:49:55 eradicator Exp $
# If you change this in any way please email lisa@gentoo.org and make an
# entry in the ChangeLog (this means you spanky :P). (2004-04-11) Lisa Seelye
@@ -46,6 +46,10 @@ RDEPEND="
src_unpack() {
unpack ${A}
cd ${S}
+
+ # Commented out pending lisa's approval, since I'm not the maintainer.
+ # See bug #75420 --eradicator
+ #epatch ${FILESDIR}/distcc-gentoo-multilib.patch
gnuconfig_update
}
diff --git a/sys-devel/distcc/files/distcc-gentoo-multilib.patch b/sys-devel/distcc/files/distcc-gentoo-multilib.patch
new file mode 100644
index 000000000000..cc17764fdc5a
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-gentoo-multilib.patch
@@ -0,0 +1,112 @@
+diff -Naur distcc-2.18.3-vanilla/src/distcc.c distcc-2.18.3/src/distcc.c
+--- distcc-2.18.3-vanilla/src/distcc.c 2004-10-01 17:47:07.000000000 -0700
++++ distcc-2.18.3/src/distcc.c 2004-12-28 00:39:10.101746859 -0800
+@@ -135,7 +135,86 @@
+ signal(SIGHUP, &dcc_client_signalled);
+ }
+
++#define MAXNEWFLAGS 32
++#define MAXFLAGLEN 127
+
++static char **getNewArgv(char **argv) {
++ char **newargv;
++ char newflags[MAXNEWFLAGS][MAXFLAGLEN + 1];
++ unsigned newflagsCount;
++ unsigned argc;
++ unsigned i;
++ char **p;
++
++ if(getenv("ABI")) {
++ char *envar = (char *)malloc(sizeof(char) *
++ (strlen("CFLAGS_") + strlen(getenv("ABI")) + 1 ));
++ if(!envar)
++ return NULL;
++
++ /* We use CFLAGS_${ABI} for gcc, g++, g77, etc as they are
++ * the same no matter which compiler we are using.
++ */
++ sprintf(envar, "CFLAGS_%s", getenv("ABI"));
++
++ if(getenv(envar)) {
++ const char *newflagsStr = getenv(envar);
++ unsigned s, f; /* start/finish of each flag. f points to
++ * the char AFTER the end (ie the space/\0
++ */
++
++ /* Tokenize the flag list */
++ for(s=0; s < strlen(newflagsStr); s=f+1) {
++ /* Put s at the start of the next flag */
++ while(newflagsStr[s] == ' ' ||
++ newflagsStr[s] == '\t')
++ s++;
++ if(s == strlen(newflagsStr))
++ break;
++
++ f = s + 1;
++ while(newflagsStr[f] != ' ' &&
++ newflagsStr[f] != '\t' &&
++ newflagsStr[f] != '\0')
++ f++;
++
++ /* Detect overrun */
++ if(MAXFLAGLEN < f - s || MAXNEWFLAGS == newflagsCount)
++ return NULL;
++
++ strncpy(newflags[newflagsCount], newflagsStr + s, f - s);
++ newflagsCount++;
++ }
++ }
++
++ free(envar);
++ }
++
++ /* Calculate argc */
++ for(argc=0, p=argv; *p; p++, argc++);
++
++ /* Allocate our array */
++ newargv = (char **)malloc(sizeof(char *) * (argc + newflagsCount + 1));
++
++ /* Make room for the original, new ones, and the NULL terminator */
++ if(!newargv)
++ return NULL;
++
++ /* We just use the existing argv[i] as the start. */
++ for(i=0; i < argc; i++) {
++ newargv[i] = argv[i];
++ }
++
++ /* Now we want to append our newflags list. */
++ for(; i < argc + newflagsCount; i++) {
++ newargv[i] = newflags[i - argc];
++ }
++
++ /* And now cap it off... */
++ newargv[i] = NULL;
++
++ return newargv;
++}
+
+ /**
+ * distcc client entry point.
+@@ -150,6 +229,7 @@
+ int status, sg_level, tweaked_path = 0;
+ char **compiler_args;
+ char *compiler_name;
++ char **newargv;
+ int ret;
+
+ dcc_client_catch_signals();
+@@ -200,7 +280,12 @@
+ &tweaked_path)) != 0)
+ goto out;
+
+- dcc_copy_argv(argv, &compiler_args, 0);
++ if(!(newargv = getNewArgv(argv))) {
++ ret = EXIT_OUT_OF_MEMORY;
++ goto out;
++ }
++ dcc_copy_argv(newargv, &compiler_args, 0);
++ free(newargv);
+ compiler_args[0] = compiler_name;
+ }
+