# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Giancarlo Razzolini <grazzolini@archlinux.org>
# Contributor:  Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>

pkgname=readline
_basever=8.3
_patchlevel=001
pkgver=${_basever}.${_patchlevel}
pkgrel=1
pkgdesc='GNU readline library'
arch=('x86_64' 'aarch64')
url='https://tiswww.case.edu/php/chet/readline/rltop.html'
license=('GPL-3.0-or-later')
backup=('etc/inputrc')
depends=(
  glibc
  libncursesw.so
  ncurses
)
provides=(
  libhistory.so
  libreadline.so
)
options=('!emptydirs')
source=(
  https://ftpmirror.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig}
  https://ftpmirror.gnu.org/gnu/readline/readline-8.3-patches/readline83-001{,.sig}
  8.3.0-display-null-prompt.patch
  inputrc
    )
b2sums=('45d6fe7e34c56d309102a94aa776a7f5284201e844450e14ff818df9fa84a72154bdca70f11828c94954b080cbbe4666fa0b00ffa8460118ec8f3ea551b73dad'
        'SKIP'
        'b0953458a18b8b06b0086567abd3c9ca3efceb5e4c38271e62137e126c106b938945d956394de0e955ecea5d48f8b261a4f2f3db2ee1d2cbc3b4cfdcf213ca46'
        'SKIP'
        '5dd79798607d477ba626e4aeeb4a80865b997edba00fb1774c802ecaa0617ad9a9c0903b1b84cf9896737d838ffe216e5106372e62e8ffa600e53037cfaffbea'
        '50db43bff430f282175aba4c4259e0b2222bc7e342fbe47b9dcce0172458472e72aebb9852eeafa4d10d4e89f2e1e8bb83b6b5dfc68eeababe699d4b5eae80f7'
        'b0953458a18b8b06b0086567abd3c9ca3efceb5e4c38271e62137e126c106b938945d956394de0e955ecea5d48f8b261a4f2f3db2ee1d2cbc3b4cfdcf213ca46'
        'SKIP')
validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey

if [ $_patchlevel -gt 0 ]; then
    for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do
        source=(${source[@]} https://ftpmirror.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//.}-$(printf "%03d" $_p){,.sig})
    done
fi

prepare() {
  cd $pkgname-$_basever
  for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do
    msg "applying patch readline${_basever//.}-$(printf "%03d" $_p)"
    patch -p0 -i ../readline${_basever//.}-$(printf "%03d" $_p)
  done

  # fix iwctl crashing, issue number #1
  # upstream: https://lists.gnu.org/archive/html/bug-readline/2025-07/msg00007.html
  patch -Np2  -i ../8.3.0-display-null-prompt.patch

  # remove RPATH from shared objects (FS#14366)
  sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
}

build() {
  cd $pkgname-$_basever

  # build with -fPIC for x86_64 (FS#15634)
  [[ $CARCH == "x86_64" ]] && CFLAGS="$CFLAGS -fPIC"

  ./configure --prefix=/usr
  make SHLIB_LIBS=-lncurses
}

package() {
  make -C $pkgname-$_basever DESTDIR="$pkgdir" install
  install -Dm644 inputrc "$pkgdir"/etc/inputrc
}
