# Maintainer: Alexey Pavlov <alexpux@gmail.com>

_realname=readline
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
_basever=8.1
_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' 'clang32' 'clangarm64')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
         #"${MINGW_PACKAGE_PREFIX}-ncurses"
         "${MINGW_PACKAGE_PREFIX}-termcap"
        )
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
options=('staticlibs' 'strip')
license=('GPL')
url="https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html"
source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${_basever}.tar.gz"{,.sig}
        "0001-sigwinch.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=('f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02'
            'SKIP'
            '7a21964587484c5aab0d3e614d0131294ac99894d4864c248e4a91b72772ff96'
            '682a465a68633650565c43d59f0b8cdf149c13a874682d3c20cb4af6709b9144'
            'SKIP')

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

  # Patch adopted from https://hg.octave.org/mxe-octave/file/41e50d658de0/src/readline-1-sigwinch.patch
  patch -p1 -i ${srcdir}/0001-sigwinch.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-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
  mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
  ../${_realname}-${_basever}/configure \
    --prefix=${MINGW_PREFIX} \
    --host=${MINGW_CHOST} \
    --target=${MINGW_CHOST} \
    --build=${MINGW_CHOST} \
    --enable-shared \
    --without-curses
  make
}

package() {
  cd "${srcdir}/build-${MINGW_CHOST}"
  make install DESTDIR="${pkgdir}"
}
