PKGBUILDs/extra/couchdb/PKGBUILD
2024-05-19 19:17:35 +00:00

91 lines
3.4 KiB
Bash

# 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 to disable LTO
pkgname=couchdb
pkgver=3.3.3
pkgrel=3
pkgdesc="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 js91 zlib)
optdepends=('erlang-nox: for weatherreport')
makedepends=(erlang-nox)
options=(!makeflags)
backup=(etc/couchdb/local.ini
etc/couchdb/vm.args
etc/default/couchdb)
source=("https://archive.apache.org/dist/${pkgname}/source/${pkgver}/apache-${pkgname}-${pkgver}.tar.gz"{,.asc}
https://github.com/davisp/jiffy/archive/1.1.1/jiffy-1.1.1.tar.gz
erlang-26.patch
erlang-26-compatibilty.patch
couchdb.default
couchdb.service
couchdb.sysusers
couchdb.tmpfiles
arm.patch)
sha256sums=('7a2007b5f673d4be22a25c9a111d9066919d872ddb9135a7dcec0122299bd39e'
'SKIP'
'a999351d956d3ed10c33a6dd7e9435e674e519b5b82a46d60361afdb83062fd8'
'bb1d55bc3643b0c03536efcc136719f3c2c51dd7cb3bbf763c613d25e9169a79'
'ec18cdf8b0e7287db0467385797b5fe11f17701ab10df631cb74b6e56099bf5e'
'0d21fdd7851b3a6fa099b030cab0e96705b1d5a3a83a4ff1c871814d8742cae9'
'6ab3d362f3fcd9079036c883dc09dc597584cb627831460f2e0c68a31aa052ae'
'3ed1ad2a37a068ce194b03fb72eb35285d60fa7faf2d2c2bb710703d229108a8'
'7331b9675e3668c5f0d632bee5d154c061cc3e60d451bef3dc0d0ab2dadfa006'
'2da85e0107a9dc6606dc349e7f89d5634749e54890905cd76a062ac53dc205f9')
# https://downloads.apache.org/couchdb/KEYS
validpgpkeys=(2EC788AE3F239FA13E82D215CDE711289384AE37 # Joan Touzet (CODE SIGNING KEY) <wohali@apache.org>
D2B17F9DA23C0A10991AF2E3D9EE01E47852AEE4 # Jan Lehnardt <jan@apache.org>
0BD7A98499C4AB41C910EE65FC04DFBC9657A78E) # Nick Vatamaniuc <vatamane@gmail.com>
prepare() {
cd apache-couchdb-${pkgver}
sed -i 's|./data|/var/lib/couchdb|' configure
# force recompilation of "rebar" with current erlang
rm bin/rebar
# use newer jiffy which doesn't ship an "enc" binary
rm -r src/jiffy
mv ../jiffy-1.1.1 src/jiffy
patch -Np1 <../erlang-26.patch
# make it compile against erlang 26
# part of https://github.com/apache/couchdb/pull/4581
patch -Np1 <../erlang-26-compatibilty.patch
patch -p1 -i ../arm.patch
}
build() {
cd apache-couchdb-${pkgver}
./configure --spidermonkey-version 91 #--help
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/{default.ini,local.ini,vm.args} "${pkgdir}"/etc/couchdb/
cd "${srcdir}"
install -Dm644 ${pkgname}.default "${pkgdir}"/etc/default/${pkgname}
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
# Remove some cruft
rm -r "${pkgdir}"/usr/lib/couchdb/erts-*/{doc,include,lib,man,src}
rm -rv "${pkgdir}"/usr/lib/couchdb/etc/
rm -rv "${pkgdir}"/usr/lib/couchdb/lib/couch-${pkgver}/priv/couch_{ejson_compare,js}
}