diff options
author | Jeremy Huddleston <eradicator@gentoo.org> | 2004-12-28 08:49:55 +0000 |
---|---|---|
committer | Jeremy Huddleston <eradicator@gentoo.org> | 2004-12-28 08:49:55 +0000 |
commit | 2f210427d0f301ab4f78fe04b4722c93e168e9c1 (patch) | |
tree | 6a13ba05bdd76eba1430768129a0509c591e7798 /sys-devel/distcc | |
parent | Revision bump, closes bug #75378 (diff) | |
download | historical-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/distcc')
-rw-r--r-- | sys-devel/distcc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-devel/distcc/Manifest | 23 | ||||
-rw-r--r-- | sys-devel/distcc/distcc-2.18.3.ebuild | 6 | ||||
-rw-r--r-- | sys-devel/distcc/files/distcc-gentoo-multilib.patch | 112 |
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; + } + |