Gentoo Archives: gentoo-commits

From: "Lars Wendler (polynomial-c)" <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-shells/bash: bash-4.3_p25.ebuild bash-4.1_p12.ebuild bash-3.1_p18.ebuild bash-4.0_p39.ebuild ChangeLog bash-4.2_p48.ebuild bash-3.2_p52.ebuild bash-4.0_p38-r1.ebuild bash-4.1_p11-r1.ebuild bash-4.2_p47.ebuild bash-4.2_p47-r1.ebuild bash-4.3_p24-r2.ebuild bash-3.2_p51-r1.ebuild bash-3.1_p17-r1.ebuild
Date: Wed, 24 Sep 2014 17:23:58
Message-Id: 20140924172353.C05396231@oystercatcher.gentoo.org
1 polynomial-c 14/09/24 17:23:53
2
3 Modified: ChangeLog
4 Added: bash-4.3_p25.ebuild bash-4.1_p12.ebuild
5 bash-3.1_p18.ebuild bash-4.0_p39.ebuild
6 bash-4.2_p48.ebuild bash-3.2_p52.ebuild
7 Removed: bash-4.0_p38-r1.ebuild bash-4.1_p11-r1.ebuild
8 bash-4.2_p47.ebuild bash-4.2_p47-r1.ebuild
9 bash-4.3_p24-r2.ebuild bash-3.2_p51-r1.ebuild
10 bash-3.1_p17-r1.ebuild
11 Log:
12 Added official upstream fixes. Removed old. Committed straight to stable where the removed ebuilds were stable
13
14 (Portage version: 2.2.13/cvs/Linux x86_64, RepoMan options: --force, signed Manifest commit with key 0x981CA6FC)
15
16 Revision Changes Path
17 1.383 app-shells/bash/ChangeLog
18
19 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/ChangeLog?rev=1.383&view=markup
20 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/ChangeLog?rev=1.383&content-type=text/plain
21 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/ChangeLog?r1=1.382&r2=1.383
22
23 Index: ChangeLog
24 ===================================================================
25 RCS file: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v
26 retrieving revision 1.382
27 retrieving revision 1.383
28 diff -u -r1.382 -r1.383
29 --- ChangeLog 24 Sep 2014 15:29:03 -0000 1.382
30 +++ ChangeLog 24 Sep 2014 17:23:53 -0000 1.383
31 @@ -1,6 +1,22 @@
32 # ChangeLog for app-shells/bash
33 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
34 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.382 2014/09/24 15:29:03 ago Exp $
35 +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.383 2014/09/24 17:23:53 polynomial-c Exp $
36 +
37 +*bash-4.3_p25 (24 Sep 2014)
38 +*bash-4.2_p48 (24 Sep 2014)
39 +*bash-4.1_p12 (24 Sep 2014)
40 +*bash-4.0_p39 (24 Sep 2014)
41 +*bash-3.2_p52 (24 Sep 2014)
42 +*bash-3.1_p18 (24 Sep 2014)
43 +
44 + 24 Sep 2014; Lars Wendler <polynomial-c@g.o> -bash-3.1_p17-r1.ebuild,
45 + +bash-3.1_p18.ebuild, -bash-3.2_p51-r1.ebuild, +bash-3.2_p52.ebuild,
46 + -bash-4.0_p38-r1.ebuild, +bash-4.0_p39.ebuild, -bash-4.1_p11-r1.ebuild,
47 + +bash-4.1_p12.ebuild, -bash-4.2_p47.ebuild, -bash-4.2_p47-r1.ebuild,
48 + +bash-4.2_p48.ebuild, -bash-4.3_p24-r2.ebuild, +bash-4.3_p25.ebuild,
49 + -files/bash-3.1-funcdef-import.patch, -files/bash-4.3-funcdef-import.patch:
50 + Added official upstream fixes. Removed old. Committed straight to stable
51 + where the removed ebuilds were stable.
52
53 24 Sep 2014; Agostino Sarubbo <ago@g.o> bash-3.1_p17-r1.ebuild,
54 bash-3.2_p51-r1.ebuild, bash-4.0_p38-r1.ebuild, bash-4.1_p11-r1.ebuild,
55
56
57
58 1.1 app-shells/bash/bash-4.3_p25.ebuild
59
60 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.3_p25.ebuild?rev=1.1&view=markup
61 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.3_p25.ebuild?rev=1.1&content-type=text/plain
62
63 Index: bash-4.3_p25.ebuild
64 ===================================================================
65 # Copyright 1999-2014 Gentoo Foundation
66 # Distributed under the terms of the GNU General Public License v2
67 # $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.3_p25.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $
68
69 EAPI="4"
70
71 inherit eutils flag-o-matic toolchain-funcs multilib
72
73 # Official patchlevel
74 # See ftp://ftp.cwru.edu/pub/bash/bash-4.3-patches/
75 PLEVEL=${PV##*_p}
76 MY_PV=${PV/_p*}
77 MY_PV=${MY_PV/_/-}
78 MY_P=${PN}-${MY_PV}
79 [[ ${PV} != *_p* ]] && PLEVEL=0
80 patches() {
81 local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
82 [[ ${plevel} -eq 0 ]] && return 1
83 eval set -- {1..${plevel}}
84 set -- $(printf "${pn}${pv/\.}-%03d " "$@")
85 if [[ ${opt} == -s ]] ; then
86 echo "${@/#/${DISTDIR}/}"
87 else
88 local u
89 for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
90 printf "${u}/${pn}-${pv}-patches/%s " "$@"
91 done
92 fi
93 }
94
95 # The version of readline this bash normally ships with.
96 READLINE_VER="6.3"
97
98 DESCRIPTION="The standard GNU Bourne again shell"
99 HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
100 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
101 [[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
102
103 LICENSE="GPL-3"
104 SLOT="0"
105 #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
106 IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
107
108 DEPEND=">=sys-libs/ncurses-5.2-r2
109 readline? ( >=sys-libs/readline-${READLINE_VER} )
110 nls? ( virtual/libintl )"
111 RDEPEND="${DEPEND}
112 !<sys-apps/portage-2.1.6.7_p1
113 !<sys-apps/paludis-0.26.0_alpha5"
114 # we only need yacc when the .y files get patched (bash42-005)
115 DEPEND+=" virtual/yacc"
116
117 S=${WORKDIR}/${MY_P}
118
119 pkg_setup() {
120 if is-flag -malign-double ; then #7332
121 eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
122 eerror "as it breaks LFS (struct stat64) on x86."
123 die "remove -malign-double from your CFLAGS mr ricer"
124 fi
125 if use bashlogger ; then
126 ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
127 ewarn "This will log ALL output you enter into the shell, you have been warned."
128 fi
129 }
130
131 src_unpack() {
132 unpack ${MY_P}.tar.gz
133 }
134
135 src_prepare() {
136 # Include official patches
137 [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
138
139 # Clean out local libs so we know we use system ones w/releases.
140 if [[ ${PV} != *_rc* ]] ; then
141 rm -rf lib/{readline,termcap}/*
142 touch lib/{readline,termcap}/Makefile.in # for config.status
143 sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
144 fi
145
146 # Avoid regenerating docs after patches #407985
147 sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
148 touch -r . doc/*
149
150 epatch "${FILESDIR}"/${PN}-4.3-compat-lvl.patch
151 epatch "${FILESDIR}"/${PN}-4.3-parse-time-keyword.patch
152 epatch "${FILESDIR}"/${PN}-4.3-append-process-segfault.patch
153 epatch "${FILESDIR}"/${PN}-4.3-term-cleanup.patch
154
155 epatch_user
156 }
157
158 src_configure() {
159 local myconf=()
160
161 # For descriptions of these, see config-top.h
162 # bashrc/#26952 bash_logout/#90488 ssh/#24762
163 append-cppflags \
164 -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
165 -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
166 -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
167 -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
168 -DNON_INTERACTIVE_LOGIN_SHELLS \
169 -DSSH_SOURCE_BASHRC \
170 $(use bashlogger && echo -DSYSLOG_HISTORY)
171
172 # Don't even think about building this statically without
173 # reading Bug 7714 first. If you still build it statically,
174 # don't come crying to us with bugs ;).
175 #use static && export LDFLAGS="${LDFLAGS} -static"
176 use nls || myconf+=( --disable-nls )
177
178 # Historically, we always used the builtin readline, but since
179 # our handling of SONAME upgrades has gotten much more stable
180 # in the PM (and the readline ebuild itself preserves the old
181 # libs during upgrades), linking against the system copy should
182 # be safe.
183 # Exact cached version here doesn't really matter as long as it
184 # is at least what's in the DEPEND up above.
185 export ac_cv_rl_version=${READLINE_VER}
186
187 # Force linking with system curses ... the bundled termcap lib
188 # sucks bad compared to ncurses. For the most part, ncurses
189 # is here because readline needs it. But bash itself calls
190 # ncurses in one or two small places :(.
191
192 if [[ ${PV} != *_rc* ]] ; then
193 # Use system readline only with released versions.
194 myconf+=( --with-installed-readline=. )
195 fi
196
197 if use plugins; then
198 append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
199 else
200 # Disable the plugins logic by hand since bash doesn't
201 # provide a way of doing it.
202 export ac_cv_func_dl{close,open,sym}=no \
203 ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
204 sed -i \
205 -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
206 configure || die
207 fi
208 tc-export AR #444070
209 econf \
210 --docdir='$(datarootdir)'/doc/${PF} \
211 --htmldir='$(docdir)/html' \
212 --with-curses \
213 $(use_with afs) \
214 $(use_enable net net-redirections) \
215 --disable-profiling \
216 $(use_enable mem-scramble) \
217 $(use_with mem-scramble bash-malloc) \
218 $(use_enable readline) \
219 $(use_enable readline history) \
220 $(use_enable readline bang-history) \
221 "${myconf[@]}"
222 }
223
224 src_compile() {
225 emake
226
227 if use plugins ; then
228 emake -C examples/loadables all others
229 fi
230 }
231
232 src_install() {
233 local d f
234
235 default
236
237 dodir /bin
238 mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
239 dosym bash /bin/rbash
240
241 insinto /etc/bash
242 doins "${FILESDIR}"/{bashrc,bash_logout}
243 insinto /etc/skel
244 for f in bash{_logout,_profile,rc} ; do
245 newins "${FILESDIR}"/dot-${f} .${f}
246 done
247
248 local sed_args=(
249 -e "s:#${USERLAND}#@::"
250 -e '/#@/d'
251 )
252 if ! use readline ; then
253 sed_args+=( #432338
254 -e '/^shopt -s histappend/s:^:#:'
255 -e 's:use_color=true:use_color=false:'
256 )
257 fi
258 sed -i \
259 "${sed_args[@]}" \
260 "${ED}"/etc/skel/.bashrc \
261 "${ED}"/etc/bash/bashrc || die
262
263 if use plugins ; then
264 exeinto /usr/$(get_libdir)/bash
265 doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
266 insinto /usr/include/bash-plugins
267 doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
268 fi
269
270 if use examples ; then
271 for d in examples/{functions,misc,scripts,scripts.noah,scripts.v2} ; do
272 exeinto /usr/share/doc/${PF}/${d}
273 insinto /usr/share/doc/${PF}/${d}
274 for f in ${d}/* ; do
275 if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
276 doexe ${f}
277 else
278 doins ${f}
279 fi
280 done
281 done
282 fi
283
284 doman doc/*.1
285 newdoc CWRU/changelog ChangeLog
286 dosym bash.info /usr/share/info/bashref.info
287 }
288
289 pkg_preinst() {
290 if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
291 mkdir -p "${EROOT}"/etc/bash
292 mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
293 fi
294
295 if [[ -L ${EROOT}/bin/sh ]] ; then
296 # rewrite the symlink to ensure that its mtime changes. having /bin/sh
297 # missing even temporarily causes a fatal error with paludis.
298 local target=$(readlink "${EROOT}"/bin/sh)
299 local tmp=$(emktemp "${EROOT}"/bin)
300 ln -sf "${target}" "${tmp}"
301 mv -f "${tmp}" "${EROOT}"/bin/sh
302 fi
303 }
304
305 pkg_postinst() {
306 # If /bin/sh does not exist, provide it
307 if [[ ! -e ${EROOT}/bin/sh ]] ; then
308 ln -sf bash "${EROOT}"/bin/sh
309 fi
310 }
311
312
313
314 1.1 app-shells/bash/bash-4.1_p12.ebuild
315
316 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.1_p12.ebuild?rev=1.1&view=markup
317 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.1_p12.ebuild?rev=1.1&content-type=text/plain
318
319 Index: bash-4.1_p12.ebuild
320 ===================================================================
321 # Copyright 1999-2014 Gentoo Foundation
322 # Distributed under the terms of the GNU General Public License v2
323 # $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.1_p12.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $
324
325 EAPI="4"
326
327 inherit eutils flag-o-matic toolchain-funcs
328
329 # Official patchlevel
330 # See ftp://ftp.cwru.edu/pub/bash/bash-4.1-patches/
331 PLEVEL=${PV##*_p}
332 MY_PV=${PV/_p*}
333 MY_PV=${MY_PV/_/-}
334 MY_P=${PN}-${MY_PV}
335 [[ ${PV} != *_p* ]] && PLEVEL=0
336 patches() {
337 local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
338 [[ ${plevel} -eq 0 ]] && return 1
339 eval set -- {1..${plevel}}
340 set -- $(printf "${pn}${pv/\.}-%03d " "$@")
341 if [[ ${opt} == -s ]] ; then
342 echo "${@/#/${DISTDIR}/}"
343 else
344 local u
345 for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
346 printf "${u}/${pn}-${pv}-patches/%s " "$@"
347 done
348 fi
349 }
350
351 DESCRIPTION="The standard GNU Bourne again shell"
352 HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
353 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
354
355 LICENSE="GPL-3"
356 SLOT="${MY_PV}"
357 KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd"
358 IUSE="afs mem-scramble +net nls +readline"
359
360 DEPEND=">=sys-libs/ncurses-5.2-r2
361 readline? ( >=sys-libs/readline-6.2 )
362 nls? ( virtual/libintl )"
363 RDEPEND="${DEPEND}"
364
365 S=${WORKDIR}/${MY_P}
366
367 pkg_setup() {
368 if is-flag -malign-double ; then #7332
369 eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
370 eerror "as it breaks LFS (struct stat64) on x86."
371 die "remove -malign-double from your CFLAGS mr ricer"
372 fi
373 }
374
375 src_unpack() {
376 unpack ${MY_P}.tar.gz
377 }
378
379 src_prepare() {
380 # Include official patches
381 [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
382
383 # Clean out local libs so we know we use system ones
384 rm -rf lib/{readline,termcap}/*
385 touch lib/{readline,termcap}/Makefile.in # for config.status
386 sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
387
388 epatch "${FILESDIR}"/${PN}-4.1-fbsd-eaccess.patch #303411
389 sed -i '1i#define NEED_FPURGE_DECL' execute_cmd.c # needs fpurge() decl
390 epatch "${FILESDIR}"/${PN}-4.1-parallel-build.patch
391
392 epatch_user
393 }
394
395 src_configure() {
396 local myconf=()
397
398 myconf+=( --without-lispdir ) #335896
399
400 # For descriptions of these, see config-top.h
401 # bashrc/#26952 bash_logout/#90488 ssh/#24762
402 append-cppflags \
403 -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
404 -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
405 -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
406 -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
407 -DNON_INTERACTIVE_LOGIN_SHELLS \
408 -DSSH_SOURCE_BASHRC
409
410 # Don't even think about building this statically without
411 # reading Bug 7714 first. If you still build it statically,
412 # don't come crying to us with bugs ;).
413 #use static && export LDFLAGS="${LDFLAGS} -static"
414 use nls || myconf+=( --disable-nls )
415
416 # Historically, we always used the builtin readline, but since
417 # our handling of SONAME upgrades has gotten much more stable
418 # in the PM (and the readline ebuild itself preserves the old
419 # libs during upgrades), linking against the system copy should
420 # be safe.
421 # Exact cached version here doesn't really matter as long as it
422 # is at least what's in the DEPEND up above.
423 export ac_cv_rl_version=6.2
424
425 # Force linking with system curses ... the bundled termcap lib
426 # sucks bad compared to ncurses. For the most part, ncurses
427 # is here because readline needs it. But bash itself calls
428 # ncurses in one or two small places :(.
429
430 tc-export AR #444070
431 econf \
432 --with-installed-readline=. \
433 --with-curses \
434 $(use_with afs) \
435 $(use_enable net net-redirections) \
436 --disable-profiling \
437 $(use_enable mem-scramble) \
438 $(use_with mem-scramble bash-malloc) \
439 $(use_enable readline) \
440 $(use_enable readline history) \
441 $(use_enable readline bang-history) \
442 "${myconf[@]}"
443 }
444
445 src_install() {
446 into /
447 newbin bash bash-${SLOT}
448
449 newman doc/bash.1 bash-${SLOT}.1
450 newman doc/builtins.1 builtins-${SLOT}.1
451
452 insinto /usr/share/info
453 newins doc/bashref.info bash-${SLOT}.info
454 dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
455
456 dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
457 }
458
459
460
461 1.1 app-shells/bash/bash-3.1_p18.ebuild
462
463 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-3.1_p18.ebuild?rev=1.1&view=markup
464 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-3.1_p18.ebuild?rev=1.1&content-type=text/plain
465
466 Index: bash-3.1_p18.ebuild
467 ===================================================================
468 # Copyright 1999-2014 Gentoo Foundation
469 # Distributed under the terms of the GNU General Public License v2
470 # $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.1_p18.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $
471
472 EAPI="4"
473
474 inherit eutils flag-o-matic toolchain-funcs
475
476 # Official patchlevel
477 # See ftp://ftp.cwru.edu/pub/bash/bash-3.1-patches/
478 PLEVEL=${PV##*_p}
479 MY_PV=${PV/_p*}
480 MY_PV=${MY_PV/_/-}
481 MY_P=${PN}-${MY_PV}
482 [[ ${PV} != *_p* ]] && PLEVEL=0
483 patches() {
484 local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
485 [[ ${plevel} -eq 0 ]] && return 1
486 eval set -- {1..${plevel}}
487 set -- $(printf "${pn}${pv/\.}-%03d " "$@")
488 if [[ ${opt} == -s ]] ; then
489 echo "${@/#/${DISTDIR}/}"
490 else
491 local u
492 for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
493 printf "${u}/${pn}-${pv}-patches/%s " "$@"
494 done
495 fi
496 }
497
498 DESCRIPTION="The standard GNU Bourne again shell"
499 HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
500 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
501
502 LICENSE="GPL-2"
503 SLOT="${MY_PV}"
504 KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd"
505 IUSE="afs +net nls +readline"
506
507 DEPEND=">=sys-libs/ncurses-5.2-r2
508 readline? ( >=sys-libs/readline-6.2 )
509 nls? ( virtual/libintl )"
510 RDEPEND="${DEPEND}"
511
512 S=${WORKDIR}/${MY_P}
513
514 pkg_setup() {
515 if is-flag -malign-double ; then #7332
516 eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
517 eerror "as it breaks LFS (struct stat64) on x86."
518 die "remove -malign-double from your CFLAGS mr ricer"
519 fi
520 }
521
522 src_unpack() {
523 unpack ${MY_P}.tar.gz
524 }
525
526 src_prepare() {
527 # Include official patches
528 [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
529
530 # Clean out local libs so we know we use system ones
531 rm -rf lib/{readline,termcap}/*
532 touch lib/{readline,termcap}/Makefile.in # for config.status
533 sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
534
535 epatch "${FILESDIR}"/${PN}-3.1-gentoo.patch
536 epatch "${FILESDIR}"/autoconf-mktime-2.53.patch #220040
537 epatch "${FILESDIR}"/${PN}-3.1-ulimit.patch
538 epatch "${FILESDIR}"/${PN}-3.0-read-memleak.patch
539 epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
540 epatch "${FILESDIR}"/bash-3.1-fix-dash-login-shell.patch #118257
541 epatch "${FILESDIR}"/bash-3.1-dev-fd-test-as-user.patch #131875
542
543 epatch_user
544 }
545
546 src_configure() {
547 local myconf=()
548
549 # Force pgrp synchronization
550 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653
551 export bash_cv_pgrp_pipe=yes
552
553 # For descriptions of these, see config-top.h
554 # bashrc/#26952 bash_logout/#90488 ssh/#24762
555 append-cppflags \
556 -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
557 -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
558 -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
559 -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
560 -DNON_INTERACTIVE_LOGIN_SHELLS \
561 -DSSH_SOURCE_BASHRC
562
563 # Don't even think about building this statically without
564 # reading Bug 7714 first. If you still build it statically,
565 # don't come crying to us with bugs ;).
566 #use static && export LDFLAGS="${LDFLAGS} -static"
567 use nls || myconf+=( --disable-nls )
568
569 # Historically, we always used the builtin readline, but since
570 # our handling of SONAME upgrades has gotten much more stable
571 # in the PM (and the readline ebuild itself preserves the old
572 # libs during upgrades), linking against the system copy should
573 # be safe.
574 # Exact cached version here doesn't really matter as long as it
575 # is at least what's in the DEPEND up above.
576 export ac_cv_rl_version=6.2
577
578 # Force linking with system curses ... the bundled termcap lib
579 # sucks bad compared to ncurses. For the most part, ncurses
580 # is here because readline needs it. But bash itself calls
581 # ncurses in one or two small places :(.
582
583 tc-export AR #444070
584 econf \
585 --with-installed-readline=. \
586 --with-curses \
587 $(use_with afs) \
588 $(use_enable net net-redirections) \
589 --disable-profiling \
590 --without-gnu-malloc \
591 $(use_enable readline) \
592 $(use_enable readline history) \
593 $(use_enable readline bang-history) \
594 "${myconf[@]}"
595 }
596
597 src_compile() {
598 emake -j1 #102426
599 }
600
601 src_install() {
602 into /
603 newbin bash bash-${SLOT}
604
605 newman doc/bash.1 bash-${SLOT}.1
606 newman doc/builtins.1 builtins-${SLOT}.1
607
608 insinto /usr/share/info
609 newins doc/bashref.info bash-${SLOT}.info
610 dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
611
612 dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
613 }
614
615
616
617 1.1 app-shells/bash/bash-4.0_p39.ebuild
618
619 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.0_p39.ebuild?rev=1.1&view=markup
620 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.0_p39.ebuild?rev=1.1&content-type=text/plain
621
622 Index: bash-4.0_p39.ebuild
623 ===================================================================
624 # Copyright 1999-2014 Gentoo Foundation
625 # Distributed under the terms of the GNU General Public License v2
626 # $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.0_p39.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $
627
628 EAPI="4"
629
630 inherit eutils flag-o-matic toolchain-funcs
631
632 # Official patchlevel
633 # See ftp://ftp.cwru.edu/pub/bash/bash-4.0-patches/
634 PLEVEL=${PV##*_p}
635 MY_PV=${PV/_p*}
636 MY_PV=${MY_PV/_/-}
637 MY_P=${PN}-${MY_PV}
638 [[ ${PV} != *_p* ]] && PLEVEL=0
639 patches() {
640 local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
641 [[ ${plevel} -eq 0 ]] && return 1
642 eval set -- {1..${plevel}}
643 set -- $(printf "${pn}${pv/\.}-%03d " "$@")
644 if [[ ${opt} == -s ]] ; then
645 echo "${@/#/${DISTDIR}/}"
646 else
647 local u
648 for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
649 printf "${u}/${pn}-${pv}-patches/%s " "$@"
650 done
651 fi
652 }
653
654 DESCRIPTION="The standard GNU Bourne again shell"
655 HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
656 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
657
658 LICENSE="GPL-3"
659 SLOT="${MY_PV}"
660 KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd"
661 IUSE="afs mem-scramble +net nls +readline"
662
663 DEPEND=">=sys-libs/ncurses-5.2-r2
664 readline? ( >=sys-libs/readline-6.2 )
665 nls? ( virtual/libintl )"
666 RDEPEND="${DEPEND}"
667
668 S=${WORKDIR}/${MY_P}
669
670 pkg_setup() {
671 if is-flag -malign-double ; then #7332
672 eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
673 eerror "as it breaks LFS (struct stat64) on x86."
674 die "remove -malign-double from your CFLAGS mr ricer"
675 fi
676 }
677
678 src_unpack() {
679 unpack ${MY_P}.tar.gz
680 }
681
682 src_prepare() {
683 # Include official patches
684 [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
685
686 # Clean out local libs so we know we use system ones
687 rm -rf lib/{readline,termcap}/*
688 touch lib/{readline,termcap}/Makefile.in # for config.status
689 sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
690
691 epatch "${FILESDIR}"/${PN}-4.0-configure.patch #304901
692 epatch "${FILESDIR}"/${PN}-4.x-deferred-heredocs.patch
693 sed -i '1i#define NEED_FPURGE_DECL' execute_cmd.c # needs fpurge() decl
694 epatch "${FILESDIR}"/${PN}-3.2-parallel-build.patch #189671
695 epatch "${FILESDIR}"/${PN}-4.0-ldflags-for-build.patch #211947
696 epatch "${FILESDIR}"/${PN}-4.0-negative-return.patch
697 epatch "${FILESDIR}"/${PN}-4.0-parallel-build.patch #267613
698 sed -i '/\.o: .*shell\.h/s:$: pathnames.h:' Makefile.in #267613
699
700 epatch_user
701 }
702
703 src_configure() {
704 local myconf=()
705
706 # For descriptions of these, see config-top.h
707 # bashrc/#26952 bash_logout/#90488 ssh/#24762
708 append-cppflags \
709 -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
710 -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
711 -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
712 -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
713 -DNON_INTERACTIVE_LOGIN_SHELLS \
714 -DSSH_SOURCE_BASHRC
715
716 # Don't even think about building this statically without
717 # reading Bug 7714 first. If you still build it statically,
718 # don't come crying to us with bugs ;).
719 #use static && export LDFLAGS="${LDFLAGS} -static"
720 use nls || myconf+=( --disable-nls )
721
722 # Historically, we always used the builtin readline, but since
723 # our handling of SONAME upgrades has gotten much more stable
724 # in the PM (and the readline ebuild itself preserves the old
725 # libs during upgrades), linking against the system copy should
726 # be safe.
727 # Exact cached version here doesn't really matter as long as it
728 # is at least what's in the DEPEND up above.
729 export ac_cv_rl_version=6.2
730
731 # Force linking with system curses ... the bundled termcap lib
732 # sucks bad compared to ncurses. For the most part, ncurses
733 # is here because readline needs it. But bash itself calls
734 # ncurses in one or two small places :(.
735
736 tc-export AR #444070
737 econf \
738 --with-installed-readline=. \
739 --with-curses \
740 $(use_with afs) \
741 $(use_enable net net-redirections) \
742 --disable-profiling \
743 $(use_enable mem-scramble) \
744 $(use_with mem-scramble bash-malloc) \
745 $(use_enable readline) \
746 $(use_enable readline history) \
747 $(use_enable readline bang-history) \
748 "${myconf[@]}"
749 }
750
751 src_install() {
752 into /
753 newbin bash bash-${SLOT}
754
755 newman doc/bash.1 bash-${SLOT}.1
756 newman doc/builtins.1 builtins-${SLOT}.1
757
758 insinto /usr/share/info
759 newins doc/bashref.info bash-${SLOT}.info
760 dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
761
762 dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
763 }
764
765
766
767 1.1 app-shells/bash/bash-4.2_p48.ebuild
768
769 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.2_p48.ebuild?rev=1.1&view=markup
770 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.2_p48.ebuild?rev=1.1&content-type=text/plain
771
772 Index: bash-4.2_p48.ebuild
773 ===================================================================
774 # Copyright 1999-2014 Gentoo Foundation
775 # Distributed under the terms of the GNU General Public License v2
776 # $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.2_p48.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $
777
778 EAPI="4"
779
780 inherit eutils flag-o-matic toolchain-funcs multilib
781
782 # Official patchlevel
783 # See ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/
784 PLEVEL=${PV##*_p}
785 MY_PV=${PV/_p*}
786 MY_PV=${MY_PV/_/-}
787 MY_P=${PN}-${MY_PV}
788 [[ ${PV} != *_p* ]] && PLEVEL=0
789 patches() {
790 local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
791 [[ ${plevel} -eq 0 ]] && return 1
792 eval set -- {1..${plevel}}
793 set -- $(printf "${pn}${pv/\.}-%03d " "$@")
794 if [[ ${opt} == -s ]] ; then
795 echo "${@/#/${DISTDIR}/}"
796 else
797 local u
798 for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
799 printf "${u}/${pn}-${pv}-patches/%s " "$@"
800 done
801 fi
802 }
803
804 DESCRIPTION="The standard GNU Bourne again shell"
805 HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
806 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
807
808 LICENSE="GPL-3"
809 SLOT="0"
810 KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
811 IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
812
813 DEPEND=">=sys-libs/ncurses-5.2-r2
814 readline? ( >=sys-libs/readline-6.2 )
815 nls? ( virtual/libintl )"
816 RDEPEND="${DEPEND}
817 !!<sys-apps/portage-2.1.6.7_p1
818 !!<sys-apps/paludis-0.26.0_alpha5"
819 # we only need yacc when the .y files get patched (bash42-005)
820 DEPEND+=" virtual/yacc"
821
822 S=${WORKDIR}/${MY_P}
823
824 pkg_setup() {
825 if is-flag -malign-double ; then #7332
826 eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
827 eerror "as it breaks LFS (struct stat64) on x86."
828 die "remove -malign-double from your CFLAGS mr ricer"
829 fi
830 if use bashlogger ; then
831 ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
832 ewarn "This will log ALL output you enter into the shell, you have been warned."
833 fi
834 }
835
836 src_unpack() {
837 unpack ${MY_P}.tar.gz
838 }
839
840 src_prepare() {
841 # Include official patches
842 [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
843
844 # Clean out local libs so we know we use system ones
845 rm -rf lib/{readline,termcap}/*
846 touch lib/{readline,termcap}/Makefile.in # for config.status
847 sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
848
849 # Avoid regenerating docs after patches #407985
850 sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
851 touch -r . doc/*
852
853 epatch "${FILESDIR}"/${PN}-4.2-execute-job-control.patch #383237
854 epatch "${FILESDIR}"/${PN}-4.2-parallel-build.patch
855 epatch "${FILESDIR}"/${PN}-4.2-no-readline.patch
856 epatch "${FILESDIR}"/${PN}-4.2-read-retry.patch #447810
857 if ! use vanilla ; then
858 epatch "${FILESDIR}"/${PN}-4.2-speed-up-read-N.patch
859 fi
860
861 epatch_user
862 }
863
864 src_configure() {
865 local myconf=()
866
867 # For descriptions of these, see config-top.h
868 # bashrc/#26952 bash_logout/#90488 ssh/#24762
869 append-cppflags \
870 -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
871 -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
872 -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
873 -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
874 -DNON_INTERACTIVE_LOGIN_SHELLS \
875 -DSSH_SOURCE_BASHRC \
876 $(use bashlogger && echo -DSYSLOG_HISTORY)
877
878 # Don't even think about building this statically without
879 # reading Bug 7714 first. If you still build it statically,
880 # don't come crying to us with bugs ;).
881 #use static && export LDFLAGS="${LDFLAGS} -static"
882 use nls || myconf+=( --disable-nls )
883
884 # Historically, we always used the builtin readline, but since
885 # our handling of SONAME upgrades has gotten much more stable
886 # in the PM (and the readline ebuild itself preserves the old
887 # libs during upgrades), linking against the system copy should
888 # be safe.
889 # Exact cached version here doesn't really matter as long as it
890 # is at least what's in the DEPEND up above.
891 export ac_cv_rl_version=6.2
892
893 # Force linking with system curses ... the bundled termcap lib
894 # sucks bad compared to ncurses. For the most part, ncurses
895 # is here because readline needs it. But bash itself calls
896 # ncurses in one or two small places :(.
897
898 use plugins && append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
899 tc-export AR #444070
900 econf \
901 --with-installed-readline=. \
902 --with-curses \
903 $(use_with afs) \
904 $(use_enable net net-redirections) \
905 --disable-profiling \
906 $(use_enable mem-scramble) \
907 $(use_with mem-scramble bash-malloc) \
908 $(use_enable readline) \
909 $(use_enable readline history) \
910 $(use_enable readline bang-history) \
911 "${myconf[@]}"
912 }
913
914 src_compile() {
915 emake
916
917 if use plugins ; then
918 emake -C examples/loadables all others
919 fi
920 }
921
922 src_install() {
923 emake install DESTDIR="${D}"
924
925 dodir /bin
926 mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
927 dosym bash /bin/rbash
928
929 insinto /etc/bash
930 doins "${FILESDIR}"/{bashrc,bash_logout}
931 insinto /etc/skel
932 for f in bash{_logout,_profile,rc} ; do
933 newins "${FILESDIR}"/dot-${f} .${f}
934 done
935
936 local sed_args=(
937 -e "s:#${USERLAND}#@::"
938 -e '/#@/d'
939 )
940 if ! use readline ; then
941 sed_args+=( #432338
942 -e '/^shopt -s histappend/s:^:#:'
943 -e 's:use_color=true:use_color=false:'
944 )
945 fi
946 sed -i \
947 "${sed_args[@]}" \
948 "${ED}"/etc/skel/.bashrc \
949 "${ED}"/etc/bash/bashrc || die
950
951 if use plugins ; then
952 exeinto /usr/$(get_libdir)/bash
953 doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
954 insinto /usr/include/bash-plugins
955 doins *.h builtins/*.h examples/loadables/*.h include/*.h \
956 lib/{glob/glob.h,tilde/tilde.h}
957 fi
958
959 if use examples ; then
960 for d in examples/{functions,misc,scripts,scripts.noah,scripts.v2} ; do
961 exeinto /usr/share/doc/${PF}/${d}
962 insinto /usr/share/doc/${PF}/${d}
963 for f in ${d}/* ; do
964 if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
965 doexe ${f}
966 else
967 doins ${f}
968 fi
969 done
970 done
971 fi
972
973 doman doc/*.1
974 dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
975 dosym bash.info /usr/share/info/bashref.info
976 }
977
978 pkg_preinst() {
979 if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
980 mkdir -p "${EROOT}"/etc/bash
981 mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
982 fi
983
984 if [[ -L ${EROOT}/bin/sh ]]; then
985 # rewrite the symlink to ensure that its mtime changes. having /bin/sh
986 # missing even temporarily causes a fatal error with paludis.
987 local target=$(readlink "${EROOT}"/bin/sh)
988 local tmp=$(emktemp "${EROOT}"/bin)
989 ln -sf "${target}" "${tmp}"
990 mv -f "${tmp}" "${EROOT}"/bin/sh
991 fi
992 }
993
994 pkg_postinst() {
995 # If /bin/sh does not exist, provide it
996 if [[ ! -e ${EROOT}/bin/sh ]]; then
997 ln -sf bash "${EROOT}"/bin/sh
998 fi
999 }
1000
1001
1002
1003 1.1 app-shells/bash/bash-3.2_p52.ebuild
1004
1005 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-3.2_p52.ebuild?rev=1.1&view=markup
1006 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-3.2_p52.ebuild?rev=1.1&content-type=text/plain
1007
1008 Index: bash-3.2_p52.ebuild
1009 ===================================================================
1010 # Copyright 1999-2014 Gentoo Foundation
1011 # Distributed under the terms of the GNU General Public License v2
1012 # $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.2_p52.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $
1013
1014 EAPI="4"
1015
1016 inherit eutils flag-o-matic toolchain-funcs
1017
1018 # Official patchlevel
1019 # See ftp://ftp.cwru.edu/pub/bash/bash-3.2-patches/
1020 PLEVEL=${PV##*_p}
1021 MY_PV=${PV/_p*}
1022 MY_PV=${MY_PV/_/-}
1023 MY_P=${PN}-${MY_PV}
1024 [[ ${PV} != *_p* ]] && PLEVEL=0
1025 patches() {
1026 local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
1027 [[ ${plevel} -eq 0 ]] && return 1
1028 eval set -- {1..${plevel}}
1029 set -- $(printf "${pn}${pv/\.}-%03d " "$@")
1030 if [[ ${opt} == -s ]] ; then
1031 echo "${@/#/${DISTDIR}/}"
1032 else
1033 local u
1034 for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
1035 printf "${u}/${pn}-${pv}-patches/%s " "$@"
1036 done
1037 fi
1038 }
1039
1040 DESCRIPTION="The standard GNU Bourne again shell"
1041 HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
1042 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
1043
1044 LICENSE="GPL-2"
1045 SLOT="${MY_PV}"
1046 KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd"
1047 IUSE="afs +net nls +readline"
1048
1049 DEPEND=">=sys-libs/ncurses-5.2-r2
1050 readline? ( >=sys-libs/readline-6.2 )
1051 nls? ( virtual/libintl )"
1052 RDEPEND="${DEPEND}"
1053
1054 S=${WORKDIR}/${MY_P}
1055
1056 pkg_setup() {
1057 if is-flag -malign-double ; then #7332
1058 eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
1059 eerror "as it breaks LFS (struct stat64) on x86."
1060 die "remove -malign-double from your CFLAGS mr ricer"
1061 fi
1062 }
1063
1064 src_unpack() {
1065 unpack ${MY_P}.tar.gz
1066 }
1067
1068 src_prepare() {
1069 # Include official patches
1070 [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
1071
1072 # Clean out local libs so we know we use system ones
1073 rm -rf lib/{readline,termcap}/*
1074 touch lib/{readline,termcap}/Makefile.in # for config.status
1075 sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
1076
1077 epatch "${FILESDIR}"/autoconf-mktime-2.59.patch #220040
1078 epatch "${FILESDIR}"/${PN}-3.1-gentoo.patch
1079 epatch "${FILESDIR}"/${PN}-3.2-loadables.patch
1080 epatch "${FILESDIR}"/${PN}-3.2-protos.patch
1081 epatch "${FILESDIR}"/${PN}-3.2-session-leader.patch #231775
1082 epatch "${FILESDIR}"/${PN}-3.2-parallel-build.patch #189671
1083 epatch "${FILESDIR}"/${PN}-3.2-ldflags-for-build.patch #211947
1084 epatch "${FILESDIR}"/${PN}-3.2-process-subst.patch
1085 epatch "${FILESDIR}"/${PN}-3.2-ulimit.patch
1086 epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
1087 epatch "${FILESDIR}"/${PN}-3.2-dev-fd-test-as-user.patch #131875
1088
1089 epatch_user
1090 }
1091
1092 src_configure() {
1093 local myconf=()
1094
1095 # Force pgrp synchronization
1096 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653
1097 export bash_cv_pgrp_pipe=yes
1098
1099 # For descriptions of these, see config-top.h
1100 # bashrc/#26952 bash_logout/#90488 ssh/#24762
1101 append-cppflags \
1102 -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
1103 -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
1104 -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
1105 -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
1106 -DNON_INTERACTIVE_LOGIN_SHELLS \
1107 -DSSH_SOURCE_BASHRC
1108
1109 # Don't even think about building this statically without
1110 # reading Bug 7714 first. If you still build it statically,
1111 # don't come crying to us with bugs ;).
1112 #use static && export LDFLAGS="${LDFLAGS} -static"
1113 use nls || myconf+=( --disable-nls )
1114
1115 # Historically, we always used the builtin readline, but since
1116 # our handling of SONAME upgrades has gotten much more stable
1117 # in the PM (and the readline ebuild itself preserves the old
1118 # libs during upgrades), linking against the system copy should
1119 # be safe.
1120 # Exact cached version here doesn't really matter as long as it
1121 # is at least what's in the DEPEND up above.
1122 export ac_cv_rl_version=6.2
1123
1124 # Force linking with system curses ... the bundled termcap lib
1125 # sucks bad compared to ncurses. For the most part, ncurses
1126 # is here because readline needs it. But bash itself calls
1127 # ncurses in one or two small places :(.
1128
1129 tc-export AR #444070
1130 econf \
1131 --with-installed-readline=. \
1132 --with-curses \
1133 $(use_with afs) \
1134 $(use_enable net net-redirections) \
1135 --disable-profiling \
1136 --without-gnu-malloc \
1137 $(use_enable readline) \
1138 $(use_enable readline history) \
1139 $(use_enable readline bang-history) \
1140 "${myconf[@]}"
1141 }
1142
1143 src_install() {
1144 into /
1145 newbin bash bash-${SLOT}
1146
1147 newman doc/bash.1 bash-${SLOT}.1
1148 newman doc/builtins.1 builtins-${SLOT}.1
1149
1150 insinto /usr/share/info
1151 newins doc/bashref.info bash-${SLOT}.info
1152 dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
1153
1154 dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
1155 }