summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-shells/bash/bash-3.0_p22.ebuild')
-rw-r--r--app-shells/bash/bash-3.0_p22.ebuild68
1 files changed, 46 insertions, 22 deletions
diff --git a/app-shells/bash/bash-3.0_p22.ebuild b/app-shells/bash/bash-3.0_p22.ebuild
index 6437d45fb536..712faa838802 100644
--- a/app-shells/bash/bash-3.0_p22.ebuild
+++ b/app-shells/bash/bash-3.0_p22.ebuild
@@ -1,10 +1,14 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic toolchain-funcs
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
# Official patchlevel
# See ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/
PLEVEL="${PV##*_p}"
@@ -28,12 +32,16 @@ patches() {
}
DESCRIPTION="The standard GNU Bourne again shell"
-HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
+HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html"
SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
+if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+ SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+fi
+
LICENSE="GPL-2"
SLOT="${MY_PV}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
IUSE="afs +net nls +readline static"
LIB_DEPEND=">=sys-libs/ncurses-5.2-r2[static-libs(+)]
@@ -46,22 +54,25 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/${MY_P}"
PATCHES=(
- "${FILESDIR}"/autoconf-mktime-2.53.patch #220040
- "${FILESDIR}"/${PN}-3.0-protos.patch
- "${FILESDIR}"/${PN}-3.0-rbash.patch #26854
- "${FILESDIR}"/${PN}-2.05b-parallel-build.patch #41002
- "${FILESDIR}"/${PN}-3.0-darwin-conn.patch #79124
- # read patch headers for more info ... many ripped from Fedora/Debian[17]/SuSe/upstream
- "${FILESDIR}"/${PN}-3.0-{afs,crash,jobs,manpage,pwd,ulimit,histtimeformat,locale,multibyteifs,subshell,volatile-command}.patch
- "${FILESDIR}"/${PN}-3.0-read-builtin-pipe.patch #87093
- "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
- "${FILESDIR}"/${PN}-3.0-pgrp-pipe-fix.patch #92349
- "${FILESDIR}"/${PN}-3.0-strnlen.patch
- "${FILESDIR}"/${PN}-3.1-dev-fd-buffer-overflow.patch #431850
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/autoconf-mktime-2.53.patch
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-protos.patch
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-rbash.patch # bug #26854
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-parallel-build.patch # bug #41002
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-darwin-conn.patch # bug #79124
+
+ # Read patch headers for more info ... many ripped from Fedora/Debian[17]/SuSe/upstream
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-{afs,crash,jobs,manpage,pwd,ulimit,histtimeformat,locale,multibyteifs,subshell,volatile-command}.patch
+
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-read-builtin-pipe.patch # bug #87093
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-trap-fg-signals.patch
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-pgrp-pipe-fix.patch # bug #92349
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-strnlen.patch
+ "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-dev-fd-buffer-overflow.patch # bug #431850
)
pkg_setup() {
- if is-flag -malign-double ; then #7332
+ # bug #7332
+ if is-flag -malign-double ; then
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
eerror "as it breaks LFS (struct stat64) on x86."
die "remove -malign-double from your CFLAGS mr ricer"
@@ -70,6 +81,10 @@ pkg_setup() {
src_unpack() {
unpack ${MY_P}.tar.gz
+
+ if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+ unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+ fi
}
src_prepare() {
@@ -79,15 +94,27 @@ src_prepare() {
# Clean out local libs so we know we use system ones
rm -rf lib/{readline,termcap}/* || die
touch lib/{readline,termcap}/Makefile.in || die # for config.status
- sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
+ sed -ri -e 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in || die
default
}
src_configure() {
+ #/var/tmp/portage/app-shells/bash-3.2_p57/temp/ccW7JJDK.ltrans2.ltrans.o: in function `shell_execve':
+ # <artificial>:(.text+0x8b30): undefined reference to `__setostype'
+ #
+ # It works fine in bash 4+. Backporting may not be worth it.
+ filter-lto
+
local myconf=(
--with-installed-readline=.
+
+ # Force linking with system curses ... the bundled termcap lib
+ # sucks bad compared to ncurses. For the most part, ncurses
+ # is here because readline needs it. But bash itself calls
+ # ncurses in one or two small places :(.
--with-curses
+
$(use_with afs)
$(use_enable net net-redirections)
--disable-profiling
@@ -124,12 +151,9 @@ src_configure() {
# is at least what's in the DEPEND up above.
export ac_cv_rl_version=6.2
- # Force linking with system curses ... the bundled termcap lib
- # sucks bad compared to ncurses. For the most part, ncurses
- # is here because readline needs it. But bash itself calls
- # ncurses in one or two small places :(.
+ # bug #444070
+ tc-export AR
- tc-export AR #444070
econf "${myconf[@]}"
}