Merge updates from master

This commit is contained in:
Repository mirror & CI
2022-07-11 04:31:44 +00:00
8 changed files with 237 additions and 625 deletions

View File

@@ -4,7 +4,7 @@
# @ECLASS: epatch.eclass
# @MAINTAINER:
# base-system@gentoo.org
# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6
# @SUPPORTED_EAPIS: 5 6
# @BLURB: easy patch application functions
# @DEPRECATED: eapply from EAPI 7
# @DESCRIPTION:
@@ -13,11 +13,11 @@
if [[ -z ${_EPATCH_ECLASS} ]]; then
case ${EAPI:-0} in
0|1|2|3|4|5|6)
case ${EAPI} in
5|6)
;;
*)
die "${ECLASS}: banned in EAPI=${EAPI}; use eapply* instead";;
die "${ECLASS}: EAPI ${EAPI:-0} not supported";;
esac
inherit estack
@@ -52,10 +52,6 @@ EPATCH_COMMON_OPTS="-g0 -E --no-backup-if-mismatch"
# List of patches not to apply. Note this is only file names,
# and not the full path. Globs accepted.
EPATCH_EXCLUDE=""
# @VARIABLE: EPATCH_SINGLE_MSG
# @DESCRIPTION:
# Change the printed message for a single patch.
EPATCH_SINGLE_MSG=""
# @VARIABLE: EPATCH_MULTI_MSG
# @DESCRIPTION:
# Change the printed message for multiple patches.
@@ -235,13 +231,9 @@ epatch() {
fi
if [[ ${SINGLE_PATCH} == "yes" ]] ; then
if [[ -n ${EPATCH_SINGLE_MSG} ]] ; then
einfo "${EPATCH_SINGLE_MSG}"
else
einfo "Applying ${patchname} ..."
fi
ebegin "Applying ${patchname}"
else
einfo " ${patchname} ..."
ebegin " ${patchname}"
fi
# Handle aliased patch command #404447 #461568

View File

@@ -1,2 +1,3 @@
DIST audacious-plugins-4.0.5.tar.bz2 1759133 BLAKE2B b806ac110875f94f6e0f1db757d2ec0c7a0391f83efeb068f3e79c7e994fa33d0045095669b5e7ec771714419aaa98b0d0125a5dd18a00f4ee23fc899142858f SHA512 90ab2edbfc797fa835aae9937b5f478a0ca575f31c443d9e8ba7394e1615f605beb417372872874c94d4f804dba7bea9fbae2078e162178386683d8a3e36c108
DIST audacious-plugins-4.1.tar.bz2 1802825 BLAKE2B 253fddf82408708d8094836088bec1b9b7c932e75c959443579e4bbdc3a4b850757328d90b1ab7a6a0bdd85120d4b0a901f9fa22638f90938f19fd0fa35012ba SHA512 4adad3b4e9c264d52c6523fe84db56b9a87476a4ad5a86f85456a7e0276758d61675022e9e3da07e061dac45f604e54f83f9db85a37f0aaf0b75b3356a63932f
DIST audacious-plugins-4.2.tar.bz2 1947472 BLAKE2B 405fe7d30f190590955e66540595059869aed920b5cbaffa84439a336b20e6016c704dd3d3775521bde5c3bef0954aae96d72587d6c383966d63dd955b7a6b4a SHA512 632f1ac90c3a079bb92120e4bc6ef6b13f3f809f150809a64569fae49c908dafeb30e16a34d18bb081e099fe2a252a7ed8b76da129ffa0d51b16216f0b6d1282

View File

@@ -0,0 +1,162 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="${P/_/-}"
DESCRIPTION="Lightweight and versatile audio player"
HOMEPAGE="https://audacious-media-player.org/"
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
KEYWORDS="~amd64 ~riscv ~x86"
LICENSE="GPL-2"
SLOT="0"
IUSE="
aac +alsa ampache bs2b cdda cue ffmpeg flac fluidsynth gme http jack
openmpt lame libnotify libsamplerate lirc mms modplug mp3 nls opengl
pulseaudio scrobbler sdl sid sndfile soxr speedpitch streamtuner vorbis
wavpack
"
REQUIRED_USE="ampache? ( http ) streamtuner? ( http )"
# The following plugins REQUIRE a GUI build of audacious, because non-GUI
# builds do NOT install the libaudgui library & headers.
# Plugins without a configure option:
# alarm
# albumart
# delete-files
# ladspa
# playlist-manager
# search-tool
# skins
# vtx
# Plugins with a configure option:
# glspectrum
# gtkui
# hotkey
# notify
# statusicon
BDEPEND="
dev-util/gdbus-codegen
virtual/pkgconfig
nls? ( dev-util/intltool )
"
DEPEND="
app-arch/unzip
dev-libs/glib:2
dev-libs/libxml2:2
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtwidgets:5
~media-sound/audacious-${PV}
sys-libs/zlib
x11-libs/gdk-pixbuf:2
aac? ( >=media-libs/faad2-2.7 )
alsa? ( >=media-libs/alsa-lib-1.0.16 )
ampache? ( =media-libs/ampache_browser-1* )
bs2b? ( media-libs/libbs2b )
cdda? (
dev-libs/libcdio:=
dev-libs/libcdio-paranoia:=
>=media-libs/libcddb-1.2.1
)
cue? ( media-libs/libcue:= )
ffmpeg? ( >=media-video/ffmpeg-0.7.3 )
flac? (
>=media-libs/flac-1.2.1-r1
>=media-libs/libvorbis-1.0
)
fluidsynth? ( media-sound/fluidsynth:= )
http? ( >=net-libs/neon-0.26.4 )
jack? (
>=media-libs/bio2jack-0.4
virtual/jack
)
lame? ( media-sound/lame )
libnotify? ( x11-libs/libnotify )
openmpt? ( media-libs/libopenmpt )
libsamplerate? ( media-libs/libsamplerate:= )
lirc? ( app-misc/lirc )
mms? ( >=media-libs/libmms-0.3 )
modplug? ( media-libs/libmodplug )
mp3? ( >=media-sound/mpg123-1.12.1 )
opengl? ( dev-qt/qtopengl:5 )
pulseaudio? ( >=media-sound/pulseaudio-0.9.3 )
scrobbler? ( net-misc/curl )
sdl? ( media-libs/libsdl2[sound] )
sid? ( >=media-libs/libsidplayfp-1.0.0 )
sndfile? ( >=media-libs/libsndfile-1.0.17-r1 )
soxr? ( media-libs/soxr )
speedpitch? ( media-libs/libsamplerate:= )
streamtuner? ( dev-qt/qtnetwork:5 )
vorbis? (
>=media-libs/libogg-1.1.3
>=media-libs/libvorbis-1.2.0
)
wavpack? ( >=media-sound/wavpack-4.50.1-r1 )
"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
use mp3 || ewarn "MP3 support is optional, you may want to enable the mp3 USE-flag"
}
src_prepare() {
default
if ! use nls; then
sed -e "/SUBDIRS/s/ po//" -i Makefile || die "Failed to sed" # bug #512698
fi
}
src_configure() {
local myeconfargs=(
--enable-mpris2
--enable-qt
--enable-qtaudio
--enable-songchange
--disable-adplug # not packaged
--disable-gtk
--disable-oss4
--disable-coreaudio
--disable-sndio
$(use_enable aac)
$(use_enable alsa)
$(use_enable ampache)
$(use_enable bs2b)
$(use_enable cdda cdaudio)
$(use_enable cue)
$(use_enable ffmpeg ffaudio)
$(use_enable flac)
$(use_enable flac filewriter)
$(use_enable fluidsynth amidiplug)
$(use_enable gme console)
$(use_enable http neon)
$(use_enable jack)
$(use_enable lame filewriter_mp3)
$(use_enable libnotify notify)
$(use_enable openmpt openmpt)
$(use_enable libsamplerate resample)
$(use_enable lirc)
$(use_enable mms)
$(use_enable modplug)
$(use_enable mp3 mpg123)
$(use_enable nls)
$(use_enable opengl qtglspectrum)
$(use_enable pulseaudio pulse)
$(use_enable scrobbler scrobbler2)
$(use_enable sdl sdlout)
$(use_enable sid)
$(use_enable sndfile)
$(use_enable soxr)
$(use_enable speedpitch)
$(use_enable streamtuner)
$(use_enable vorbis)
$(use_enable wavpack)
)
econf "${myeconfargs[@]}"
}

