152 lines
5.1 KiB
Bash
152 lines
5.1 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
# Contributor: Ray Donnelly <mingw.android@gmail.com>
|
|
|
|
pkgbase=bash
|
|
pkgname=('bash' 'bash-devel')
|
|
_basever=5.3
|
|
_patchlevel=009 #prepare for some patches
|
|
pkgver=${_basever}.${_patchlevel}
|
|
pkgrel=1
|
|
pkgdesc="The GNU Bourne Again shell"
|
|
arch=('i686' 'x86_64')
|
|
license=('GPL')
|
|
url="https://www.gnu.org/software/bash/bash.html"
|
|
msys2_repository_url="https://git.savannah.gnu.org/cgit/bash.git"
|
|
msys2_references=(
|
|
"cpe: cpe:/a:gnu:bash"
|
|
)
|
|
validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey
|
|
makedepends=('gettext-devel' 'libreadline-devel>=7.0' 'ncurses-devel' 'autotools' 'gcc')
|
|
source=(https://ftp.gnu.org/gnu/bash/bash-${_basever}.tar.gz{,.sig}
|
|
0001-bash-4.4-cygwin.patch
|
|
0002-bash-4.3-msysize.patch
|
|
0005-bash-4.3-msys2-fix-lineendings.patch
|
|
0006-bash-4.3-add-pwd-W-option.patch
|
|
0007-fix-static-build.patch)
|
|
if [ $_patchlevel -gt 000 ]; then
|
|
for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
|
|
source=(${source[@]} https://ftp.gnu.org/gnu/bash/bash-${_basever}-patches/bash${_basever//./}-$(printf "%03d" $p){,.sig})
|
|
done
|
|
fi
|
|
noextract=(${pkgbase}-${_basever}.tar.gz)
|
|
validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey
|
|
|
|
prepare() {
|
|
[[ -d ${pkgbase}-${_basever} ]] && rm -rf ${pkgbase}-${_basever}
|
|
tar -xzvf ${srcdir}/${pkgbase}-${_basever}.tar.gz || true
|
|
cd ${srcdir}/${pkgname}-${_basever}
|
|
|
|
for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
|
|
msg "applying patch bash${_basever//./}-$(printf "%03d" $p)"
|
|
patch -p0 -i $srcdir/bash${_basever//./}-$(printf "%03d" $p)
|
|
done
|
|
|
|
patch -p1 -i ${srcdir}/0001-bash-4.4-cygwin.patch
|
|
patch -p1 -i ${srcdir}/0002-bash-4.3-msysize.patch
|
|
patch -p1 -i ${srcdir}/0005-bash-4.3-msys2-fix-lineendings.patch
|
|
patch -p1 -i ${srcdir}/0006-bash-4.3-add-pwd-W-option.patch
|
|
patch -p1 -i ${srcdir}/0007-fix-static-build.patch
|
|
|
|
autoconf
|
|
}
|
|
|
|
build() {
|
|
cd ${srcdir}/${pkgname}-$_basever
|
|
|
|
export MSYSTEM=CYGWIN
|
|
./configure --build=${CHOST} \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--enable-static-link \
|
|
--enable-readline \
|
|
--without-libintl-prefix \
|
|
--without-libiconv-prefix \
|
|
--with-installed-readline \
|
|
--without-bash-malloc \
|
|
--with-curses \
|
|
bash_cv_dev_stdin=present \
|
|
bash_cv_dev_fd=standard \
|
|
bash_cv_termcap_lib=libncurses
|
|
|
|
# Prepopulate the release level.
|
|
expr ${pkgrel} > .build || :
|
|
|
|
# CFLAGS+=" -D_STATIC_BUILD"
|
|
make CPPFLAGS=-DWORDEXP_OPTION \
|
|
HISTORY_LDFLAGS= \
|
|
READLINE_LDFLAGS= \
|
|
LOCAL_LDFLAGS='-Wl,--export-all,--out-implib,lib$(@:.exe=.dll.a)'
|
|
}
|
|
|
|
check() {
|
|
cd ${srcdir}/${pkgname}-$_basever
|
|
make check
|
|
}
|
|
|
|
package_bash() {
|
|
provides=('sh')
|
|
|
|
cd ${srcdir}/${pkgname}-$_basever
|
|
make DESTDIR=${pkgdir} install
|
|
|
|
cp -fp ${pkgdir}/usr/bin/{ba,}sh.exe
|
|
|
|
cd ${pkgdir}/usr/share/man/man1 > /dev/null
|
|
echo '.so man1/bash.1' > sh.1
|
|
echo '.so man1/bash_builtins.1.gz' > alias.1
|
|
|
|
gzip alias.1
|
|
for f in bg bind break builtin caller case cd command compgen complete \
|
|
continue declare dirs disown do done elif else enable esac eval exec \
|
|
exit export fc fg fi for function getopts hash help history if in jobs \
|
|
let local logout popd pushd read readonly return select set shift shopt \
|
|
source suspend then time times trap type typeset ulimit umask unalias \
|
|
unset until wait while [ ; do
|
|
cp -fp alias.1.gz $f.1.gz
|
|
done
|
|
}
|
|
|
|
package_bash-devel() {
|
|
pkgdesc="Bash headers and libraries"
|
|
groups=('development')
|
|
options=('staticlibs')
|
|
backup=()
|
|
|
|
mkdir -p ${pkgdir}/usr/{include,lib,bin}
|
|
cd ${srcdir}/bash-$_basever
|
|
cp -f libbash.dll.a ${pkgdir}/usr/lib/
|
|
|
|
mkdir -p ${pkgdir}/usr/include/bash
|
|
for f in [^y]*.h builtins/*.h include/*.h lib/{glob,tilde}/*.h
|
|
do
|
|
/usr/bin/install ${f} ${pkgdir}/usr/include/bash
|
|
done
|
|
}
|
|
|
|
sha256sums=('0d5cd86965f869a26cf64f4b71be7b96f90a3ba8b3d74e27e8e9d9d5550f31ba'
|
|
'SKIP'
|
|
'd46e6b06167af61cc8639236948daf6fd57db418893330bef728efd4acc40430'
|
|
'16584e119db9418030912171f89aecae319858ecd357d3e56c95eba83667dae7'
|
|
'696e38540a9abfbf217d6dd17b2c6ffe274b9383815c5db76ce118fdddabd777'
|
|
'500c75c64593a70276585345a55c807226c0cc220d08b7cccece2ab005b3bcea'
|
|
'cbae1aa81d56eba4e916bdaf2b2983731d6e2537dd8d606a3b378e49bcb81e79'
|
|
'1f608434364af86b9b45c8b0ea3fb3b165fb830d27697e6cdfc7ac17dee3287f'
|
|
'SKIP'
|
|
'e385548a00130765ec7938a56fbdca52447ab41fabc95a25f19ade527e282001'
|
|
'SKIP'
|
|
'f245d9c7dc3f5a20d84b53d249334747940936f09dc97e1dcb89fc3ab37d60ed'
|
|
'SKIP'
|
|
'9591d245045529f32f0812f94180b9d9ce9023f5a765c039b852e5dfc99747d0'
|
|
'SKIP'
|
|
'cca1ef52dbbf433bc98e33269b64b2c814028efe2538be1e2c9a377da90bc99d'
|
|
'SKIP'
|
|
'29119addefed8eff91ae37fd51822c31780ee30d4a28376e96002706c995ff10'
|
|
'SKIP'
|
|
'c0976bbfffa1453c7cfdd62058f206a318568ff2d690f5d4fa048793fa3eb299'
|
|
'SKIP'
|
|
'097cd723cbfb8907674ac32214063a3fd85282657ec5b4e544d2c0f719653fb4'
|
|
'SKIP'
|
|
'eee30fe78a4b0cb2fe20e010e00308899cfc613e0774ebb3c8557a1552f24f8c'
|
|
'SKIP')
|