# Copyright 1999-2001 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author: Maik Schreiber # /space/gentoo/cvsroot/gentoo-x86/app-admin/pwgen/pwgen-2.01.ebuild,v 1.2 2002/05/27 17:27:34 drobbins Exp HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/" DESCRIPTION="Cyrus IMAP server" SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz" RDEPEND=">=sys-libs/db-3.0.55 ( >=dev-libs/cyrus-sasl-1.5.15 ${1} \ -e "s|WriteMakefile(|WriteMakefile('INSTALLMAN1DIR' => '${D}/usr/share/man/man1', 'INSTALLMAN3DIR' => '${D}/usr/share/man/man3',|" shift done } fix_config_paths() { while [ $# -gt 0 ] ; do mv ${1} ${1}.orig sed <${1}.orig >${1} \ -e 's|#define CONFIG_FILENAME "/etc/imapd.conf"|#define CONFIG_FILENAME "/etc/cyrus/imapd.conf"|' \ -e 's|#define CONFIG_FILENAME "/etc/cyrus.conf"|#define CONFIG_FILENAME "/etc/cyrus/cyrus.conf"|' shift done } pkg_setup() { if ! grep -q ^cyrus: /etc/group ; then groupadd cyrus || die "problem adding cyrus group" fi if ! grep -q ^cyrus: /etc/passwd ; then useradd -g cyrus -d /dev/null -s /bin/false \ -c "Cyrus IMAP server" cyrus \ || die "problem adding cyrus user" fi } src_compile() { CFLAGS="${CFLAGS} -I/usr/include/et -I/usr/share/et" CXXFLAGS="${CXXFLAGS} -I/usr/include/et -I/usr/share/et" fix_man_paths \ perl/imap/Makefile.PL \ perl/sieve/acap/Makefile.PL \ perl/sieve/managesieve/Makefile.PL fix_config_paths \ imap/krbck.c imap/config.c master/masterconf.c # compile temporary makedepend utility cd makedepend ./configure || (restore_env ; die) make || (restore_env ; die) export PATH="`pwd`:${PATH}" cd .. ./configure --prefix=${D}/usr \ --with-cyrus-prefix=${D}/usr/lib/cyrus \ --mandir=${D}/usr/share/man \ --sysconfdir=/etc/cyrus \ --with-cyrus-user=cyrus \ --with-cyrus-group=cyrus \ --with-auth=unix \ || (restore_env ; die) # prevent hard-coding of temporary build dir mv config.h config.h.orig sed config.h \ -e "s|#define CYRUS_PATH \"${D}/usr/lib/cyrus\"|#define CYRUS_PATH \"/usr/lib/cyrus\"|" emake || die "compile problem" } src_install() { mkdir -p ${D}/usr/share/man/man1 mkdir ${D}/usr/share/man/man3 make install || die "install problem" # fix wrong install paths for Perl modules mkdir ${D}/usr/lib/perl5 mv ${D}/usr/lib/site_perl ${D}/usr/lib/perl5 insinto /etc/cyrus doins ${FILESDIR}/cyrus.conf.sample doins ${FILESDIR}/imapd.conf.sample exeinto /etc/init.d newexe ${FILESDIR}/rc_cyrus cyrus cp ${FILESDIR}/mkimap.sh . chmod +x mkimap.sh ./mkimap.sh "${D}" rm mkimap.sh } pkg_postinst() { for dir in /var /var/spool ; do find ${dir}/cyrus -name '\.keep' -type f \ -exec touch "{}" ";" done }