View File

@@ -1,3 +1,4 @@
DIST audacious-4.0.5.tar.bz2 577422 BLAKE2B a65810baf0f733327a3e37e6efd2af3d35245b1e99936a4cd39d8068e0df06779ab3c08e839e4b3586f70bec2d16a605c62328f863f747247181851ac7c151c2 SHA512 4be7ebeee937f9b29931a28e1d80782b9df8beec70eab3917f5adccd0bf02aa6003a5b8361359b792edac2d2f31a257b853db43d59dd0674e5a3fbec7e7c1e46
DIST audacious-4.1.tar.bz2 586472 BLAKE2B baed9f47ddca9b6a4668da542483e8ead049126383e8d1b090b29153b698cc83042ce0620bc5c3e78e59c599cb9f1be72b9c8d2e8c3c87f36fae45554a743b24 SHA512 6e603108c245a146c3bb360e99d85e949b25a50a4d97eca6a0519cb457a93e8d73131504ae10f86c34c0e9d98fb5fdf6660accc0bb3bb480332cb674ac27ac9f
DIST audacious-4.2.tar.bz2 612155 BLAKE2B 04a910288278fa27cb4848663ab74f9e523f3cbea7851e28f5e197035c4ad17281e9b0d5756602efb531a65aeb8e6b7abd7b11274af3353f6ac1d21a0bd4c47c SHA512 814bd865e87cf9bc39df07c9f9898eca1dd94d8b8299b2709f77046669ce12e9c31067d55084371f6797724e79872f7571b575cc766093ee2124b38b0409a853
DIST gentoo_ice-xmms-0.2.tar.bz2 51839 BLAKE2B d3bf8dbfee675dd588bc0258f1015c76877b6b0a3835813d8e9621d149b924aaa33544d07f7ad44a01c058d41d7480b3908b0773c124af33b6e020c376b13d54 SHA512 e863a8f86073007c47ce8c20739aae4bff22e22a7ddc11556b12ae6ebb68654cec7310fdc9d05f2c47f81cf2591fe601b2eb12a2fd911c0a6118c9f3cc524f05

