Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/ppc64le:master commit in: sys-devel/libtool/files/, sys-devel/libtool/, sys-devel/libtool/files/1.5.20/
Date: Tue, 28 Jun 2016 17:19:19
Message-Id: 1467133975.5b72abb9a692e3781cd70a0b479a0eb1e621bb73.blueness@gentoo
1 commit: 5b72abb9a692e3781cd70a0b479a0eb1e621bb73
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jun 28 17:12:55 2016 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Tue Jun 28 17:12:55 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/ppc64le.git/commit/?id=5b72abb9
7
8 sys-devel/libtool: copy from tree
9
10 sys-devel/libtool/Manifest | 4 +
11 .../libtool-1.5.20-use-linux-version-in-fbsd.patch | 38 +++
12 .../libtool-2.4.3-use-linux-version-in-fbsd.patch | 38 +++
13 .../libtool/files/libtool-2.4.6-fuse-ld.patch | 53 ++++
14 .../libtool-2.4.6-libtoolize-delay-help.patch | 53 ++++
15 .../files/libtool-2.4.6-libtoolize-slow.patch | 118 +++++++++
16 .../files/libtool-2.4.6-link-fsanitize.patch | 58 +++++
17 .../libtool/files/libtool-2.4.6-link-fuse-ld.patch | 54 +++++
18 .../libtool/files/libtool-2.4.6-link-specs.patch | 57 +++++
19 .../files/libtool-2.4.6-sed-quote-speedup.patch | 268 +++++++++++++++++++++
20 sys-devel/libtool/libtool-2.4.2-r1.ebuild | 96 ++++++++
21 sys-devel/libtool/libtool-2.4.4.ebuild | 77 ++++++
22 sys-devel/libtool/libtool-2.4.5.ebuild | 77 ++++++
23 sys-devel/libtool/libtool-2.4.6-r1.ebuild | 84 +++++++
24 sys-devel/libtool/libtool-2.4.6-r2.ebuild | 93 +++++++
25 sys-devel/libtool/libtool-2.4.6.ebuild | 77 ++++++
26 sys-devel/libtool/libtool-9999.ebuild | 81 +++++++
27 sys-devel/libtool/metadata.xml | 8 +
28 18 files changed, 1334 insertions(+)
29
30 diff --git a/sys-devel/libtool/Manifest b/sys-devel/libtool/Manifest
31 new file mode 100644
32 index 0000000..ba9189f
33 --- /dev/null
34 +++ b/sys-devel/libtool/Manifest
35 @@ -0,0 +1,4 @@
36 +DIST libtool-2.4.2.tar.xz 868760 SHA256 1d7b6862c1ed162e327f083a6f78f40eae29218f0db8c38393d61dab764c4407 SHA512 34f2d4a32beb4d85cfefd9c2c4ff33b0117e9e89c6599c303a7b850c43be5ed090b2f530388b8c8154e8f3f693abd2079180dca9afc948feb800b2e009bed169 WHIRLPOOL 300697c30b6cf693463338ee3bfe10b9ccce2c496b319862182124828caf7b667a7e9cf21f287572ec1fed8abe529a14d171da2983369522faf3eed5513a1af5
37 +DIST libtool-2.4.4.tar.xz 957476 SHA256 a8295b5853bf82a46635c944031e84970f2aa79c19df7a0c28f3ec8e11c07f6c SHA512 1ff24aa88962e0aae82e1fff41df7863f925627a506c6a663a79afa23729272aa4e5816889dd4697d5286d42483bcee2cc7352514768f1bd28ea546476074a84 WHIRLPOOL def0381a3608b52f8f5e9b83d297643d48d3e695117199b10b4ae3d6f5b11f3d3a36c4b6572b7659061c3fee77e46da4f5e3cfffa594063fed0fe382869c3539
38 +DIST libtool-2.4.5.tar.xz 971620 SHA256 84aac136513b009278896ffa255e4d685bcdb0cb0e5363be36adad64c986177e SHA512 67ceb387e33fbf0ffe6df422cd26939e305a365bb22674ce064ed7f7d6602054682515b014e290c70587b7f9b6f85f00fac31d6f000b4b022daaa2b343c17327 WHIRLPOOL 4a5171a8f23d50b78eb70bbd2ff9497fe2a970933392c65c41ab44600838cdc744e4e9ddfef37ac009cf5784de8c7b1ef061f8156919b7417e78529978afe7ed
39 +DIST libtool-2.4.6.tar.xz 973080 SHA256 7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4 WHIRLPOOL f6e1ea25cc8dd853f0de53c045bcd1166cfede9cb0e890079c2c05e6cbdb5e705e137f83ba32f7e16691b9c9108e9cfb2d14ed030cea07b6eacbe3f1ae18a73b
40
41 diff --git a/sys-devel/libtool/files/1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch b/sys-devel/libtool/files/1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch
42 new file mode 100644
43 index 0000000..cc9d8b8
44 --- /dev/null
45 +++ b/sys-devel/libtool/files/1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch
46 @@ -0,0 +1,38 @@
47 +Force linux-style versioning when generating shared libraries on
48 +Gentoo/FreeBSD hosts only.
49 +
50 +Patch by Diego Pettenò
51 +
52 +http://bugs.gentoo.org/109105
53 +
54 +--- libtool-1.5.20/libtool.m4
55 ++++ libtool-1.5.20/libtool.m4
56 +@@ -1375,7 +1375,14 @@ freebsd* | dragonfly*)
57 + *) objformat=elf ;;
58 + esac
59 + fi
60 +- version_type=freebsd-$objformat
61 ++ # Handle Gentoo/FreeBSD as it was Linux
62 ++ case $host_vendor in
63 ++ gentoo)
64 ++ version_type=linux ;;
65 ++ *)
66 ++ version_type=freebsd-$objformat ;;
67 ++ esac
68 ++
69 + case $version_type in
70 + freebsd-elf*)
71 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
72 +@@ -1386,6 +1392,12 @@ freebsd* | dragonfly*)
73 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
74 + need_version=yes
75 + ;;
76 ++ linux)
77 ++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
78 ++ soname_spec='${libname}${release}${shared_ext}$major'
79 ++ need_lib_prefix=no
80 ++ need_version=no
81 ++ ;;
82 + esac
83 + shlibpath_var=LD_LIBRARY_PATH
84 + case $host_os in
85
86 diff --git a/sys-devel/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch b/sys-devel/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch
87 new file mode 100644
88 index 0000000..8244eaa
89 --- /dev/null
90 +++ b/sys-devel/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch
91 @@ -0,0 +1,38 @@
92 +Force linux-style versioning when generating shared libraries on
93 +Gentoo/FreeBSD hosts only.
94 +
95 +Patch by Diego Elio Pettenò
96 +
97 +http://bugs.gentoo.org/109105
98 +
99 +--- a/m4/libtool.m4
100 ++++ b/m4/libtool.m4
101 +@@ -1375,7 +1375,14 @@
102 + *) objformat=elf ;;
103 + esac
104 + fi
105 +- version_type=freebsd-$objformat
106 ++ # Handle Gentoo/FreeBSD as it was Linux
107 ++ case $host_vendor in
108 ++ gentoo)
109 ++ version_type=linux ;;
110 ++ *)
111 ++ version_type=freebsd-$objformat ;;
112 ++ esac
113 ++
114 + case $version_type in
115 + freebsd-elf*)
116 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
117 +@@ -1386,6 +1392,12 @@
118 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
119 + need_version=yes
120 + ;;
121 ++ linux)
122 ++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
123 ++ soname_spec='${libname}${release}${shared_ext}$major'
124 ++ need_lib_prefix=no
125 ++ need_version=no
126 ++ ;;
127 + esac
128 + shlibpath_var=LD_LIBRARY_PATH
129 + case $host_os in
130
131 diff --git a/sys-devel/libtool/files/libtool-2.4.6-fuse-ld.patch b/sys-devel/libtool/files/libtool-2.4.6-fuse-ld.patch
132 new file mode 100644
133 index 0000000..c352d52
134 --- /dev/null
135 +++ b/sys-devel/libtool/files/libtool-2.4.6-fuse-ld.patch
136 @@ -0,0 +1,53 @@
137 +From 2f258b87ce4415edede1b2a84a3a7dbcf44555c2 Mon Sep 17 00:00:00 2001
138 +From: Mike Frysinger <vapier@g.o>
139 +Date: Mon, 16 Mar 2015 18:17:31 -0400
140 +Subject: [PATCH] libtool: pass through -fuse-ld flags
141 +
142 +Starting with gcc-4.8, there's a -fuse-ld flag that can be used to select
143 +between bfd & gold. Make sure we pass it through to the linking stage.
144 +
145 +* build-aux/ltmain.in (func_mode_link): Pass -fuse-ld=* flags through.
146 +---
147 + build-aux/ltmain.in | 4 +++-
148 + 1 file changed, 3 insertions(+), 1 deletion(-)
149 +
150 +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
151 +index d5cf07a..0fc8279 100644
152 +--- a/build-aux/ltmain.in
153 ++++ b/build-aux/ltmain.in
154 +@@ -5360,10 +5360,12 @@ func_mode_link ()
155 + # -tp=* Portland pgcc target processor selection
156 + # --sysroot=* for sysroot support
157 + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
158 ++ # -fuse-ld=* Linker select flags for GCC
159 + # -stdlib=* select c++ std lib with clang
160 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
161 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
162 +- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
163 ++ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
164 ++ -fuse-ld=*)
165 + func_quote_for_eval "$arg"
166 + arg=$func_quote_for_eval_result
167 + func_append compile_command " $arg"
168 +
169 +patch the generated file too to keep help2man from generating man pages
170 +https://bugs.gentoo.org/556512
171 +
172 +--- a/build-aux/ltmain.sh
173 ++++ b/build-aux/ltmain.sh
174 +@@ -5360,10 +5360,12 @@ func_mode_link ()
175 + # -tp=* Portland pgcc target processor selection
176 + # --sysroot=* for sysroot support
177 + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
178 ++ # -fuse-ld=* Linker select flags for GCC
179 + # -stdlib=* select c++ std lib with clang
180 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
181 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
182 +- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
183 ++ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
184 ++ -fuse-ld=*)
185 + func_quote_for_eval "$arg"
186 + arg=$func_quote_for_eval_result
187 + func_append compile_command " $arg"
188 +--
189 +2.3.2
190
191 diff --git a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch
192 new file mode 100644
193 index 0000000..974cd44
194 --- /dev/null
195 +++ b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch
196 @@ -0,0 +1,53 @@
197 +https://lists.gnu.org/archive/html/libtool-patches/2016-02/msg00002.html
198 +
199 +From 53419307d5b44e5b0cff80d76f88ea02f237b747 Mon Sep 17 00:00:00 2001
200 +From: Mike Frysinger <vapier@g.o>
201 +Date: Sat, 13 Feb 2016 03:32:20 -0500
202 +Subject: [PATCH] libtoolize: don't execute automake and autoconf on every
203 + invocation.
204 +
205 +Same fix as applied to libtool in commit 408cfb9c5fa8a666917167ffb806cb
206 +to delay use of automake/autoconf to when the --help option is actually
207 +specified.
208 +
209 +* libtoolize.in (func_help): Override func_help() from
210 +gl/build-aux/options-parser to only run automake --version and
211 +autoconf --version when libtool --help is executed on the command
212 +line.
213 +---
214 + libtoolize.in | 12 +++++++++---
215 + 1 file changed, 9 insertions(+), 3 deletions(-)
216 +
217 +diff --git a/libtoolize.in b/libtoolize.in
218 +index 3fe61ce..0d4af3d 100644
219 +--- a/libtoolize.in
220 ++++ b/libtoolize.in
221 +@@ -94,7 +94,12 @@ usage_message="Options:
222 + "
223 +
224 + # Additional text appended to 'usage_message' in response to '--help'.
225 +-long_help_message=$long_help_message"
226 ++func_help ()
227 ++{
228 ++ $debug_cmd
229 ++
230 ++ func_usage_message
231 ++ $ECHO "$long_help_message
232 + 'environment' show warnings about LIBTOOLIZE_OPTIONS content
233 + 'file' show warnings about file copying and linking
234 +
235 +@@ -120,8 +125,9 @@ include the following information:
236 +
237 + Report bugs to <@PACKAGE_BUGREPORT@>.
238 + GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
239 +-General help using GNU software: <http://www.gnu.org/gethelp/>.
240 +-"
241 ++General help using GNU software: <http://www.gnu.org/gethelp/>."
242 ++ exit 0
243 ++}
244 +
245 + warning_categories='environment file'
246 +
247 +--
248 +2.6.2
249 +
250
251 diff --git a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch
252 new file mode 100644
253 index 0000000..abddee1
254 --- /dev/null
255 +++ b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch
256 @@ -0,0 +1,118 @@
257 +From 351a88feee66eda6ce33eb06acdebb8e9c6d6716 Mon Sep 17 00:00:00 2001
258 +From: Pavel Raiskup <praiskup@××××××.com>
259 +Date: Fri, 18 Sep 2015 23:17:07 +0200
260 +Subject: [PATCH] libtoolize: fix infinite recursion in m4
261 +
262 +Some projects use this construct in configure.ac:
263 +
264 + m4_define([version], m4_include([version]))
265 + pkg_version=version
266 +
267 +When the m4_include builtin is undefined (as was done in
268 +libtoolize and extract-trace scripts), the call to this 'version'
269 +macro enters an infinite recursion (until ENOMEM). So rather
270 +re-define all potentially dangerous macros by empty strings,
271 +suggested by Eric Blake.
272 +
273 +While we are on it, merge the macro-"blacklist" with similar list
274 +implemented in gettext, except for 'm4_esyscmd'. It's kept
275 +defined because we already trace AC_INIT macro for package
276 +version, while it is often specified by
277 +m4_esyscmd(git-version-gen). Similarly to m4_include, m4_esyscmd
278 +might be opt-in-blacklisted in future.
279 +
280 +References:
281 +http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html
282 +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580
283 +
284 +* gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking
285 +macros to empty strings rather than undefining those. Use 'dnl'
286 +for comments.
287 +* bootstrap: Likewise, sync with extract-trace.
288 +* NEWS: Document.
289 +* NO-THANKS: Mention Hiroyuki Sato.
290 +
291 +Signed-off-by: Pavel Raiskup <praiskup@××××××.com>
292 +---
293 + NEWS | 4 ++++
294 + NO-THANKS | 1 +
295 + bootstrap | 42 +++++++++++++++++++++++++++---------------
296 + gl/build-aux/extract-trace | 42 +++++++++++++++++++++++++++---------------
297 + 4 files changed, 59 insertions(+), 30 deletions(-)
298 +
299 +diff --git a/gl/build-aux/extract-trace b/gl/build-aux/extract-trace
300 +index 315a32a..c6abd21 100755
301 +--- a/gl/build-aux/extract-trace
302 ++++ b/gl/build-aux/extract-trace
303 +@@ -329,29 +329,41 @@ func_extract_trace ()
304 + # arguments to Autocof functions, but without following
305 + # 'm4_s?include' files.
306 + _G_mini='
307 +- # Initialisation.
308 ++ dnl Initialisation.
309 + m4_changequote([,])
310 + m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))])
311 + m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])])
312 +
313 +- # Disable these macros.
314 +- m4_undefine([m4_dnl])
315 +- m4_undefine([m4_include])
316 +- m4_undefine([m4_m4exit])
317 +- m4_undefine([m4_m4wrap])
318 +- m4_undefine([m4_maketemp])
319 ++ dnl Replace macros which may abort m4 with a no-op variant.
320 ++ m4_pushdef([m4_assert])
321 ++ m4_pushdef([m4_exit])
322 ++ m4_pushdef([m4_fatal])
323 ++ m4_pushdef([m4_m4exit])
324 +
325 +- # Copy and rename macros not handled by "m4 --prefix".
326 ++ dnl Replace macros that might break stderr of m4.
327 ++ m4_pushdef([m4_errprint])
328 ++ m4_pushdef([m4_errprintn])
329 ++ m4_pushdef([m4_include])
330 ++ m4_pushdef([m4_warn])
331 ++
332 ++ dnl Avoid side-effects of tracing by extract-trace.
333 ++ m4_pushdef([m4_maketemp])
334 ++ m4_pushdef([m4_mkstemp])
335 ++
336 ++ dnl TODO: reasons for this
337 ++ m4_pushdef([m4_dnl])
338 ++ m4_pushdef([m4_m4wrap])
339 ++
340 ++ dnl Copy and rename macros not handled by "m4 --prefix".
341 + m4_define([dnl], [m4_builtin([dnl])])
342 + m4_copy([m4_define], [m4_defun])
343 + m4_rename([m4_ifelse], [m4_if])
344 +- m4_ifdef([m4_mkstemp], [m4_undefine([m4_mkstemp])])
345 + m4_rename([m4_patsubst], [m4_bpatsubst])
346 + m4_rename([m4_regexp], [m4_bregexp])
347 +
348 +- # "m4sugar.mini" - useful m4-time macros for dynamic arguments.
349 +- # If we discover packages that need more m4 macros defined in
350 +- # order to bootstrap correctly, add them here:
351 ++ dnl "m4sugar.mini" - useful m4-time macros for dynamic arguments.
352 ++ dnl If we discover packages that need more m4 macros defined in
353 ++ dnl order to bootstrap correctly, add them here:
354 + m4_define([m4_bmatch],
355 + [m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2],
356 + [m4_if(m4_bregexp([$1], [$2]), -1,
357 +@@ -362,11 +374,11 @@ func_extract_trace ()
358 + m4_define([m4_require], [$1])
359 + m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))])
360 +
361 +- # "autoconf.mini" - things from autoconf macros we care about.
362 ++ dnl "autoconf.mini" - things from autoconf macros we care about.
363 + m4_copy([m4_defun], [AC_DEFUN])
364 +
365 +- # Dummy definitions for the macros we want to trace.
366 +- # AM_INIT_AUTOMAKE at least produces no trace without this.
367 ++ dnl Dummy definitions for the macros we want to trace.
368 ++ dnl AM_INIT_AUTOMAKE at least produces no trace without this.
369 + '
370 +
371 + _G_save=$IFS
372 +--
373 +2.6.2
374 +
375
376 diff --git a/sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch b/sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch
377 new file mode 100644
378 index 0000000..c1ea8a8
379 --- /dev/null
380 +++ b/sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch
381 @@ -0,0 +1,58 @@
382 +https://bugs.gentoo.org/573744
383 +
384 +From a5c6466528c060cc4660ad0319c00740db0e42ba Mon Sep 17 00:00:00 2001
385 +From: Jeremy Huddleston Sequoia <jeremyhu@××××××××.org>
386 +Date: Sun, 18 Oct 2015 21:55:39 -0700
387 +Subject: [PATCH] libtool: fix GCC/clang linking with -fsanitize=*
388 +
389 +References:
390 +https://lists.gnu.org/archive/html/libtool/2014-04/msg00026.html
391 +
392 +* build-aux/ltmain.in (func_mode_link): Pass -fsanitize=* to the
393 +linker to allow trivial use of the clang address sanitizer.
394 +
395 +Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@××××××××.org>
396 +Copyright-paperwork-exempt: Yes
397 +---
398 + build-aux/ltmain.in | 3 ++-
399 + 1 file changed, 2 insertions(+), 1 deletion(-)
400 +
401 +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
402 +index 1cbe875..2a5aaad 100644
403 +--- a/build-aux/ltmain.in
404 ++++ b/build-aux/ltmain.in
405 +@@ -5382,10 +5382,11 @@ func_mode_link ()
406 + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
407 + # -specs=* GCC specs files
408 + # -stdlib=* select c++ std lib with clang
409 ++ # -fsanitize=* Clang/GCC memory and address sanitizer
410 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
411 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
412 + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
413 +- -specs=*)
414 ++ -specs=*|-fsanitize=*)
415 + func_quote_for_eval "$arg"
416 + arg=$func_quote_for_eval_result
417 + func_append compile_command " $arg"
418 +
419 +patch the generated file too to keep help2man from generating man pages
420 +https://bugs.gentoo.org/556512
421 +
422 +--- a/build-aux/ltmain.sh
423 ++++ b/build-aux/ltmain.sh
424 +@@ -5382,10 +5382,11 @@ func_mode_link ()
425 + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
426 + # -specs=* GCC specs files
427 + # -stdlib=* select c++ std lib with clang
428 ++ # -fsanitize=* Clang/GCC memory and address sanitizer
429 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
430 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
431 + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
432 +- -specs=*)
433 ++ -specs=*|-fsanitize=*)
434 + func_quote_for_eval "$arg"
435 + arg=$func_quote_for_eval_result
436 + func_append compile_command " $arg"
437 +--
438 +2.6.2
439 +
440
441 diff --git a/sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch b/sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch
442 new file mode 100644
443 index 0000000..55ec5ae
444 --- /dev/null
445 +++ b/sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch
446 @@ -0,0 +1,54 @@
447 +https://lists.gnu.org/archive/html/libtool-patches/2015-03/msg00000.html
448 +https://lists.gnu.org/archive/html/libtool-patches/2016-02/msg00001.html
449 +
450 +From 2f258b87ce4415edede1b2a84a3a7dbcf44555c2 Mon Sep 17 00:00:00 2001
451 +From: Mike Frysinger <vapier@g.o>
452 +Date: Mon, 16 Mar 2015 18:17:31 -0400
453 +Subject: [PATCH] libtool: pass through -fuse-ld flags
454 +
455 +Starting with gcc-4.8, there's a -fuse-ld flag that can be used to select
456 +between bfd & gold. Make sure we pass it through to the linking stage.
457 +
458 +* build-aux/ltmain.in (func_mode_link): Pass -fuse-ld=* flags through.
459 +---
460 + build-aux/ltmain.in | 4 +++-
461 + 1 file changed, 3 insertions(+), 1 deletion(-)
462 +
463 +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
464 +index 2a5aaad..4c24d5d 100644
465 +--- a/build-aux/ltmain.in
466 ++++ b/build-aux/ltmain.in
467 +@@ -5383,10 +5383,11 @@ func_mode_link ()
468 + # -specs=* GCC specs files
469 + # -stdlib=* select c++ std lib with clang
470 + # -fsanitize=* Clang/GCC memory and address sanitizer
471 ++ # -fuse-ld=* Linker select flags for GCC
472 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
473 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
474 + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
475 +- -specs=*|-fsanitize=*)
476 ++ -specs=*|-fsanitize=*|-fuse-ld=*)
477 + func_quote_for_eval "$arg"
478 + arg=$func_quote_for_eval_result
479 + func_append compile_command " $arg"
480 +
481 +patch the generated file too to keep help2man from generating man pages
482 +https://bugs.gentoo.org/556512
483 +
484 +--- a/build-aux/ltmain.sh
485 ++++ b/build-aux/ltmain.sh
486 +@@ -5383,10 +5383,11 @@ func_mode_link ()
487 + # -specs=* GCC specs files
488 + # -stdlib=* select c++ std lib with clang
489 + # -fsanitize=* Clang/GCC memory and address sanitizer
490 ++ # -fuse-ld=* Linker select flags for GCC
491 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
492 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
493 + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
494 +- -specs=*|-fsanitize=*)
495 ++ -specs=*|-fsanitize=*|-fuse-ld=*)
496 + func_quote_for_eval "$arg"
497 + arg=$func_quote_for_eval_result
498 + func_append compile_command " $arg"
499 +--
500 +2.3.2
501
502 diff --git a/sys-devel/libtool/files/libtool-2.4.6-link-specs.patch b/sys-devel/libtool/files/libtool-2.4.6-link-specs.patch
503 new file mode 100644
504 index 0000000..a8fbf28
505 --- /dev/null
506 +++ b/sys-devel/libtool/files/libtool-2.4.6-link-specs.patch
507 @@ -0,0 +1,57 @@
508 +From 702a97fbb09bd7088a50f2b239016d1e32843c24 Mon Sep 17 00:00:00 2001
509 +From: Pavel Raiskup <praiskup@××××××.com>
510 +Date: Fri, 18 Sep 2015 10:36:43 +0200
511 +Subject: [PATCH] libtool: fix GCC linking with -specs=*
512 +
513 +References:
514 +https://bugzilla.redhat.com/show_bug.cgi?id=985592
515 +
516 +* build-aux/ltmain.in (func_mode_link): Pass -specs=*
517 +to the linker, Fedora uses this option for hardening.
518 +
519 +Signed-off-by: Pavel Raiskup <praiskup@××××××.com>
520 +---
521 + build-aux/ltmain.in | 4 +++-
522 + 1 file changed, 3 insertions(+), 1 deletion(-)
523 +
524 +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
525 +index d5cf07a..0c40da0 100644
526 +--- a/build-aux/ltmain.in
527 ++++ b/build-aux/ltmain.in
528 +@@ -5360,10 +5360,12 @@ func_mode_link ()
529 + # -tp=* Portland pgcc target processor selection
530 + # --sysroot=* for sysroot support
531 + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
532 ++ # -specs=* GCC specs files
533 + # -stdlib=* select c++ std lib with clang
534 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
535 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
536 +- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
537 ++ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
538 ++ -specs=*)
539 + func_quote_for_eval "$arg"
540 + arg=$func_quote_for_eval_result
541 + func_append compile_command " $arg"
542 +
543 +patch the generated file too to keep help2man from generating man pages
544 +https://bugs.gentoo.org/556512
545 +
546 +--- a/build-aux/ltmain.sh
547 ++++ b/build-aux/ltmain.sh
548 +@@ -5360,10 +5360,12 @@ func_mode_link ()
549 + # -tp=* Portland pgcc target processor selection
550 + # --sysroot=* for sysroot support
551 + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
552 ++ # -specs=* GCC specs files
553 + # -stdlib=* select c++ std lib with clang
554 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
555 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
556 +- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
557 ++ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
558 ++ -specs=*)
559 + func_quote_for_eval "$arg"
560 + arg=$func_quote_for_eval_result
561 + func_append compile_command " $arg"
562 +--
563 +2.6.2
564 +
565
566 diff --git a/sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch b/sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch
567 new file mode 100644
568 index 0000000..0eeffac
569 --- /dev/null
570 +++ b/sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch
571 @@ -0,0 +1,268 @@
572 +https://bugs.gentoo.org/542252
573 +
574 +From 32f0df9835ac15ac17e04be57c368172c3ad1d19 Mon Sep 17 00:00:00 2001
575 +From: Pavel Raiskup <praiskup@××××××.com>
576 +Date: Sun, 4 Oct 2015 21:55:03 +0200
577 +Subject: [PATCH] libtool: mitigate the $sed_quote_subst slowdown
578 +
579 +When it is reasonably possible, use shell implementation for
580 +quoting.
581 +
582 +References:
583 +http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html
584 +http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html
585 +https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006
586 +
587 +* gl/build-aux/funclib.sh (func_quote): New function that can be
588 +used as substitution for '$SED $sed_quote_subst' call.
589 +* build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead
590 +of '$SED $sed_quote_subst'.
591 +(func_mode_link): Likewise.
592 +* NEWS: Document.
593 +* bootstrap: Sync with funclib.sh.
594 +---
595 + NEWS | 3 +++
596 + bootstrap | 61 +++++++++++++++++++++++++++++++++++++++++++------
597 + build-aux/ltmain.in | 10 ++++----
598 + gl/build-aux/funclib.sh | 61 +++++++++++++++++++++++++++++++++++++++++++------
599 + 4 files changed, 117 insertions(+), 18 deletions(-)
600 +
601 +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
602 +index 0c40da0..24acefd 100644
603 +--- a/build-aux/ltmain.in
604 ++++ b/build-aux/ltmain.in
605 +@@ -3346,7 +3346,8 @@ else
606 + if test \"\$libtool_execute_magic\" != \"$magic\"; then
607 + file=\"\$0\""
608 +
609 +- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
610 ++ func_quote "$ECHO"
611 ++ qECHO=$func_quote_result
612 + $ECHO "\
613 +
614 + # A function that is used when there is no print builtin or printf.
615 +@@ -8596,8 +8597,8 @@ EOF
616 + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
617 + fi
618 + done
619 +- relink_command="(cd `pwd`; $relink_command)"
620 +- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
621 ++ func_quote "(cd `pwd`; $relink_command)"
622 ++ relink_command=$func_quote_result
623 + fi
624 +
625 + # Only actually do things if not in dry run mode.
626 +@@ -8843,7 +8844,8 @@ EOF
627 + done
628 + # Quote the link command for shipping.
629 + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
630 +- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
631 ++ func_quote "$relink_command"
632 ++ relink_command=$func_quote_result
633 + if test yes = "$hardcode_automatic"; then
634 + relink_command=
635 + fi
636 +diff --git a/gl/build-aux/funclib.sh b/gl/build-aux/funclib.sh
637 +index 39d972e..47d8b95 100644
638 +--- a/build-aux/funclib.sh
639 ++++ b/build-aux/funclib.sh
640 +@@ -1,5 +1,5 @@
641 + # Set a version string for this script.
642 +-scriptversion=2015-01-20.17; # UTC
643 ++scriptversion=2015-10-04.22; # UTC
644 +
645 + # General shell script boiler plate, and helper functions.
646 + # Written by Gary V. Vaughan, 2004
647 +@@ -1026,6 +1026,57 @@ func_relative_path ()
648 + }
649 +
650 +
651 ++# func_quote ARG
652 ++# --------------
653 ++# Aesthetically quote one ARG, store the result into $func_quote_result. Note
654 ++# that we keep attention to performance here (so far O(N) complexity as long as
655 ++# func_append is O(1)).
656 ++func_quote ()
657 ++{
658 ++ $debug_cmd
659 ++
660 ++ func_quote_result=$1
661 ++
662 ++ case $func_quote_result in
663 ++ *[\\\`\"\$]*)
664 ++ case $func_quote_result in
665 ++ *[\[\*\?]*)
666 ++ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"`
667 ++ return 0
668 ++ ;;
669 ++ esac
670 ++
671 ++ func_quote_old_IFS=$IFS
672 ++ for _G_char in '\' '`' '"' '$'
673 ++ do
674 ++ # STATE($1) PREV($2) SEPARATOR($3)
675 ++ set start "" ""
676 ++ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy
677 ++ IFS=$_G_char
678 ++ for _G_part in $func_quote_result
679 ++ do
680 ++ case $1 in
681 ++ quote)
682 ++ func_append func_quote_result "$3$2"
683 ++ set quote "$_G_part" "\\$_G_char"
684 ++ ;;
685 ++ start)
686 ++ set first "" ""
687 ++ func_quote_result=
688 ++ ;;
689 ++ first)
690 ++ set quote "$_G_part" ""
691 ++ ;;
692 ++ esac
693 ++ done
694 ++ IFS=$func_quote_old_IFS
695 ++ done
696 ++ ;;
697 ++ *) ;;
698 ++ esac
699 ++}
700 ++
701 ++
702 + # func_quote_for_eval ARG...
703 + # --------------------------
704 + # Aesthetically quote ARGs to be evaled later.
705 +@@ -1042,12 +1093,8 @@ func_quote_for_eval ()
706 + func_quote_for_eval_unquoted_result=
707 + func_quote_for_eval_result=
708 + while test 0 -lt $#; do
709 +- case $1 in
710 +- *[\\\`\"\$]*)
711 +- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
712 +- *)
713 +- _G_unquoted_arg=$1 ;;
714 +- esac
715 ++ func_quote "$1"
716 ++ _G_unquoted_arg=$func_quote_result
717 + if test -n "$func_quote_for_eval_unquoted_result"; then
718 + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
719 + else
720 +
721 +patch the generated file too to keep help2man from generating man pages
722 +https://bugs.gentoo.org/556512
723 +
724 +--- a/build-aux/ltmain.sh
725 ++++ b/build-aux/ltmain.sh
726 +@@ -1,5 +1,5 @@
727 + # Set a version string for this script.
728 +-scriptversion=2015-01-20.17; # UTC
729 ++scriptversion=2015-10-04.22; # UTC
730 +
731 + # General shell script boiler plate, and helper functions.
732 + # Written by Gary V. Vaughan, 2004
733 +@@ -1026,6 +1026,57 @@ func_relative_path ()
734 + }
735 +
736 +
737 ++# func_quote ARG
738 ++# --------------
739 ++# Aesthetically quote one ARG, store the result into $func_quote_result. Note
740 ++# that we keep attention to performance here (so far O(N) complexity as long as
741 ++# func_append is O(1)).
742 ++func_quote ()
743 ++{
744 ++ $debug_cmd
745 ++
746 ++ func_quote_result=$1
747 ++
748 ++ case $func_quote_result in
749 ++ *[\\\`\"\$]*)
750 ++ case $func_quote_result in
751 ++ *[\[\*\?]*)
752 ++ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"`
753 ++ return 0
754 ++ ;;
755 ++ esac
756 ++
757 ++ func_quote_old_IFS=$IFS
758 ++ for _G_char in '\' '`' '"' '$'
759 ++ do
760 ++ # STATE($1) PREV($2) SEPARATOR($3)
761 ++ set start "" ""
762 ++ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy
763 ++ IFS=$_G_char
764 ++ for _G_part in $func_quote_result
765 ++ do
766 ++ case $1 in
767 ++ quote)
768 ++ func_append func_quote_result "$3$2"
769 ++ set quote "$_G_part" "\\$_G_char"
770 ++ ;;
771 ++ start)
772 ++ set first "" ""
773 ++ func_quote_result=
774 ++ ;;
775 ++ first)
776 ++ set quote "$_G_part" ""
777 ++ ;;
778 ++ esac
779 ++ done
780 ++ IFS=$func_quote_old_IFS
781 ++ done
782 ++ ;;
783 ++ *) ;;
784 ++ esac
785 ++}
786 ++
787 ++
788 + # func_quote_for_eval ARG...
789 + # --------------------------
790 + # Aesthetically quote ARGs to be evaled later.
791 +@@ -1042,12 +1093,8 @@ func_quote_for_eval ()
792 + func_quote_for_eval_unquoted_result=
793 + func_quote_for_eval_result=
794 + while test 0 -lt $#; do
795 +- case $1 in
796 +- *[\\\`\"\$]*)
797 +- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
798 +- *)
799 +- _G_unquoted_arg=$1 ;;
800 +- esac
801 ++ func_quote "$1"
802 ++ _G_unquoted_arg=$func_quote_result
803 + if test -n "$func_quote_for_eval_unquoted_result"; then
804 + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
805 + else
806 +@@ -3346,7 +3346,8 @@ else
807 + if test \"\$libtool_execute_magic\" != \"$magic\"; then
808 + file=\"\$0\""
809 +
810 +- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
811 ++ func_quote "$ECHO"
812 ++ qECHO=$func_quote_result
813 + $ECHO "\
814 +
815 + # A function that is used when there is no print builtin or printf.
816 +@@ -8596,8 +8597,8 @@ EOF
817 + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
818 + fi
819 + done
820 +- relink_command="(cd `pwd`; $relink_command)"
821 +- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
822 ++ func_quote "(cd `pwd`; $relink_command)"
823 ++ relink_command=$func_quote_result
824 + fi
825 +
826 + # Only actually do things if not in dry run mode.
827 +@@ -8843,7 +8844,8 @@ EOF
828 + done
829 + # Quote the link command for shipping.
830 + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
831 +- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
832 ++ func_quote "$relink_command"
833 ++ relink_command=$func_quote_result
834 + if test yes = "$hardcode_automatic"; then
835 + relink_command=
836 + fi
837 +--
838 +2.6.2
839 +
840
841 diff --git a/sys-devel/libtool/libtool-2.4.2-r1.ebuild b/sys-devel/libtool/libtool-2.4.2-r1.ebuild
842 new file mode 100644
843 index 0000000..7aa4d88
844 --- /dev/null
845 +++ b/sys-devel/libtool/libtool-2.4.2-r1.ebuild
846 @@ -0,0 +1,96 @@
847 +# Copyright 1999-2014 Gentoo Foundation
848 +# Distributed under the terms of the GNU General Public License v2
849 +# $Id$
850 +
851 +EAPI="4"
852 +
853 +LIBTOOLIZE="true" #225559
854 +WANT_LIBTOOL="none"
855 +inherit eutils autotools multilib unpacker multilib-minimal
856 +
857 +if [[ ${PV} == "9999" ]] ; then
858 + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
859 + http://git.savannah.gnu.org/r/${PN}.git"
860 + inherit git-2
861 +else
862 + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
863 + KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
864 +fi
865 +
866 +DESCRIPTION="A shared library tool for developers"
867 +HOMEPAGE="https://www.gnu.org/software/libtool/"
868 +
869 +LICENSE="GPL-2"
870 +SLOT="2"
871 +IUSE="static-libs test vanilla"
872 +
873 +RDEPEND="sys-devel/gnuconfig
874 + !<sys-devel/autoconf-2.62:2.5
875 + !<sys-devel/automake-1.11.1:1.11
876 + !=sys-devel/libtool-2*:1.5
877 + abi_x86_32? (
878 + !<=app-emulation/emul-linux-x86-baselibs-20140406-r2
879 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
880 + )"
881 +DEPEND="${RDEPEND}
882 + test? ( !<sys-devel/binutils-2.20 )
883 + app-arch/xz-utils"
884 +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
885 +
886 +src_unpack() {
887 + if [[ ${PV} == "9999" ]] ; then
888 + git-2_src_unpack
889 + cd "${S}"
890 + ./bootstrap || die
891 + else
892 + unpacker_src_unpack
893 + fi
894 +}
895 +
896 +src_prepare() {
897 + use vanilla && return 0
898 +
899 + cd libltdl/m4
900 + epatch "${FILESDIR}"/1.5.20/${PN}-1.5.20-use-linux-version-in-fbsd.patch #109105
901 + cd ..
902 + AT_NOELIBTOOLIZE=yes eautoreconf
903 + cd ..
904 + AT_NOELIBTOOLIZE=yes eautoreconf
905 + epunt_cxx
906 +}
907 +
908 +multilib_src_configure() {
909 + # the libtool script uses bash code in it and at configure time, tries
910 + # to find a bash shell. if /bin/sh is bash, it uses that. this can
911 + # cause problems for people who switch /bin/sh on the fly to other
912 + # shells, so just force libtool to use /bin/bash all the time.
913 + export CONFIG_SHELL=/bin/bash
914 + ECONF_SOURCE="${S}" \
915 + econf $(use_enable static-libs static)
916 +}
917 +
918 +multilib_src_install_all() {
919 + dodoc AUTHORS ChangeLog* NEWS README THANKS TODO doc/PLATFORMS
920 +
921 + # While the libltdl.la file is not used directly, the m4 ltdl logic
922 + # keys off of its existence when searching for ltdl support. #293921
923 + #use static-libs || find "${D}" -name libltdl.la -delete
924 +
925 + # Building libtool with --disable-static will cause the installed
926 + # helper to not build static objects by default. This is undesirable
927 + # for crappy packages that utilize the system libtool, so undo that.
928 + sed -i -e '1,/^build_old_libs=/{/^build_old_libs=/{s:=.*:=yes:}}' "${D}"/usr/bin/libtool || die
929 +
930 + local x
931 + for x in $(find "${D}" -name config.guess -o -name config.sub) ; do
932 + ln -sf /usr/share/gnuconfig/${x##*/} "${x}" || die
933 + done
934 +}
935 +
936 +pkg_preinst() {
937 + preserve_old_lib /usr/$(get_libdir)/libltdl.so.3
938 +}
939 +
940 +pkg_postinst() {
941 + preserve_old_lib_notify /usr/$(get_libdir)/libltdl.so.3
942 +}
943
944 diff --git a/sys-devel/libtool/libtool-2.4.4.ebuild b/sys-devel/libtool/libtool-2.4.4.ebuild
945 new file mode 100644
946 index 0000000..71a9b47
947 --- /dev/null
948 +++ b/sys-devel/libtool/libtool-2.4.4.ebuild
949 @@ -0,0 +1,77 @@
950 +# Copyright 1999-2015 Gentoo Foundation
951 +# Distributed under the terms of the GNU General Public License v2
952 +# $Id$
953 +
954 +EAPI="4"
955 +
956 +LIBTOOLIZE="true" #225559
957 +WANT_LIBTOOL="none"
958 +inherit eutils autotools multilib unpacker
959 +
960 +if [[ ${PV} == "9999" ]] ; then
961 + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
962 + http://git.savannah.gnu.org/r/${PN}.git"
963 + inherit git-2
964 +else
965 + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
966 + KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
967 +fi
968 +
969 +DESCRIPTION="A shared library tool for developers"
970 +HOMEPAGE="https://www.gnu.org/software/libtool/"
971 +
972 +LICENSE="GPL-2"
973 +SLOT="2"
974 +IUSE="vanilla"
975 +
976 +# Pull in libltdl directly until we convert packages to the new dep.
977 +RDEPEND="sys-devel/gnuconfig
978 + >=sys-devel/autoconf-2.69
979 + >=sys-devel/automake-1.13
980 + dev-libs/libltdl:0"
981 +DEPEND="${RDEPEND}
982 + app-arch/xz-utils"
983 +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
984 +
985 +src_unpack() {
986 + if [[ ${PV} == "9999" ]] ; then
987 + git-2_src_unpack
988 + cd "${S}"
989 + ./bootstrap || die
990 + else
991 + unpacker_src_unpack
992 + fi
993 +}
994 +
995 +src_prepare() {
996 + use vanilla && return 0
997 +
998 + epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105
999 + pushd libltdl >/dev/null
1000 + AT_NOELIBTOOLIZE=yes eautoreconf
1001 + popd >/dev/null
1002 + AT_NOELIBTOOLIZE=yes eautoreconf
1003 + epunt_cxx
1004 +}
1005 +
1006 +src_configure() {
1007 + # the libtool script uses bash code in it and at configure time, tries
1008 + # to find a bash shell. if /bin/sh is bash, it uses that. this can
1009 + # cause problems for people who switch /bin/sh on the fly to other
1010 + # shells, so just force libtool to use /bin/bash all the time.
1011 + export CONFIG_SHELL=/bin/bash
1012 + ECONF_SOURCE=${S} econf --disable-ltdl-install
1013 +}
1014 +
1015 +src_test() {
1016 + emake check
1017 +}
1018 +
1019 +src_install() {
1020 + default
1021 +
1022 + local x
1023 + while read -d $'\0' -r x ; do
1024 + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
1025 + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
1026 +}
1027
1028 diff --git a/sys-devel/libtool/libtool-2.4.5.ebuild b/sys-devel/libtool/libtool-2.4.5.ebuild
1029 new file mode 100644
1030 index 0000000..7b0936c
1031 --- /dev/null
1032 +++ b/sys-devel/libtool/libtool-2.4.5.ebuild
1033 @@ -0,0 +1,77 @@
1034 +# Copyright 1999-2015 Gentoo Foundation
1035 +# Distributed under the terms of the GNU General Public License v2
1036 +# $Id$
1037 +
1038 +EAPI="4"
1039 +
1040 +LIBTOOLIZE="true" #225559
1041 +WANT_LIBTOOL="none"
1042 +inherit eutils autotools multilib unpacker
1043 +
1044 +if [[ ${PV} == "9999" ]] ; then
1045 + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
1046 + http://git.savannah.gnu.org/r/${PN}.git"
1047 + inherit git-2
1048 +else
1049 + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
1050 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
1051 +fi
1052 +
1053 +DESCRIPTION="A shared library tool for developers"
1054 +HOMEPAGE="https://www.gnu.org/software/libtool/"
1055 +
1056 +LICENSE="GPL-2"
1057 +SLOT="2"
1058 +IUSE="vanilla"
1059 +
1060 +# Pull in libltdl directly until we convert packages to the new dep.
1061 +RDEPEND="sys-devel/gnuconfig
1062 + >=sys-devel/autoconf-2.69
1063 + >=sys-devel/automake-1.13
1064 + dev-libs/libltdl:0"
1065 +DEPEND="${RDEPEND}
1066 + app-arch/xz-utils"
1067 +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
1068 +
1069 +src_unpack() {
1070 + if [[ ${PV} == "9999" ]] ; then
1071 + git-2_src_unpack
1072 + cd "${S}"
1073 + ./bootstrap || die
1074 + else
1075 + unpacker_src_unpack
1076 + fi
1077 +}
1078 +
1079 +src_prepare() {
1080 + use vanilla && return 0
1081 +
1082 + epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105
1083 + pushd libltdl >/dev/null
1084 + AT_NOELIBTOOLIZE=yes eautoreconf
1085 + popd >/dev/null
1086 + AT_NOELIBTOOLIZE=yes eautoreconf
1087 + epunt_cxx
1088 +}
1089 +
1090 +src_configure() {
1091 + # the libtool script uses bash code in it and at configure time, tries
1092 + # to find a bash shell. if /bin/sh is bash, it uses that. this can
1093 + # cause problems for people who switch /bin/sh on the fly to other
1094 + # shells, so just force libtool to use /bin/bash all the time.
1095 + export CONFIG_SHELL=/bin/bash
1096 + ECONF_SOURCE=${S} econf --disable-ltdl-install
1097 +}
1098 +
1099 +src_test() {
1100 + emake check
1101 +}
1102 +
1103 +src_install() {
1104 + default
1105 +
1106 + local x
1107 + while read -d $'\0' -r x ; do
1108 + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
1109 + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
1110 +}
1111
1112 diff --git a/sys-devel/libtool/libtool-2.4.6-r1.ebuild b/sys-devel/libtool/libtool-2.4.6-r1.ebuild
1113 new file mode 100644
1114 index 0000000..677db33
1115 --- /dev/null
1116 +++ b/sys-devel/libtool/libtool-2.4.6-r1.ebuild
1117 @@ -0,0 +1,84 @@
1118 +# Copyright 1999-2015 Gentoo Foundation
1119 +# Distributed under the terms of the GNU General Public License v2
1120 +# $Id$
1121 +
1122 +EAPI="4"
1123 +
1124 +LIBTOOLIZE="true" #225559
1125 +WANT_LIBTOOL="none"
1126 +inherit eutils autotools multilib unpacker
1127 +
1128 +if [[ ${PV} == "9999" ]] ; then
1129 + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
1130 + http://git.savannah.gnu.org/r/${PN}.git"
1131 + inherit git-2
1132 +else
1133 + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
1134 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
1135 +fi
1136 +
1137 +DESCRIPTION="A shared library tool for developers"
1138 +HOMEPAGE="https://www.gnu.org/software/libtool/"
1139 +
1140 +LICENSE="GPL-2"
1141 +SLOT="2"
1142 +IUSE="vanilla"
1143 +
1144 +# Pull in libltdl directly until we convert packages to the new dep.
1145 +RDEPEND="sys-devel/gnuconfig
1146 + >=sys-devel/autoconf-2.69
1147 + >=sys-devel/automake-1.13
1148 + dev-libs/libltdl:0"
1149 +DEPEND="${RDEPEND}
1150 + app-arch/xz-utils"
1151 +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
1152 +
1153 +src_unpack() {
1154 + if [[ ${PV} == "9999" ]] ; then
1155 + git-2_src_unpack
1156 + cd "${S}"
1157 + ./bootstrap || die
1158 + else
1159 + unpacker_src_unpack
1160 + fi
1161 +}
1162 +
1163 +src_prepare() {
1164 + use vanilla && return 0
1165 +
1166 + epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105
1167 + epatch "${FILESDIR}"/${P}-fuse-ld.patch
1168 + pushd libltdl >/dev/null
1169 + AT_NOELIBTOOLIZE=yes eautoreconf
1170 + popd >/dev/null
1171 + AT_NOELIBTOOLIZE=yes eautoreconf
1172 + epunt_cxx
1173 +
1174 + # Make sure timestamps don't trigger a rebuild of man pages. #556512
1175 + if [[ ${PV} != "9999" ]] ; then
1176 + touch doc/*.1
1177 + export HELP2MAN=false
1178 + fi
1179 +}
1180 +
1181 +src_configure() {
1182 + # the libtool script uses bash code in it and at configure time, tries
1183 + # to find a bash shell. if /bin/sh is bash, it uses that. this can
1184 + # cause problems for people who switch /bin/sh on the fly to other
1185 + # shells, so just force libtool to use /bin/bash all the time.
1186 + export CONFIG_SHELL=/bin/bash
1187 + ECONF_SOURCE=${S} econf --disable-ltdl-install
1188 +}
1189 +
1190 +src_test() {
1191 + emake check
1192 +}
1193 +
1194 +src_install() {
1195 + default
1196 +
1197 + local x
1198 + while read -d $'\0' -r x ; do
1199 + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
1200 + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
1201 +}
1202
1203 diff --git a/sys-devel/libtool/libtool-2.4.6-r2.ebuild b/sys-devel/libtool/libtool-2.4.6-r2.ebuild
1204 new file mode 100644
1205 index 0000000..7e8b7ef
1206 --- /dev/null
1207 +++ b/sys-devel/libtool/libtool-2.4.6-r2.ebuild
1208 @@ -0,0 +1,93 @@
1209 +# Copyright 1999-2016 Gentoo Foundation
1210 +# Distributed under the terms of the GNU General Public License v2
1211 +# $Id$
1212 +
1213 +EAPI="4"
1214 +
1215 +LIBTOOLIZE="true" #225559
1216 +WANT_LIBTOOL="none"
1217 +inherit eutils autotools multilib unpacker
1218 +
1219 +if [[ ${PV} == "9999" ]] ; then
1220 + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
1221 + http://git.savannah.gnu.org/r/${PN}.git"
1222 + inherit git-2
1223 +else
1224 + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
1225 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
1226 +fi
1227 +
1228 +DESCRIPTION="A shared library tool for developers"
1229 +HOMEPAGE="https://www.gnu.org/software/libtool/"
1230 +
1231 +LICENSE="GPL-2"
1232 +SLOT="2"
1233 +IUSE="vanilla"
1234 +
1235 +# Pull in libltdl directly until we convert packages to the new dep.
1236 +RDEPEND="sys-devel/gnuconfig
1237 + >=sys-devel/autoconf-2.69
1238 + >=sys-devel/automake-1.13
1239 + dev-libs/libltdl:0"
1240 +DEPEND="${RDEPEND}
1241 + app-arch/xz-utils"
1242 +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
1243 +
1244 +src_unpack() {
1245 + if [[ ${PV} == "9999" ]] ; then
1246 + git-2_src_unpack
1247 + cd "${S}"
1248 + ./bootstrap || die
1249 + else
1250 + unpacker_src_unpack
1251 + fi
1252 +}
1253 +
1254 +src_prepare() {
1255 + use vanilla && return 0
1256 +
1257 + epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105
1258 + epatch "${FILESDIR}"/${P}-link-specs.patch
1259 + epatch "${FILESDIR}"/${P}-link-fsanitize.patch #573744
1260 + epatch "${FILESDIR}"/${P}-link-fuse-ld.patch
1261 + epatch "${FILESDIR}"/${P}-libtoolize-slow.patch
1262 + epatch "${FILESDIR}"/${P}-libtoolize-delay-help.patch
1263 + epatch "${FILESDIR}"/${P}-sed-quote-speedup.patch #542252
1264 + pushd libltdl >/dev/null
1265 + AT_NOELIBTOOLIZE=yes eautoreconf
1266 + popd >/dev/null
1267 + AT_NOELIBTOOLIZE=yes eautoreconf
1268 + epunt_cxx
1269 +
1270 + # Make sure timestamps don't trigger a rebuild of man pages. #556512
1271 + if [[ ${PV} != "9999" ]] ; then
1272 + touch doc/*.1
1273 + export HELP2MAN=false
1274 + fi
1275 +}
1276 +
1277 +src_configure() {
1278 + # the libtool script uses bash code in it and at configure time, tries
1279 + # to find a bash shell. if /bin/sh is bash, it uses that. this can
1280 + # cause problems for people who switch /bin/sh on the fly to other
1281 + # shells, so just force libtool to use /bin/bash all the time.
1282 + export CONFIG_SHELL=/bin/bash
1283 +
1284 + # Do not bother hardcoding the full path to sed. Just rely on $PATH. #574550
1285 + export ac_cv_path_SED=$(basename "$(type -P sed)")
1286 +
1287 + ECONF_SOURCE=${S} econf --disable-ltdl-install
1288 +}
1289 +
1290 +src_test() {
1291 + emake check
1292 +}
1293 +
1294 +src_install() {
1295 + default
1296 +
1297 + local x
1298 + while read -d $'\0' -r x ; do
1299 + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
1300 + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
1301 +}
1302
1303 diff --git a/sys-devel/libtool/libtool-2.4.6.ebuild b/sys-devel/libtool/libtool-2.4.6.ebuild
1304 new file mode 100644
1305 index 0000000..71a9b47
1306 --- /dev/null
1307 +++ b/sys-devel/libtool/libtool-2.4.6.ebuild
1308 @@ -0,0 +1,77 @@
1309 +# Copyright 1999-2015 Gentoo Foundation
1310 +# Distributed under the terms of the GNU General Public License v2
1311 +# $Id$
1312 +
1313 +EAPI="4"
1314 +
1315 +LIBTOOLIZE="true" #225559
1316 +WANT_LIBTOOL="none"
1317 +inherit eutils autotools multilib unpacker
1318 +
1319 +if [[ ${PV} == "9999" ]] ; then
1320 + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
1321 + http://git.savannah.gnu.org/r/${PN}.git"
1322 + inherit git-2
1323 +else
1324 + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
1325 + KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
1326 +fi
1327 +
1328 +DESCRIPTION="A shared library tool for developers"
1329 +HOMEPAGE="https://www.gnu.org/software/libtool/"
1330 +
1331 +LICENSE="GPL-2"
1332 +SLOT="2"
1333 +IUSE="vanilla"
1334 +
1335 +# Pull in libltdl directly until we convert packages to the new dep.
1336 +RDEPEND="sys-devel/gnuconfig
1337 + >=sys-devel/autoconf-2.69
1338 + >=sys-devel/automake-1.13
1339 + dev-libs/libltdl:0"
1340 +DEPEND="${RDEPEND}
1341 + app-arch/xz-utils"
1342 +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
1343 +
1344 +src_unpack() {
1345 + if [[ ${PV} == "9999" ]] ; then
1346 + git-2_src_unpack
1347 + cd "${S}"
1348 + ./bootstrap || die
1349 + else
1350 + unpacker_src_unpack
1351 + fi
1352 +}
1353 +
1354 +src_prepare() {
1355 + use vanilla && return 0
1356 +
1357 + epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105
1358 + pushd libltdl >/dev/null
1359 + AT_NOELIBTOOLIZE=yes eautoreconf
1360 + popd >/dev/null
1361 + AT_NOELIBTOOLIZE=yes eautoreconf
1362 + epunt_cxx
1363 +}
1364 +
1365 +src_configure() {
1366 + # the libtool script uses bash code in it and at configure time, tries
1367 + # to find a bash shell. if /bin/sh is bash, it uses that. this can
1368 + # cause problems for people who switch /bin/sh on the fly to other
1369 + # shells, so just force libtool to use /bin/bash all the time.
1370 + export CONFIG_SHELL=/bin/bash
1371 + ECONF_SOURCE=${S} econf --disable-ltdl-install
1372 +}
1373 +
1374 +src_test() {
1375 + emake check
1376 +}
1377 +
1378 +src_install() {
1379 + default
1380 +
1381 + local x
1382 + while read -d $'\0' -r x ; do
1383 + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
1384 + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
1385 +}
1386
1387 diff --git a/sys-devel/libtool/libtool-9999.ebuild b/sys-devel/libtool/libtool-9999.ebuild
1388 new file mode 100644
1389 index 0000000..8b6ede5
1390 --- /dev/null
1391 +++ b/sys-devel/libtool/libtool-9999.ebuild
1392 @@ -0,0 +1,81 @@
1393 +# Copyright 1999-2014 Gentoo Foundation
1394 +# Distributed under the terms of the GNU General Public License v2
1395 +# $Id$
1396 +
1397 +EAPI="4"
1398 +
1399 +LIBTOOLIZE="true" #225559
1400 +WANT_LIBTOOL="none"
1401 +inherit eutils autotools multilib unpacker
1402 +
1403 +if [[ ${PV} == "9999" ]] ; then
1404 + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
1405 + http://git.savannah.gnu.org/r/${PN}.git"
1406 + inherit git-2
1407 +else
1408 + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
1409 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
1410 +fi
1411 +
1412 +DESCRIPTION="A shared library tool for developers"
1413 +HOMEPAGE="https://www.gnu.org/software/libtool/"
1414 +
1415 +LICENSE="GPL-2"
1416 +SLOT="2"
1417 +IUSE="vanilla"
1418 +
1419 +RDEPEND="sys-devel/gnuconfig
1420 + >=sys-devel/autoconf-2.69
1421 + >=sys-devel/automake-1.13"
1422 +DEPEND="${RDEPEND}
1423 + app-arch/xz-utils"
1424 +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
1425 +
1426 +src_unpack() {
1427 + if [[ ${PV} == "9999" ]] ; then
1428 + git-2_src_unpack
1429 + cd "${S}"
1430 + ./bootstrap || die
1431 + else
1432 + unpacker_src_unpack
1433 + fi
1434 +}
1435 +
1436 +src_prepare() {
1437 + use vanilla && return 0
1438 +
1439 + epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105
1440 + pushd libltdl >/dev/null
1441 + AT_NOELIBTOOLIZE=yes eautoreconf
1442 + popd >/dev/null
1443 + AT_NOELIBTOOLIZE=yes eautoreconf
1444 + epunt_cxx
1445 +
1446 + # Make sure timestamps don't trigger a rebuild of man pages. #556512
1447 + if [[ ${PV} != "9999" ]] ; then
1448 + touch doc/*.1
1449 + export HELP2MAN=false
1450 + fi
1451 +}
1452 +
1453 +src_configure() {
1454 + # the libtool script uses bash code in it and at configure time, tries
1455 + # to find a bash shell. if /bin/sh is bash, it uses that. this can
1456 + # cause problems for people who switch /bin/sh on the fly to other
1457 + # shells, so just force libtool to use /bin/bash all the time.
1458 + export CONFIG_SHELL=/bin/bash
1459 + ECONF_SOURCE=${S} econf --disable-ltdl-install
1460 +}
1461 +
1462 +src_test() {
1463 + emake check
1464 +}
1465 +
1466 +src_install() {
1467 + default
1468 +
1469 + local x
1470 + while read -d $'\0' -r x ; do
1471 + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
1472 + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
1473 +}
1474
1475 diff --git a/sys-devel/libtool/metadata.xml b/sys-devel/libtool/metadata.xml
1476 new file mode 100644
1477 index 0000000..56c1244
1478 --- /dev/null
1479 +++ b/sys-devel/libtool/metadata.xml
1480 @@ -0,0 +1,8 @@
1481 +<?xml version="1.0" encoding="UTF-8"?>
1482 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
1483 +<pkgmetadata>
1484 +<maintainer type="project">
1485 + <email>base-system@g.o</email>
1486 + <name>Gentoo Base System</name>
1487 +</maintainer>
1488 +</pkgmetadata>