# Maintainer: Alexey Pavlov # Contributor: Ray Donnelly 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')