View File

@@ -0,0 +1,67 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="${P/_/-}"
inherit xdg
DESCRIPTION="Lightweight and versatile audio player"
HOMEPAGE="https://audacious-media-player.org/"
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
SRC_URI+=" mirror://gentoo/gentoo_ice-xmms-0.2.tar.bz2"
KEYWORDS="~amd64 ~riscv ~x86"
LICENSE="BSD-2"
SLOT="0"
IUSE="nls"
BDEPEND="
virtual/pkgconfig
nls? ( dev-util/intltool )
"
DEPEND="
dev-libs/glib:2
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
virtual/freedesktop-icon-theme
"
RDEPEND="${DEPEND}"
PDEPEND="~media-plugins/audacious-plugins-${PV}"
S="${WORKDIR}/${MY_P}"
src_prepare() {
default
if ! use nls; then
sed -e "/SUBDIRS/s/ po//" -i Makefile || die "failed to sed" # bug #512698
fi
}
src_configure() {
# D-Bus is a mandatory dependency, remote control,
# session management and some plugins depend on this.
# Building without D-Bus is *unsupported* and a USE-flag
# will not be added due to the bug reports that will result.
# Bugs #197894, #199069, #207330, #208606
local myeconfargs=(
--disable-valgrind
--disable-gtk
--enable-dbus
--enable-qt
$(use_enable nls)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
# Gentoo_ice skin installation; bug #109772
insinto /usr/share/audacious/Skins/gentoo_ice
doins -r "${WORKDIR}"/gentoo_ice/.
docinto gentoo_ice
dodoc "${WORKDIR}"/README
}

View File

@@ -1,4 +1,2 @@
DIST dovecot-2.3-pigeonhole-0.5.18.tar.gz 1953892 BLAKE2B 478da07a2f507a3322c6b6035f8cb74a720c030cc9413496f90a793d165178617207e26b0b57f710a9b9c7671be3fffdbaccaacb8747198abf82943dcb4a24df SHA512 44c3d945a5aebb8935e6e46751e44f505f2abd529c31e3efb689d3b5b9cdf9bca4f5231fc42a8d19837cb95c7618f5b64dfdf5964f40a0a6987144a37cdbaaec
DIST dovecot-2.3-pigeonhole-0.5.19.tar.gz 1954148 BLAKE2B 0c52293f9447260f3e95f31c5ea3c04a1971b1a5621b56be1c79a8575aceb4f7e7fef62e7d0a3d980dcb5b8e1a8eeec543adcf0b016b65eb34ca4a26e8d2fe23 SHA512 5b0a61c7711232ea3651b818a970b500b05bd340a04bcd5a5f0ea0529eda65f498912a845c8f3b3b80196d010bc22bd4a380e1f682cb42f62b80d2d43a94993a
DIST dovecot-2.3.18.tar.gz 7763230 BLAKE2B ff3e0c2cad87d2e2632345a25825eebd0a6c1520376d85286453bde7505f22410d03911cd588a0d102b75f22cc1de051b01c43a57c90138340186e8cb024247a SHA512 b5eccf790a3960614876f122efb6296fe49ab7c523b08c10347fd4d10ed293fbd327279511c227b420f7c0786975186157eaa0fb5cd3aab1f3be9a4c5c3ad233
DIST dovecot-2.3.19.1.tar.gz 7790851 BLAKE2B 6826977a0febfcb56eb99baf6e0dc0a130fc24a14f113ca7ce0f72b26b8c9755d8352999c5965e21320a62621787e02428c99dd6888768e8c35a46e4082ba071 SHA512 ceb87a5f76b6352d28fd030aae5ad2165a133e9a8a6309891e793911203fc0ada9fb254dc05d183eaaa7e2b9851d3f1755b33f08fa6ff5b4b415ac4272bfe150

View File

@@ -1,307 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-1 lua5-3 )
# do not add a ssl USE flag. ssl is mandatory
SSL_DEPS_SKIP=1
inherit autotools flag-o-matic lua-single ssl-cert systemd toolchain-funcs
MY_P="${P/_/.}"
#MY_S="${PN}-ce-${PV}"
major_minor="$(ver_cut 1-2)"
sieve_version="0.5.18"
if [[ ${PV} == *_rc* ]]; then
rc_dir="rc/"
else
rc_dir=""
fi
SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
sieve? (
https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
)
managesieve? (
https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
) "
DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
HOMEPAGE="https://www.dovecot.org/"
SLOT="0"
LICENSE="LGPL-2.1 MIT"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite"
IUSE_DOVECOT_COMPRESS="lz4 zstd"
IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 lucene managesieve rpc
selinux sieve solr static-libs stemmer suid systemd tcpd textcat unwind"
IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
DEPEND="
app-arch/bzip2
app-arch/xz-utils
dev-libs/icu:=
dev-libs/openssl:0=
sys-libs/zlib:=
virtual/libiconv
argon2? ( dev-libs/libsodium:= )
caps? ( sys-libs/libcap )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
lua? ( ${LUA_DEPS} )
lucene? ( >=dev-cpp/clucene-2.3 )
lz4? ( app-arch/lz4 )
mysql? ( dev-db/mysql-connector-c:0= )
pam? ( sys-libs/pam:= )
postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
rpc? ( net-libs/libtirpc:= net-libs/rpcsvc-proto )
selinux? ( sec-policy/selinux-dovecot )
solr? ( net-misc/curl dev-libs/expat )
sqlite? ( dev-db/sqlite:* )
stemmer? ( dev-libs/snowball-stemmer:= )
suid? ( acct-group/mail )
systemd? ( sys-apps/systemd:= )
tcpd? ( sys-apps/tcp-wrappers )
textcat? ( app-text/libexttextcat )
unwind? ( sys-libs/libunwind:= )
zstd? ( app-arch/zstd:= )
virtual/libcrypt:=
"
RDEPEND="
${DEPEND}
acct-group/dovecot
acct-group/dovenull
acct-user/dovecot
acct-user/dovenull
net-mail/mailbase
"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}"-autoconf-lua-version-v2.patch
"${FILESDIR}/${PN}"-socket-name-too-long.patch
)
pkg_setup() {
use lua && lua-single_pkg_setup
if use managesieve && ! use sieve; then
ewarn "managesieve USE flag selected but sieve USE flag unselected"
ewarn "sieve USE flag will be turned on"
fi
}
src_prepare() {
default
# bug 657108
#elibtoolize
eautoreconf
# Bug #727244
append-cflags -fasynchronous-unwind-tables
}
src_configure() {
local conf=""
if use postgres || use mysql || use sqlite; then
conf="${conf} --with-sql"
fi
# turn valgrind tests off. Bug #340791
VALGRIND=no \
LUAPC="${ELUA}" \
systemdsystemunitdir="$(systemd_get_systemunitdir)" \
econf \
--with-rundir="${EPREFIX}/run/dovecot" \
--with-statedir="${EPREFIX}/var/lib/dovecot" \
--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
--disable-rpath \
--with-bzlib \
--without-libbsd \
--with-lzma \
--with-icu \
--with-ssl \
--with-zlib \
$( use_with argon2 sodium ) \
$( use_with caps libcap ) \
$( use_with kerberos gssapi ) \
$( use_with lua ) \
$( use_with ldap ) \
$( use_with lucene ) \
$( use_with lz4 ) \
$( use_with mysql ) \
$( use_with pam ) \
$( use_with postgres pgsql ) \
$( use_with sqlite ) \
$( use_with solr ) \
$( use_with stemmer ) \
$( use_with systemd ) \
$( use_with tcpd libwrap ) \
$( use_with textcat ) \
$( use_with unwind libunwind ) \
$( use_with zstd ) \
$( use_enable static-libs static ) \
${conf}
if use sieve || use managesieve; then
# The sieve plugin needs this file to be build to determine the plugin
# directory and the list of libraries to link to.
emake dovecot-config
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
econf \
$( use_enable static-libs static ) \
--localstatedir="${EPREFIX}/var" \
--enable-shared \
--with-dovecot="${S}" \
$( use_with ldap ) \
$( use_with managesieve )
fi
}
src_compile() {
default
if use sieve || use managesieve; then
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
fi
}
src_test() {
default
if use sieve || use managesieve; then
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
default
fi
}
src_install() {
default
# insecure:
# use suid && fperms u+s /usr/libexec/dovecot/deliver
# better:
if use suid; then
einfo "Changing perms to allow deliver to be suided"
fowners root:mail "/usr/libexec/dovecot/dovecot-lda"
fperms 4750 "/usr/libexec/dovecot/dovecot-lda"
fi
newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
rm -rf "${ED}"/usr/share/doc/dovecot
dodoc AUTHORS NEWS README TODO
dodoc doc/*.{txt,cnf,xml,sh}
docinto example-config
dodoc doc/example-config/*.{conf,ext}
docinto example-config/conf.d
dodoc doc/example-config/conf.d/*.{conf,ext}
docinto wiki
dodoc doc/wiki/*
doman doc/man/*.{1,7}
# Create the dovecot.conf file from the dovecot-example.conf file that
# the dovecot folks nicely left for us....
local conf="${ED}/etc/dovecot/dovecot.conf"
local confd="${ED}/etc/dovecot/conf.d"
insinto /etc/dovecot
doins doc/example-config/*.{conf,ext}
insinto /etc/dovecot/conf.d
doins doc/example-config/conf.d/*.{conf,ext}
fperms 0600 /etc/dovecot/dovecot-{ldap,sql}.conf.ext
rm -f "${confd}/../README"
# .maildir is the Gentoo default
local mail_location="maildir:~/.maildir"
sed -i -e \
"s|#mail_location =|mail_location = ${mail_location}|" \
"${confd}/10-mail.conf" \
|| die "failed to update mail location settings in 10-mail.conf"
# We're using pam files (imap and pop3) provided by mailbase
if use pam; then
sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
"${confd}/auth-system.conf.ext" \
|| die "failed to update PAM settings in auth-system.conf.ext"
# mailbase does not provide a sieve pam file
use managesieve && dosym imap /etc/pam.d/sieve
sed -i -e \
's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
"${confd}/10-auth.conf" \
|| die "failed to update PAM settings in 10-auth.conf"
fi
# Disable ipv6 if necessary
if ! use ipv6; then
sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
|| die "failed to update listen settings in dovecot.conf"
fi
# Update ssl cert locations
sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
|| die "ssl conf failed"
sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
# Install SQL configuration
if use mysql || use postgres; then
sed -i -e \
's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
"${confd}/10-auth.conf" || die "failed to update SQL settings in \
10-auth.conf"
fi
# Install LDAP configuration
if use ldap; then
sed -i -e \
's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
"${confd}/10-auth.conf" \
|| die "failed to update ldap settings in 10-auth.conf"
fi
if use sieve || use managesieve; then
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
emake DESTDIR="${ED}" install
sed -i -e \
's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
|| die "failed to update sieve settings in 15-lda.conf"
rm -rf "${ED}"/usr/share/doc/dovecot
docinto example-config/conf.d
dodoc doc/example-config/conf.d/*.conf
insinto /etc/dovecot/conf.d
doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
docinto sieve/rfc
dodoc doc/rfc/*.txt
docinto sieve/devel
dodoc doc/devel/DESIGN
docinto plugins
dodoc doc/plugins/*.txt
docinto extensions
dodoc doc/extensions/*.txt
docinto locations
dodoc doc/locations/*.txt
doman doc/man/*.{1,7}
fi
use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
}
pkg_postinst() {
# Let's not make a new certificate if we already have one
if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
-e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then
einfo "Creating SSL certificate"
SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
install_cert /etc/ssl/dovecot/server
fi
elog "Please read https://doc.dovecot.org/installation_guide/upgrading/ for upgrade notes."
}

View File

@@ -1,302 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-1 lua5-3 )
# do not add a ssl USE flag. ssl is mandatory
SSL_DEPS_SKIP=1
inherit autotools flag-o-matic lua-single ssl-cert systemd toolchain-funcs
MY_P="${P/_/.}"
#MY_S="${PN}-ce-${PV}"
major_minor="$(ver_cut 1-2)"
sieve_version="0.5.19"
if [[ ${PV} == *_rc* ]]; then
rc_dir="rc/"
else
rc_dir=""
fi
SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
sieve? (
https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
)
managesieve? (
https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
) "
DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
HOMEPAGE="https://www.dovecot.org/"
SLOT="0"
LICENSE="LGPL-2.1 MIT"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite"
IUSE_DOVECOT_COMPRESS="lz4 zstd"
IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 lucene managesieve rpc
selinux sieve solr static-libs stemmer suid systemd tcpd textcat unwind"
IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
DEPEND="
app-arch/bzip2
app-arch/xz-utils
dev-libs/icu:=
dev-libs/openssl:0=
sys-libs/zlib:=
virtual/libiconv
argon2? ( dev-libs/libsodium:= )
caps? ( sys-libs/libcap )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
lua? ( ${LUA_DEPS} )
lucene? ( >=dev-cpp/clucene-2.3 )
lz4? ( app-arch/lz4 )
mysql? ( dev-db/mysql-connector-c:0= )
pam? ( sys-libs/pam:= )
postgres? ( dev-db/postgresql:* )
rpc? ( net-libs/libtirpc:= net-libs/rpcsvc-proto )
selinux? ( sec-policy/selinux-dovecot )
solr? ( net-misc/curl dev-libs/expat )
sqlite? ( dev-db/sqlite:* )
stemmer? ( dev-libs/snowball-stemmer:= )
suid? ( acct-group/mail )
systemd? ( sys-apps/systemd:= )
tcpd? ( sys-apps/tcp-wrappers )
textcat? ( app-text/libexttextcat )
unwind? ( sys-libs/libunwind:= )
zstd? ( app-arch/zstd:= )
virtual/libcrypt:=
"
RDEPEND="
${DEPEND}
acct-group/dovecot
acct-group/dovenull
acct-user/dovecot
acct-user/dovenull
net-mail/mailbase
"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}"-autoconf-lua-version-v2.patch
"${FILESDIR}/${PN}"-socket-name-too-long.patch
)
pkg_setup() {
use lua && lua-single_pkg_setup
if use managesieve && ! use sieve; then
ewarn "managesieve USE flag selected but sieve USE flag unselected"
ewarn "sieve USE flag will be turned on"
fi
}
src_prepare() {
default
# bug 657108
#elibtoolize
eautoreconf
# Bug #727244
append-cflags -fasynchronous-unwind-tables
}
src_configure() {
local conf=""
if use postgres || use mysql || use sqlite; then
conf="${conf} --with-sql"
fi
# turn valgrind tests off. Bug #340791
VALGRIND=no \
LUAPC="${ELUA}" \
systemdsystemunitdir="$(systemd_get_systemunitdir)" \
econf \
--with-rundir="${EPREFIX}/run/dovecot" \
--with-statedir="${EPREFIX}/var/lib/dovecot" \
--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
--disable-rpath \
--with-bzlib \
--without-libbsd \
--with-lzma \
--with-icu \
--with-ssl \
--with-zlib \
$( use_with argon2 sodium ) \
$( use_with caps libcap ) \
$( use_with kerberos gssapi ) \
$( use_with lua ) \
$( use_with ldap ) \
$( use_with lucene ) \
$( use_with lz4 ) \
$( use_with mysql ) \
$( use_with pam ) \
$( use_with postgres pgsql ) \
$( use_with sqlite ) \
$( use_with solr ) \
$( use_with stemmer ) \
$( use_with systemd ) \
$( use_with tcpd libwrap ) \
$( use_with textcat ) \
$( use_with unwind libunwind ) \
$( use_with zstd ) \
$( use_enable static-libs static ) \
${conf}
if use sieve || use managesieve; then
# The sieve plugin needs this file to be build to determine the plugin
# directory and the list of libraries to link to.
emake dovecot-config
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
econf \
$( use_enable static-libs static ) \
--localstatedir="${EPREFIX}/var" \
--enable-shared \
--with-dovecot="${S}" \
$( use_with ldap ) \
$( use_with managesieve )
fi
}
src_compile() {
default
if use sieve || use managesieve; then
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
fi
}
src_test() {
default
if use sieve || use managesieve; then
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
default
fi
}
src_install() {
default
if use suid; then
einfo "Changing perms to allow deliver to be suided"
fowners root:mail "/usr/libexec/dovecot/dovecot-lda"
fperms 4750 "/usr/libexec/dovecot/dovecot-lda"
fi
newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
rm -rf "${ED}"/usr/share/doc/dovecot
dodoc AUTHORS NEWS README TODO
dodoc doc/*.{txt,cnf,xml,sh}
docinto example-config
dodoc doc/example-config/*.{conf,ext}
docinto example-config/conf.d
dodoc doc/example-config/conf.d/*.{conf,ext}
docinto wiki
dodoc doc/wiki/*
doman doc/man/*.{1,7}
# Create the dovecot.conf file from the dovecot-example.conf file that
# the dovecot folks nicely left for us....
local conf="${ED}/etc/dovecot/dovecot.conf"
local confd="${ED}/etc/dovecot/conf.d"
insinto /etc/dovecot
doins doc/example-config/*.{conf,ext}
insinto /etc/dovecot/conf.d
doins doc/example-config/conf.d/*.{conf,ext}
fperms 0600 /etc/dovecot/dovecot-{ldap,sql}.conf.ext
rm -f "${confd}/../README"
# .maildir is the Gentoo default
local mail_location="maildir:~/.maildir"
sed -i -e \
"s|#mail_location =|mail_location = ${mail_location}|" \
"${confd}/10-mail.conf" \
|| die "failed to update mail location settings in 10-mail.conf"
# We're using pam files (imap and pop3) provided by mailbase
if use pam; then
sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
"${confd}/auth-system.conf.ext" \
|| die "failed to update PAM settings in auth-system.conf.ext"
# mailbase does not provide a sieve pam file
use managesieve && dosym imap /etc/pam.d/sieve
sed -i -e \
's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
"${confd}/10-auth.conf" \
|| die "failed to update PAM settings in 10-auth.conf"
fi
# Disable ipv6 if necessary
if ! use ipv6; then
sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
|| die "failed to update listen settings in dovecot.conf"
fi
# Update ssl cert locations
sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
|| die "ssl conf failed"
sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
# Install SQL configuration
if use mysql || use postgres; then
sed -i -e \
's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
"${confd}/10-auth.conf" || die "failed to update SQL settings in \
10-auth.conf"
fi
# Install LDAP configuration
if use ldap; then
sed -i -e \
's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
"${confd}/10-auth.conf" \
|| die "failed to update ldap settings in 10-auth.conf"
fi
if use sieve || use managesieve; then
cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
emake DESTDIR="${ED}" install
sed -i -e \
's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
|| die "failed to update sieve settings in 15-lda.conf"
rm -rf "${ED}"/usr/share/doc/dovecot
docinto example-config/conf.d
dodoc doc/example-config/conf.d/*.conf
insinto /etc/dovecot/conf.d
doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
docinto sieve/rfc
dodoc doc/rfc/*.txt
docinto sieve/devel
dodoc doc/devel/DESIGN
docinto plugins
dodoc doc/plugins/*.txt
docinto extensions
dodoc doc/extensions/*.txt
docinto locations
dodoc doc/locations/*.txt
doman doc/man/*.{1,7}
fi
use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
}
pkg_postinst() {
# Let's not make a new certificate if we already have one
if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
-e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then
einfo "Creating SSL certificate"
SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
install_cert /etc/ssl/dovecot/server
fi
}