# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-irc/inspircd/inspircd-1.1.11.ebuild,v 1.1 2007/08/06 08:37:11 hansmi Exp $ inherit eutils toolchain-funcs multilib # subversion IUSE="openssl gnutls ipv6 kernel_linux mysql postgres sqlite zip" DESCRIPTION="InspIRCd - The Modular C++ IRC Daemon" HOMEPAGE="http://www.inspircd.org" LICENSE="GPL-2" SLOT="0" KEYWORDS="amd64 ppc x86" RDEPEND=" >=sys-devel/gcc-3.3.0 >=dev-lang/perl-5.8 openssl? ( >=dev-libs/openssl-0.9.7d ) gnutls? ( >=net-libs/gnutls-1.3.0 ) mysql? ( >=virtual/mysql-4.0) postgres? ( dev-db/postgresql) sqlite? ( >=dev-db/sqlite-3.0) ldap? ( net-nds/openldap) " DEPEND="${RDEPEND}" SRC_URI="mirror://sourceforge/${PN}/InspIRCd-${PV}.tar.bz2" #ESVN_REPO_URI="http://svn.inspircd.org/repository/trunk/inspircd" #ESVN_PROJECT="inspircd" S="${WORKDIR}/inspircd" pkg_setup() { enewgroup inspircd enewuser inspircd -1 -1 -1 inspircd } src_unpack() { local SQL=0 unpack ${A} cd "${S}" cd src/modules if use zip ; then ln -sfv extra/m_ziplink.cpp . fi if use openssl || use gnutls ; then ln -sfv extra/m_sslinfo.cpp . ln -sfv extra/m_ssl_oper_cert.cpp fi if use ldap ; then ln -sfv extra/m_ldapauth.cpp . ln -sfv extra/m_ldap.h . fi if use mysql ; then SQL=1 ln -sfv extra/m_mysql.cpp . fi if use postgres ; then SQL=1 ln -sfv extra/m_pgsql.cpp . fi if use sqlite ; then SQL=1 ln -sfv extra/m_sqlite3.cpp . fi if [ ${SQL} -eq 1 ] ; then ln -sfv extra/m_sqlauth.cpp . ln -sfv extra/m_sqllog.cpp . ln -sfv extra/m_sqloper.cpp . ln -sfv extra/m_sqlutils.cpp . ln -sfv extra/m_sqlv2.h . ln -sfv extra/m_sqlutils.h . fi } src_compile() { local myconf="" # Write a configuration file # we don't use econf. USE_SSL="$(use_enable openssl)" use gnutls && USE_SSL="$(use_enable gnutls)" USE_SOCKET_ENGINE="--enable-epoll" ./configure $(use_enable ipv6) --enable-remote-ipv6 ${USE_SSL} \ ${USE_SOCKET_ENGINE} \ --prefix="/usr/$(get_libdir)/inspircd" \ --config-dir="/etc/inspircd" --bin-dir="/usr/bin" \ --library-dir="/usr/$(get_libdir)/inspircd" \ --module-dir="/usr/$(get_libdir)/inspircd/modules" \ || die "configure failed" ./configure -modupdate || die "modupdate failed" emake || die "emake failed" } src_install() { # the inspircd buildsystem does not create these, it's configure script # does. so, we have to at this point to make sure they are there. dodir /usr/$(get_libdir)/inspircd dodir /usr/$(get_libdir)/inspircd/modules dodir /etc/inspircd dodir /var/log/inspircd dodir /usr/include/inspircd emake install \ LIBPATH="${D}/usr/$(get_libdir)/inspircd/" \ MODPATH="${D}/usr/$(get_libdir)/inspircd/modules/" \ CONPATH="${D}/etc/inspircd" \ BINPATH="${D}/usr/bin" \ BASE="${D}/usr/$(get_libdir)/inspircd/inspircd.launcher" insinto /usr/include/inspircd/ doins "${S}"/include/* newinitd "${FILESDIR}"/init.d_inspircd inspircd keepdir "/var/log/inspircd/" } pkg_postinst() { chown -R inspircd:inspircd "${ROOT}"/etc/inspircd chmod 700 "${ROOT}"/etc/inspircd chmod 750 "${ROOT}"/var/log/inspircd chown -R inspircd:inspircd "${ROOT}"/var/log/inspircd chown -R inspircd:inspircd "${ROOT}"/usr/$(get_libdir)/inspircd chmod -R 755 "${ROOT}"/usr/$(get_libdir)/inspircd chmod -R 755 "${ROOT}"/usr/bin/inspircd }