summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-09-17 05:21:57 +0000
committerMike Frysinger <vapier@gentoo.org>2011-09-17 05:21:57 +0000
commit312952092fd4ac523491a3354b3454c4a57eafb7 (patch)
tree2f1ffaac4fa48160414ff22f6e87fc80a61546b3 /sys-devel
parentAdd fix from upstream for posix regex behavior #382919 by Christian Kaps. (diff)
downloadhistorical-312952092fd4ac523491a3354b3454c4a57eafb7.tar.gz
historical-312952092fd4ac523491a3354b3454c4a57eafb7.tar.bz2
historical-312952092fd4ac523491a3354b3454c4a57eafb7.zip
Add glob optimization patch from upstream #382845 by Tomáš Chvátal.
Package-Manager: portage-2.2.0_alpha58/cvs/Linux x86_64
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/make/ChangeLog8
-rw-r--r--sys-devel/make/Manifest12
-rw-r--r--sys-devel/make/files/make-3.82-glob-speedup.patch89
-rw-r--r--sys-devel/make/make-3.82-r2.ebuild44
4 files changed, 147 insertions, 6 deletions
diff --git a/sys-devel/make/ChangeLog b/sys-devel/make/ChangeLog
index dde744ff9013..ec7adab32a9c 100644
--- a/sys-devel/make/ChangeLog
+++ b/sys-devel/make/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-devel/make
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.85 2011/09/05 11:20:41 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.86 2011/09/17 05:21:57 vapier Exp $
+
+*make-3.82-r2 (17 Sep 2011)
+
+ 17 Sep 2011; Mike Frysinger <vapier@gentoo.org> +make-3.82-r2.ebuild,
+ +files/make-3.82-glob-speedup.patch:
+ Add glob optimization patch from upstream #382845 by Tomáš Chvátal.
05 Sep 2011; Jeroen Roovers <jer@gentoo.org> make-3.82-r1.ebuild:
Stable for HPPA (bug #381199).
diff --git a/sys-devel/make/Manifest b/sys-devel/make/Manifest
index 51dcee5501d1..283886860c74 100644
--- a/sys-devel/make/Manifest
+++ b/sys-devel/make/Manifest
@@ -1,5 +1,5 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
+Hash: SHA256
AUX 3.80-memory.patch 2248 RMD160 3c8d5c017c61061eb4d6f666799d377f1ba272ca SHA1 9e3f3d9c9fa7911dff14adbe46080e1326cf05f2 SHA256 0fa6d8b039fd56313626a3865cde7ef09622525a751ec55bf3741a6fc172091f
AUX make-3.80-conditional-eval.patch 4144 RMD160 f8755c6ea82cfc4cdc6675b2e462fb6438b9e569 SHA1 3320a4196e42a25a3f7f51a3f84859c49dea6683 SHA256 68f182f5435296b60acc710006bddf745bee6c37e68ae2942c778add93a40155
@@ -10,6 +10,7 @@ AUX make-3.81-tests-lang.patch 1788 RMD160 c62f231b9bb5fef003e91f9a48b76832bd75b
AUX make-3.81-tests-recursion.patch 514 RMD160 daa439bff160c9aa1efb447fcc39d1eb1319a2e5 SHA1 895a5bed190ca4b89055b450aca8f74730069239 SHA256 727a42dd884d296d421342f374b95ac05eeaef67c5f5efe755f1242944aab74b
AUX make-3.82-MAKEFLAGS-reexec.patch 456 RMD160 c4136e807e84e319f86ad889b6f64b213f31be9c SHA1 79318dd977711aa49532c236b922bd2a0c0d4b25 SHA256 0180a94ab07bb9c1348ab30301afcbbe382a281c4c6f143de16e3bea3d96e00c
AUX make-3.82-archives-many-objs.patch 2110 RMD160 aac9987dcc1d8c2b698b918c5e3900daaca65b4f SHA1 0920daaeb8f9fed7e3cb7f35c2dd6e41080c5848 SHA256 268db7c9e98f540ac9d5466bba17946f400463c1fd934d419e37fafaea7f0dd7
+AUX make-3.82-glob-speedup.patch 2273 RMD160 435f1aebb0f21589e554e0d0ac7b4f72362bd4b9 SHA1 dbdc0c41cb9b1981664e02938891f848068fad8d SHA256 2e2a6069710ab5fab1296beff0f35ab8896ddd149d4ccdf58c3481bd13c7b942
AUX make-3.82-memory-corruption.patch 899 RMD160 7764c4aaca43542caa5de2ec96ea9cee7d72501d SHA1 02a5b1413357ab105a01d83f3afcd86f70b9de8b SHA256 8bb84e638f40514045f0c57b0ee9da24024679f624614e4d954ce7e8f6414d3b
DIST make-3.80.tar.bz2 920645 RMD160 dcb61f3913d4d43caeef5b597ba2d4e1a03701aa SHA1 d2085842f08e57d58d3e1cd75a5f0342a60e5f45 SHA256 a99b39e7b04c333724f48c38fede709481cfb69fafe7e32ae4285b7fadf92f1b
DIST make-3.81.tar.bz2 1151445 RMD160 79d418e1258ec0d6ba08b1431a4ade3fec54c2b2 SHA1 41ed86d941b9c8025aee45db56c0283169dcab3d SHA256 f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8
@@ -19,13 +20,14 @@ EBUILD make-3.81-r1.ebuild 1203 RMD160 f6ece9102a0de446627b53876eabb85146b9552c
EBUILD make-3.81-r2.ebuild 1300 RMD160 57e2697cf74c0a74c90b5e4c3850f786d76a8204 SHA1 3d50691fbcf24f835d749207099d8bbb8436f73b SHA256 6e525178d3916147f19dd3c8feadaceecbb073d8388c11bb30245fc9c3dec1cd
EBUILD make-3.81.ebuild 1133 RMD160 ab9336bdd8cdba6eb488d269872087a01c877574 SHA1 ffe4242b8a6ecbdb75c8b34114bcdd5047df9296 SHA256 b529e9eba4442a0b1a2b36b6d9dc5f799ef311c867be46422ed91660323d0549
EBUILD make-3.82-r1.ebuild 1246 RMD160 f334dddd031638823aa1ee05f1d98fd2ebbe2efd SHA1 fe7b76dc94c42fdb8ce6731372fb5be12a825125 SHA256 8de4d20d364a489169b3740a1d7f5ccf9366f9a5ae10cb030d0ab0a3aad9e79d
+EBUILD make-3.82-r2.ebuild 1306 RMD160 a7c6736ce6e5699142f305ddfc15ede3adcad75d SHA1 b16541a3d199b74ff4fcc8938d8231226a8e5e27 SHA256 696f90ce472beed4d8c074b2dacb91349f90e8894764c57aeb3f730b71f1c413
EBUILD make-3.82.ebuild 1183 RMD160 79fa175c141d9cf62abed8fe8bef302b161a59fe SHA1 8aad4913216a6c47997990165635d3d09c9dc39a SHA256 1f2ca73bb4d269ad882400528a2eeb2e22fbcee64fb8a589b074009b5df6ea52
-MISC ChangeLog 10843 RMD160 f2de1b26872319f6f33cb25b035b3571181a1673 SHA1 d130323eea7c0f0137e918f0a0121641ec541e7c SHA256 9ebdf9403db01c0a781ee51b90b9ca7efead5c18d84fb50f68308fe12873b592
+MISC ChangeLog 11060 RMD160 a93666ca2703bc1e82703ceba5303f010344a118 SHA1 719844777fe94116f039993063adad9168830a57 SHA256 275d38869fcaae34e2d8daf0fb83df3e698590f680f3257e0c54168710875cf2
MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iEYEARECAAYFAk5ksI8ACgkQVWmRsqeSphP2JgCeMFQqsOOS4UiDi68yN8ZuRAqC
-7gsAn3ZBKouSWrx4HVXxsL+YCQK2h0cH
-=VmLC
+iF4EAREIAAYFAk50Ln0ACgkQaC/OocHi7JZ3ewEAjn53sD0q/djFtN+TXB7hEfih
+jhQHwBN9EhpBIgXMIYABAJyjCvJunK25gqzBQ2KU/GSvqX2a5uXtbsnajZ9J0yz3
+=/76W
-----END PGP SIGNATURE-----
diff --git a/sys-devel/make/files/make-3.82-glob-speedup.patch b/sys-devel/make/files/make-3.82-glob-speedup.patch
new file mode 100644
index 000000000000..79ca87eb60f5
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-glob-speedup.patch
@@ -0,0 +1,89 @@
+change from upstream to speed up by skipping unused globs
+
+https://bugs.gentoo.org/382845
+
+--- a/read.c 2011/04/29 15:27:39 1.198
++++ b/read.c 2011/05/02 00:18:06 1.199
+@@ -2901,6 +2901,7 @@
+ const char *name;
+ const char **nlist = 0;
+ char *tildep = 0;
++ int globme = 1;
+ #ifndef NO_ARCHIVES
+ char *arname = 0;
+ char *memname = 0;
+@@ -3109,32 +3110,40 @@
+ }
+ #endif /* !NO_ARCHIVES */
+
+- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
+- {
+- case GLOB_NOSPACE:
+- fatal (NILF, _("virtual memory exhausted"));
+-
+- case 0:
+- /* Success. */
+- i = gl.gl_pathc;
+- nlist = (const char **)gl.gl_pathv;
+- break;
+-
+- case GLOB_NOMATCH:
+- /* If we want only existing items, skip this one. */
+- if (flags & PARSEFS_EXISTS)
+- {
+- i = 0;
+- break;
+- }
+- /* FALLTHROUGH */
+-
+- default:
+- /* By default keep this name. */
++ /* glob() is expensive: don't call it unless we need to. */
++ if (!(flags & PARSEFS_EXISTS) || strpbrk (name, "?*[") == NULL)
++ {
++ globme = 0;
+ i = 1;
+ nlist = &name;
+- break;
+- }
++ }
++ else
++ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
++ {
++ case GLOB_NOSPACE:
++ fatal (NILF, _("virtual memory exhausted"));
++
++ case 0:
++ /* Success. */
++ i = gl.gl_pathc;
++ nlist = (const char **)gl.gl_pathv;
++ break;
++
++ case GLOB_NOMATCH:
++ /* If we want only existing items, skip this one. */
++ if (flags & PARSEFS_EXISTS)
++ {
++ i = 0;
++ break;
++ }
++ /* FALLTHROUGH */
++
++ default:
++ /* By default keep this name. */
++ i = 1;
++ nlist = &name;
++ break;
++ }
+
+ /* For each matched element, add it to the list. */
+ while (i-- > 0)
+@@ -3174,7 +3183,8 @@
+ #endif /* !NO_ARCHIVES */
+ NEWELT (concat (2, prefix, nlist[i]));
+
+- globfree (&gl);
++ if (globme)
++ globfree (&gl);
+
+ #ifndef NO_ARCHIVES
+ if (arname)
diff --git a/sys-devel/make/make-3.82-r2.ebuild b/sys-devel/make/make-3.82-r2.ebuild
new file mode 100644
index 000000000000..6e4ec2db80a4
--- /dev/null
+++ b/sys-devel/make/make-3.82-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.82-r2.ebuild,v 1.1 2011/09/17 05:21:57 vapier Exp $
+
+EAPI="2"
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="http://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="nls static"
+
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND="nls? ( virtual/libintl )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-archives-many-objs.patch #334889
+ epatch "${FILESDIR}"/${P}-MAKEFLAGS-reexec.patch #31975
+ epatch "${FILESDIR}"/${P}-memory-corruption.patch #355907
+ epatch "${FILESDIR}"/${P}-glob-speedup.patch #382845
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}