# Maintainer: Alexander Rosenberg <zanderpkg at pm dot me>

_pkgname='icl'
pkgname=cl-$_pkgname-git
pkgver=v1.23.13.0.g17fc7a4
pkgrel=1
pkgdesc='Interactive Common Lisp: an enhanced REPL'
url='https://github.com/atgreen/icl'
arch=('any')
license=('MIT')
provides=('cl-icl')
makedepends=('ocicl' 'sbcl' 'libfixposix')
source=('git+https://github.com/atgreen/icl.git')
sha256sums=('SKIP')
options=(!strip)

pkgver(){
  cd "icl"
  git describe --tags --long | sed 's#-#.#g'
}

prepare() {
    cd icl
    ocicl install
}

build() {
    cache="${PWD}/cache"
    cd icl
    # redirect the compile cache to the current directory
    XDG_CACHE_HOME="${cache}" make
}

_find_osicat() {
    find "${PWD}/cache" -name libosicat.so -exec dirname '{}' \;
}

package() {
    # binary
    install -Dt "$pkgdir/usr/bin/" icl/icl
    # man page
    install -m 0644 -Dt "$pkgdir/usr/share/man/man1/" icl/man/icl.1
    # emacs library
    install -m 0644 -Dt "$pkgdir/usr/share/emacs/site-lisp/icl/" \
            icl/emacs/icl.el icl/emacs/icl-autoloads.el
    # osicat library
    find "${PWD}/cache" -name libosicat.so -exec \
         install -m 0644 -Dt "$pkgdir/usr/lib/icl/" '{}' \;
    # ldconfig configuration
    mkdir -p "$pkgdir/usr/lib/ld.so.conf.d/"
    echo "/usr/lib/icl" >"$pkgdir/usr/lib/ld.so.conf.d/icl.conf"
    # bash comkpletions
    install -m 0644 -Dt "$pkgdir/usr/share/bash/bash-completion/completions/" \
            icl/completions/icl.bash
    # install license
    install -m 0644 -Dt "$pkgdir/usr/share/licenses/cl-icl/" \
            icl/assets/OPEN-SOURCE-NOTICES.txt icl/LICENSE
    # bundled ASDF
    install -m 0644 -Dt "$pkgdir/usr/share/icl/asdf/" icl/3rd-party/asdf/asdf.lisp
}
