mds/net-mail/zarafa/zarafa-6.40.5.24860.ebuild

194 lines
6.3 KiB
Bash
Raw Normal View History

# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
PHP_EXT_NAME="mapi"
PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="no"
USE_PHP="php5-3"
inherit php-ext-source-r2 eutils autotools rpm5 versionator
MY_PV=$(replace_version_separator 3 '-' )
MY_PVM=$(get_version_component_range 1-2 )
MY_PVR=$(get_version_component_range 1-3 )
DESCRIPTION="Open Source Groupware Solution"
HOMEPAGE="http://zarafa.com/"
SRC_URI="http://download.zarafa.com/community/final/${MY_PVM}/${MY_PV}/zcp-source-${MY_PV}.tgz
!arm? ( licensed? (
amd64? ( http://download.zarafa.com/community/final/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-sles-11-x86_64-free.tgz )
x86? ( http://download.zarafa.com/community/final/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-sles-11-i586-free.tgz ) ) )"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
RESTRICT=""
IUSE="debug ldap logrotate licensed static tcmalloc perl kerberos sparsehash"
RDEPEND=">=dev-libs/libical-0.44
dev-cpp/libvmime:0.7
app-text/catdoc
app-text/poppler
dev-cpp/clucene
dev-db/mysql
dev-libs/libxml2
dev-libs/openssl
net-misc/curl
sys-libs/e2fsprogs-libs
sys-libs/zlib
sys-libs/ncurses
sys-libs/pam
kerberos? ( || ( app-crypt/mit-krb5 app-crypt/heimdal ) )
ldap? ( net-nds/openldap )
logrotate? ( app-admin/logrotate )
tcmalloc? ( dev-util/google-perftools )
sparsehash? ( dev-cpp/sparsehash )
perl? ( dev-lang/perl )
!arm? ( licensed? (
dev-libs/openssl:0.9.8
>=sys-libs/zlib-1.2.4
) )"
S="${WORKDIR}"/zcp-source-${MY_PV}/src
DEPEND="${RDEPEND}
dev-util/pkgconfig
sys-devel/gettext
dev-lang/php"
QA_PRESTRIPPED="
usr/bin/zarafa-restore
usr/bin/zarafa-report
usr/bin/zarafa-backup
usr/bin/zarafa-licensed
usr/lib/zarafa/ldapmsplugin.so
usr/lib64/zarafa/ldapmsplugin.so"
QA_DT_HASH="
usr/bin/zarafa-restore
usr/bin/zarafa-report
usr/bin/zarafa-backup
usr/bin/zarafa-licensed
usr/lib/zarafa/ldapmsplugin.so
usr/lib64/zarafa/ldapmsplugin.so"
src_unpack() {
unpack ${A}
if ! use arm; then
if use licensed; then
cd "${WORKDIR}"
mkdir licensed
cd licensed
if use x86; then
rpm5_unpack $(find ./../ -name "zarafa-licensed*")
# rpm5_unpack $(find ./../ -name "zarafa-webaccess-muc*")
fi
if use amd64; then
rpm5_unpack $(find ./../ -name "zarafa-licensed*")
# rpm5_unpack $(find ./../ -name "zarafa-webaccess-muc*")
fi
cd "${S}"
fi
fi
}
src_prepare() {
EPATCH_SOURCE="${FILESDIR}/patches" EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" epatch
edos2unix php-webclient-ajax/config.php.dist
AT_M4DIR="autoconf" eautoreconf
}
src_configure() {
econf \
--enable-oss \
--disable-perl \
--disable-testtools \
--enable-release \
--with-userscript-prefix=/etc/zarafa/userscripts \
--with-quotatemplate-prefix=/etc/zarafa/quotamails \
--with-indexerscripts-prefix=/etc/zarafa/indexerscripts \
$(use_enable perl) \
$(use_enable static) \
$(use_enable sparsehash) \
$(use_enable tcmalloc) \
$(use_enable debug)
}
src_install() {
make DESTDIR="${D}" install || die "make install failed"
make DESTDIR="${D}" install-ajax-webaccess || die "make install-ajax-webaccess failed"
make DESTDIR="${D}" install-mobile-webaccess || die "make install-mobile-webaccess failed"
insinto /etc/apache2/modules.d
newins "${FILESDIR}/50_zarafa-webaccess-mobile.conf" 50_zarafa-webaccess-mobile.conf || die "Failed to install apache config files"
newins "${FILESDIR}/50_zarafa-webaccess.conf" 50_zarafa-webaccess.conf || die "Failed to install apache config files"
rm "${D}"/usr/share/zarafa-webaccess/*.conf || die "Failed to remove apache config files"
rm "${D}"/usr/share/zarafa-webaccess-mobile/*.conf || die "Failed to remove apache config files"
# Use only some parts of PHP eclass
php-ext-source-r2_buildinilist php${slot}
php-ext-source-r2_addextension "${PHP_EXT_NAME}.so"
# Symlink the <ext>.ini files from ext/ to ext-active/
for inifile in ${PHPINIFILELIST} ; do
inidir="${inifile/${PHP_EXT_NAME}.ini/}"
inidir="${inidir/ext/ext-active}"
dodir "/${inidir}"
dosym "/${inifile}" "/${inifile/ext/ext-active}"
done
# Install PHP module
php-ext-source-r2_addtoinifiles ";mapi.cache_max_sessions" "128"
php-ext-source-r2_addtoinifiles ";mapi.cache_lifetime" "300"
if use logrotate; then
insinto /etc/logrotate.d
newins "${FILESDIR}"/zarafa.logrotate zarafa || die "Failed to install logrotate"
fi
# install ldap files
if use ldap; then
insinto /etc/openldap/schema
doins installer/ldap/zarafa.* || die "Failed to install ldap schema files"
fi
insinto /etc/zarafa
doins installer/linux/*.cfg || die "Failed to install config files"
dodir /var/log/zarafa
keepdir /var/log/zarafa
if ! use arm; then
if use licensed; then
dobin "${WORKDIR}"/licensed/usr/bin/* || die "Failed to install licensed binaries"
exeinto /usr/$(get_libdir)/zarafa/
doexe "${WORKDIR}"/licensed/usr/$(get_libdir)/zarafa/*.so || die "Failed to install licensed lib"
doman "${WORKDIR}"/licensed/usr/share/man/*/*.gz || die "Failed to install man files"
exeinto /usr/share/zarafa/zarafa-backup-helpers/
doexe "${WORKDIR}"/licensed/usr/share/zarafa/zarafa-backup-helpers/* || die "Failed to install helper scripts"
dodoc "${WORKDIR}"/licensed/usr/share/doc/packages/zarafa-licensed/* || die "Failed to install docs"
insinto /etc/zarafa
doins -r "${WORKDIR}"/licensed/etc/zarafa/* || die "Failed to install config files"
insinto /etc/cron.d
doins "${WORKDIR}"/licensed/etc/cron.d/* || die "Failed to install cron files"
# insinto /usr/share/zarafa-webaccess/
# doins -r "${WORKDIR}"/licensed/usr/share/zarafa-webaccess/* || die "Failed to install webapp files"
newinitd "${FILESDIR}"/zarafa-licensed.rc6 zarafa-licensed || die "Failed to install init.d files"
fi
fi
newinitd "${FILESDIR}"/zarafa-gateway.rc6 zarafa-gateway || die "Failed to install init.d files"
newinitd "${FILESDIR}"/zarafa-ical.rc6 zarafa-ical || die "Failed to install init.d files"
newinitd "${FILESDIR}"/zarafa-indexer.rc6 zarafa-indexer || die "Failed to install init.d files"
newinitd "${FILESDIR}"/zarafa-monitor.rc6 zarafa-monitor || die "Failed to install init.d files"
newinitd "${FILESDIR}"/zarafa-server.rc6 zarafa-server || die "Failed to install init.d files"
newinitd "${FILESDIR}"/zarafa-spooler.rc6 zarafa-spooler || die "Failed to install init.d files"
newinitd "${FILESDIR}"/zarafa-dagent.rc6 zarafa-dagent || die "Failed to install init.d files"
}