136 lines
4.2 KiB
Text
136 lines
4.2 KiB
Text
# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
|
|
# Maintainer: Thore Bödecker <foxxx0@archlinux.org>
|
|
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
|
# Contributor: Andreas Radke <andyrtr@archlinux.org>
|
|
# Contributor: Paul Mattal <paul@mattal.com>
|
|
# Contributor: Federico Quagliata (quaqo) <quaqo@despammed.com>
|
|
# Contributor: GARETTE Emmanuel <gnunux at laposte dot net>
|
|
# Contributor: Phillip Schichtel <phillip@schich.tel>
|
|
|
|
# --->>> remember to rebuild/bump the following packages TOGETHER with a new dovecot ABI:
|
|
# +pigeonhole
|
|
# +dovecot-fts-elastic
|
|
# +dovecot-fts-xapian
|
|
|
|
pkgname=dovecot
|
|
pkgver=2.3.20
|
|
pkgrel=4
|
|
|
|
pkgdesc="An IMAP and POP3 server written with security primarily in mind"
|
|
url="https://dovecot.org/"
|
|
arch=('x86_64')
|
|
license=("LGPL")
|
|
|
|
depends=('krb5' 'openssl' 'sqlite' 'mariadb-libs' 'libsodium'
|
|
'postgresql-libs' 'bzip2' 'lz4' 'expat' 'curl' 'pam' 'systemd-libs')
|
|
makedepends=('libcap' 'libldap' 'lua53' 'xz' 'clucene' 'systemd')
|
|
optdepends=('libldap: ldap plugin'
|
|
'lua53: LUA auth and push support'
|
|
'clucene: alternative FTS indexer')
|
|
|
|
provides=('imap-server' 'pop3-server')
|
|
|
|
backup=('etc/pam.d/dovecot')
|
|
|
|
# LTO seems to cause issues with at least up to 2.3.17.1
|
|
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997513
|
|
# TODO regularly check if upstream has implemented in-code fixes w.r.t. LTO
|
|
options=('!emptydirs' '!lto')
|
|
|
|
source=("https://dovecot.org/releases/2.3/${pkgname}-${pkgver}.tar.gz"{,.sig}
|
|
'dovecot-2.3.14-opensslv3.patch'
|
|
'dovecot.sysusersd'
|
|
'dovecot.tmpfilesd'
|
|
'dovecot.ld.so.conf'
|
|
'dovecot.pam')
|
|
|
|
sha256sums=('caa832eb968148abdf35ee9d0f534b779fa732c0ce4a913d9ab8c3469b218552'
|
|
'SKIP'
|
|
'356e5761dc9161283cb795e62997c807ca081f4b42b443001cce07c03c47876d'
|
|
'c5e3a8ffe23e5deb4f7893d9877d972347c2ee45c4ebf713de85c537e47cfcaf'
|
|
'0b0625b1e66ca6a95d506fd00d6a68e70620c8ea28606e2528953ffb1806b08e'
|
|
'a457a1691cfa82495fc0503bfa4b61e54b149e63400fe0f568dff2c24a3f7858'
|
|
'ad9245f5e916480edd67139603cbe52e7a868233075f900ab63a0ce58f03741a')
|
|
|
|
validpgpkeys=(
|
|
'E643F0BDFDCD04D9FFCB6279C948525140558AC9' # Timo Sirainen <tss@iki.fi>
|
|
'2BE74AAB3EE754DFB9C80D3318A348AEED409DA1' # Dovecot Community Edition
|
|
)
|
|
|
|
prepare() {
|
|
cd "${pkgname}-${pkgver}"
|
|
patch -Np1 -i ../dovecot-2.3.14-opensslv3.patch
|
|
|
|
# fix path in helper script
|
|
sed -i 's:OPENSSLCONFIG=${OPENSSLCONFIG-dovecot-openssl.cnf}:OPENSSLCONFIG=${OPENSSLCONFIG- /etc/ssl/dovecot-openssl.cnf}:' doc/mkcert.sh
|
|
}
|
|
|
|
build() {
|
|
cd "${pkgname}-${pkgver}"
|
|
|
|
# this uses malloc_usable_size, which is incompatible with fortification level 3
|
|
export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
|
|
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
|
|
|
|
./configure \
|
|
--prefix=/usr \
|
|
--sbindir=/usr/bin \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--libexecdir=/usr/lib \
|
|
--with-rundir=/run/dovecot \
|
|
--with-moduledir=/usr/lib/dovecot/modules \
|
|
--disable-static \
|
|
--with-nss \
|
|
--with-pam \
|
|
--with-sqlite \
|
|
--with-pgsql \
|
|
--with-mysql \
|
|
--with-ssl=openssl \
|
|
--with-ssldir=/etc/ssl \
|
|
--with-gssapi \
|
|
--with-ldap=plugin \
|
|
--with-lua=plugin \
|
|
--with-zlib \
|
|
--with-bzlib \
|
|
--with-lzma \
|
|
--with-lz4 \
|
|
--with-zstd \
|
|
--with-lucene \
|
|
--with-solr \
|
|
--with-sodium \
|
|
--with-libcap \
|
|
--with-docs
|
|
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
|
|
make
|
|
}
|
|
|
|
check() {
|
|
cd "${pkgname}-${pkgver}"
|
|
make check
|
|
}
|
|
|
|
package() {
|
|
# system user/group dovenull - 74
|
|
# system user/group dovecot - 76
|
|
|
|
cd "${pkgname}-${pkgver}"
|
|
make DESTDIR="$pkgdir" install
|
|
install -Dm644 "${srcdir}/dovecot.sysusersd" \
|
|
"${pkgdir}/usr/lib/sysusers.d/dovecot.conf"
|
|
install -Dm644 "${srcdir}/dovecot.tmpfilesd" \
|
|
"${pkgdir}/usr/lib/tmpfiles.d/dovecot.conf"
|
|
install -d -m755 "${pkgdir}/etc/dovecot/conf.d"
|
|
rm -f "${pkgdir}/etc/dovecot/README"
|
|
|
|
# install mkcert helper script
|
|
install -m 755 doc/mkcert.sh "${pkgdir}/usr/lib/dovecot/mkcert.sh"
|
|
|
|
# add dovecot libdir
|
|
install -Dm644 "${srcdir}/dovecot.ld.so.conf" "${pkgdir}/etc/ld.so.conf.d/dovecot.conf"
|
|
|
|
# install PAM snippet for dovecot
|
|
install -Dm644 "${srcdir}/dovecot.pam" "${pkgdir}/etc/pam.d/dovecot"
|
|
}
|