98 lines
3.4 KiB
Bash
98 lines
3.4 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
|
|
_realname=readline
|
|
pkgbase=mingw-w64-${_realname}
|
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
|
_basever=8.3
|
|
_patchlevel=001
|
|
pkgver=${_basever}.${_patchlevel}
|
|
pkgrel=1
|
|
pkgdesc="MinGW port of readline for editing typed command lines (mingw-w64)"
|
|
arch=('any')
|
|
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
|
url="https://tiswww.case.edu/php/chet/readline/rltop.html"
|
|
msys2_repository_url="https://git.savannah.gnu.org/cgit/readline.git"
|
|
msys2_references=(
|
|
"cpe: cpe:/a:gnu:readline"
|
|
)
|
|
license=('spdx:GPL-3.0-or-later')
|
|
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
|
|
#"${MINGW_PACKAGE_PREFIX}-ncurses"
|
|
"${MINGW_PACKAGE_PREFIX}-termcap"
|
|
)
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools")
|
|
source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${_basever}.tar.gz"{,.sig}
|
|
# Patch adopted from https://hg.octave.org/mxe-octave/file/41e50d658de0/src/readline-1-sigwinch.patch
|
|
"0001-sigwinch.patch"
|
|
# Patch adopted from https://hg.octave.org/mxe-octave/file/41e50d658de0/src/readline-2-event-hook.patch
|
|
"0002-event-hook.patch"
|
|
"0003-no-winsize.patch"
|
|
"0004-locale.patch")
|
|
if [ ${_patchlevel} -gt 00 ]; then
|
|
for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
|
|
source=(${source[@]} https://ftp.gnu.org/gnu/${_realname}/${_realname}-${_basever}-patches/readline${_basever//./}-$(printf "%03d" $p){,.sig})
|
|
done
|
|
fi
|
|
validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB')
|
|
sha256sums=('fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc'
|
|
'SKIP'
|
|
'2b30dcb0804abb6e7e4f44cd119bddef94c1b1d7ebff43dda401e710eda2fd0f'
|
|
'd537a4b137ef605e6494e4ebf083fa7958166963911d4426791c258488e3a4af'
|
|
'20a2e2501718ca1c9db96d99a2e0e30e9a4a069fe01d27053e542e42dbc49e5a'
|
|
'72ed438ae142ba9d5498652dfdf4fb517265bcf9a67199b7c5b35cc24fa25b9e'
|
|
'21f0a03106dbe697337cd25c70eb0edbaa2bdb6d595b45f83285cdd35bac84de'
|
|
'SKIP')
|
|
|
|
apply_patch_with_msg() {
|
|
for _patch in "$@"
|
|
do
|
|
msg2 "Applying $_patch"
|
|
patch -Np1 -i "${srcdir}/$_patch"
|
|
done
|
|
}
|
|
|
|
prepare() {
|
|
cd "${srcdir}/readline-${_basever}"
|
|
# Apply upstream patches
|
|
for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
|
|
msg "applying patch readline${_basever//./}-$(printf "%03d" $p)"
|
|
patch -Np0 -i "${srcdir}"/readline${_basever//./}-$(printf "%03d" $p)
|
|
done
|
|
|
|
apply_patch_with_msg \
|
|
0001-sigwinch.patch \
|
|
0002-event-hook.patch \
|
|
0003-no-winsize.patch \
|
|
0004-locale.patch
|
|
|
|
# Remove RPATH from shared objects (FS#14366)
|
|
sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
|
|
# Fully spell out linker option
|
|
sed -i 's|-Wl,--export-all |-Wl,--export-all-symbols |g' support/shobj-conf
|
|
}
|
|
|
|
build() {
|
|
mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
|
|
|
export CFLAGS="$CFLAGS -DNEED_EXTERN_PC=1" # Use extern PC variable from libtermcap
|
|
# XXX: make mingw-w64 provide a dummy alarm() function
|
|
CFLAGS+=" -D__USE_MINGW_ALARM -D_POSIX"
|
|
|
|
../${_realname}-${_basever}/configure \
|
|
--prefix=${MINGW_PREFIX} \
|
|
--host=${MINGW_CHOST} \
|
|
--target=${MINGW_CHOST} \
|
|
--build=${MINGW_CHOST} \
|
|
--enable-shared \
|
|
--without-curses
|
|
|
|
make
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/build-${MSYSTEM}"
|
|
make install DESTDIR="${pkgdir}"
|
|
|
|
install -Dm644 "${srcdir}/${_realname}-${_basever}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
|
|
}
|