# Maintainer: Alexey Pavlov _realname=readline pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" _basever=8.2 _patchlevel=010 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' 'clang32' 'clangarm64') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" #"${MINGW_PACKAGE_PREFIX}-ncurses" "${MINGW_PACKAGE_PREFIX}-termcap" ) makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('staticlibs' 'strip') license=('spdx:GPL-3.0-or-later') 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" ) 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-fd_set.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=('3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35' 'SKIP' '2b30dcb0804abb6e7e4f44cd119bddef94c1b1d7ebff43dda401e710eda2fd0f' '5a5ab63e87a025af39b3e5101b171d16bd5d227f350f036a32193496d12bcbe2' '6329d02c9e151951136a31cce036f952f95f80a63d60694539839b9c706857e9' '72ed438ae142ba9d5498652dfdf4fb517265bcf9a67199b7c5b35cc24fa25b9e' 'bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7' 'SKIP' 'e06503822c62f7bc0d9f387d4c78c09e0ce56e53872011363c74786c7cd4c053' 'SKIP' '24f587ba46b46ed2b1868ccaf9947504feba154bb8faabd4adaea63ef7e6acb0' 'SKIP' '79572eeaeb82afdc6869d7ad4cba9d4f519b1218070e17fa90bbecd49bd525ac' 'SKIP' '622ba387dae5c185afb4b9b20634804e5f6c1c6e5e87ebee7c35a8f065114c99' 'SKIP' 'c7b45ff8c0d24d81482e6e0677e81563d13c74241f7b86c4de00d239bc81f5a1' 'SKIP' '5911a5b980d7900aabdbee483f86dab7056851e6400efb002776a0a4a1bab6f6' 'SKIP' 'a177edc9d8c9f82e8c19d0630ab351f3fd1b201d655a1ddb5d51c4cee197b26a' 'SKIP' '3d9885e692e1998523fd5c61f558cecd2aafd67a07bd3bfe1d7ad5a31777a116' 'SKIP' '758e2ec65a0c214cfe6161f5cde3c5af4377c67d820ea01d13de3ca165f67b4c' '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-fd_set.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() { [[ -d ${srcdir}/build-${MSYSTEM} ]] && rm -rf ${srcdir}/build-${MSYSTEM} 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" }