# Maintainer: Bruno Pagani <archange@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua
# Contributor: Michael Fellinger <m.fellinger@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - patch and rebuild rebar on AArch64

pkgname=couchdb
pkgver=2.1.1
pkgrel=3
pkgdesc="A document-oriented database that can be queried and indexed in a MapReduce fashion using JSON"
arch=('x86_64')
url="https://couchdb.apache.org"
license=('APACHE')
depends=('icu' 'js185' 'zlib')
makedepends=('erlang-nox')
install=${pkgname}.install
backup=('etc/couchdb/local.ini'
        'etc/couchdb/vm.args')
source=("https://www-eu.apache.org/dist/couchdb/source/${pkgver}/apache-couchdb-${pkgver}.tar.gz"{,.asc}
        "https://github.com/rebar/rebar/commit/f9b850c428dae6cf6673ff076d863d5b6c343569.patch"
        'couchdb.service'
        'couchdb.sysusers'
        'couchdb.tmpfiles'
        'datadirs.ini')
sha256sums=('d5f255abc871ac44f30517e68c7b30d1503ec0f6453267d641e00452c04e7bcc'
            'SKIP'
            'f9465e279b40adde6db8008c4c0366a700a04602bfa7f189c9ad6eac13754efa'
            'e2976dbdd2fb63fe8d09bee0d9c9a97e8785533d9c323276b4030354cb6d8957'
            '3ed1ad2a37a068ce194b03fb72eb35285d60fa7faf2d2c2bb710703d229108a8'
            '0ce806cbc5e18e60b17be9fd2cdbd4c7f12cc84ca95b079efdede16ddb5f3efd'
            '937ca3498aab47b3f2226d027fa8a1a95de55cbb463373099e28cb9a6c7046ac')
validpgpkeys=('2EC788AE3F239FA13E82D215CDE711289384AE37') # Joan Touzet (CODE SIGNING KEY) <wohali@apache.org>

prepare() {
    cd apache-couchdb-${pkgver}
    sed -i 's|$ROOTDIR/etc/vm.args|/etc/couchdb/vm.args|' rel/overlay/bin/couchdb

    if [[ $CARCH == aarch64 ]]; then
        cd src/rebar
        patch -p1 -i "$srcdir/f9b850c428dae6cf6673ff076d863d5b6c343569.patch"
        ./bootstrap
        cp rebar ../../bin
    fi
}

build() {
    cd apache-couchdb-${pkgver}
    ./configure
    make release
}

package() {
    cd apache-couchdb-${pkgver}
    install -dm755 "${pkgdir}"/usr/lib/
    install -dm755 "${pkgdir}"/etc/couchdb/

    cp -r rel/couchdb "${pkgdir}"/usr/lib/couchdb
    mv "${pkgdir}"/usr/lib/couchdb/etc/local.ini "${pkgdir}"/etc/couchdb/local.ini
    mv "${pkgdir}"/usr/lib/couchdb/etc/vm.args "${pkgdir}"/etc/couchdb/vm.args

    cd "${srcdir}"
    install -Dm644 ${pkgname}.service -t "${pkgdir}"/usr/lib/systemd/system/
    install -Dm644 ${pkgname}.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
    install -Dm644 ${pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
    install -Dm644 datadirs.ini -t "${pkgdir}"/usr/lib/couchdb/etc/
}