Lines 4-98
Link Here
|
4 |
|
4 |
|
5 |
inherit eutils toolchain-funcs multilib # subversion |
5 |
inherit eutils toolchain-funcs multilib # subversion |
6 |
|
6 |
|
7 |
IUSE="openssl gnutls ipv6 kernel_linux mysql postgres sqlite zip ldap" |
|
|
8 |
|
9 |
DESCRIPTION="InspIRCd - The Modular C++ IRC Daemon" |
7 |
DESCRIPTION="InspIRCd - The Modular C++ IRC Daemon" |
10 |
HOMEPAGE="http://www.inspircd.org" |
8 |
HOMEPAGE="http://www.inspircd.org/" |
|
|
9 |
SRC_URI="http://www.inspircd.org/downloads/InspIRCd-${PV}.tar.bz2 |
10 |
mirror://sourceforge/${PN}/InspIRCd-${PV}.tar.bz2" |
11 |
|
11 |
LICENSE="GPL-2" |
12 |
LICENSE="GPL-2" |
12 |
SLOT="0" |
13 |
SLOT="0" |
13 |
KEYWORDS="amd64 ppc x86" |
14 |
KEYWORDS="~amd64 ~ppc ~x86" |
|
|
15 |
IUSE="openssl gnutls ipv6 kernel_linux mysql postgres sqlite zip ldap" |
16 |
|
14 |
RDEPEND=" |
17 |
RDEPEND=" |
15 |
>=sys-devel/gcc-3.3.0 |
18 |
dev-lang/perl |
16 |
>=dev-lang/perl-5.8 |
19 |
openssl? ( dev-libs/openssl ) |
17 |
openssl? ( >=dev-libs/openssl-0.9.7d ) |
20 |
gnutls? ( net-libs/gnutls ) |
18 |
gnutls? ( >=net-libs/gnutls-1.3.0 ) |
21 |
mysql? ( virtual/mysql ) |
19 |
mysql? ( >=virtual/mysql-4.0) |
22 |
postgres? ( dev-db/postgresql ) |
20 |
postgres? ( dev-db/postgresql) |
23 |
sqlite? ( >=dev-db/sqlite-3.0 ) |
21 |
sqlite? ( >=dev-db/sqlite-3.0) |
24 |
ldap? ( net-nds/openldap )" |
22 |
ldap? ( net-nds/openldap) |
|
|
23 |
" |
24 |
DEPEND="${RDEPEND}" |
25 |
DEPEND="${RDEPEND}" |
25 |
SRC_URI="mirror://sourceforge/${PN}/InspIRCd-${PV}.tar.bz2" |
|
|
26 |
#ESVN_REPO_URI="http://svn.inspircd.org/repository/trunk/inspircd" |
27 |
#ESVN_PROJECT="inspircd" |
28 |
|
26 |
|
29 |
S="${WORKDIR}/inspircd" |
27 |
S="${WORKDIR}/inspircd" |
30 |
|
28 |
|
31 |
src_unpack() { |
29 |
src_unpack() { |
32 |
local SQL=0 |
|
|
33 |
unpack ${A} |
30 |
unpack ${A} |
34 |
cd "${S}" |
31 |
cd "${S}" |
35 |
|
32 |
|
|
|
33 |
local SQL=0 |
36 |
cd src/modules |
34 |
cd src/modules |
37 |
|
35 |
|
38 |
if use zip ; then |
36 |
if use zip ; then |
39 |
ln -sfv extra/m_ziplink.cpp . |
37 |
cp extra/m_ziplink.cpp . |
40 |
fi |
38 |
fi |
41 |
if use openssl || use gnutls ; then |
39 |
if use openssl || use gnutls ; then |
42 |
ln -sfv extra/m_sslinfo.cpp . |
40 |
cp extra/m_sslinfo.cpp . |
43 |
ln -sfv extra/m_ssl_oper_cert.cpp |
41 |
cp extra/m_ssl_oper_cert.cpp |
44 |
fi |
42 |
fi |
45 |
|
43 |
|
46 |
if use ldap ; then |
44 |
if use ldap ; then |
47 |
ln -sfv extra/m_ldapauth.cpp . |
45 |
cp extra/m_ldapauth.cpp . |
48 |
ln -sfv extra/m_ldap.h . |
|
|
49 |
fi |
46 |
fi |
50 |
|
47 |
|
51 |
if use mysql ; then |
48 |
if use mysql ; then |
52 |
SQL=1 |
49 |
SQL=1 |
53 |
ln -sfv extra/m_mysql.cpp . |
50 |
cp extra/m_mysql.cpp . |
54 |
fi |
51 |
fi |
55 |
if use postgres ; then |
52 |
if use postgres ; then |
56 |
SQL=1 |
53 |
SQL=1 |
57 |
ln -sfv extra/m_pgsql.cpp . |
54 |
cp extra/m_pgsql.cpp . |
58 |
fi |
55 |
fi |
59 |
if use sqlite ; then |
56 |
if use sqlite ; then |
60 |
SQL=1 |
57 |
SQL=1 |
61 |
ln -sfv extra/m_sqlite3.cpp . |
58 |
cp extra/m_sqlite3.cpp . |
62 |
fi |
59 |
fi |
63 |
if [ ${SQL} -eq 1 ] ; then |
60 |
if [ ${SQL} -eq 1 ] ; then |
64 |
ln -sfv extra/m_sqlauth.cpp . |
61 |
cp extra/m_sql{auth.cpp,log.cpp,oper.cpp,utils.cpp,utils.h,v2.h} . |
65 |
ln -sfv extra/m_sqllog.cpp . |
|
|
66 |
ln -sfv extra/m_sqloper.cpp . |
67 |
ln -sfv extra/m_sqlutils.cpp . |
68 |
ln -sfv extra/m_sqlv2.h . |
69 |
ln -sfv extra/m_sqlutils.h . |
70 |
fi |
62 |
fi |
71 |
} |
63 |
} |
72 |
|
64 |
|
73 |
src_compile() { |
65 |
src_compile() { |
74 |
local myconf="" |
|
|
75 |
|
66 |
|
76 |
# Write a configuration file |
67 |
# ./configure doesn't know --disable-gnutls, -ipv6 and -openssl options, |
77 |
# we don't use econf. |
68 |
# so should be used only --enable-like. |
78 |
USE_SSL="$(use_enable openssl)" |
69 |
local myconf="" |
79 |
use gnutls && USE_SSL="$(use_enable gnutls)" |
70 |
use gnutls && myconf="--enable-gnutls" |
80 |
USE_SOCKET_ENGINE="--enable-epoll" |
71 |
use myconf && myconf="${myconf} --enable-ipv6 --enable-remote-ipv6" |
81 |
./configure $(use_enable ipv6) --enable-remote-ipv6 ${USE_SSL} \ |
72 |
use openssl && myconf="${myconf} --enable-openssl" |
82 |
${USE_SOCKET_ENGINE} \ |
73 |
|
83 |
--prefix="/usr/$(get_libdir)/inspircd" \ |
74 |
./configure ${myconf} \ |
84 |
--config-dir="/etc/inspircd" --bin-dir="/usr/bin" \ |
75 |
--enable-epoll \ |
85 |
--library-dir="/usr/$(get_libdir)/inspircd" \ |
76 |
--prefix="/usr/$(get_libdir)/inspircd" \ |
86 |
--module-dir="/usr/$(get_libdir)/inspircd/modules" \ |
77 |
--config-dir="/etc/inspircd" \ |
87 |
|| die "configure failed" |
78 |
--binary-dir="/usr/bin" \ |
|
|
79 |
--library-dir="/usr/$(get_libdir)/inspircd" \ |
80 |
--module-dir="/usr/$(get_libdir)/inspircd/modules" \ |
81 |
|| die "configure failed" |
88 |
./configure -modupdate || die "modupdate failed" |
82 |
./configure -modupdate || die "modupdate failed" |
89 |
|
83 |
|
90 |
emake || die "emake failed" |
84 |
emake || die "emake failed" |
91 |
} |
85 |
} |
92 |
|
86 |
|
93 |
src_install() { |
87 |
src_install() { |
94 |
# the inspircd buildsystem does not create these, it's configure script |
88 |
# the inspircd buildsystem does not create these, its configure script |
95 |
# does. so, we have to at this point to make sure they are there. |
89 |
# does. so, we have to make sure they are there. |
96 |
dodir /usr/$(get_libdir)/inspircd |
90 |
dodir /usr/$(get_libdir)/inspircd |
97 |
dodir /usr/$(get_libdir)/inspircd/modules |
91 |
dodir /usr/$(get_libdir)/inspircd/modules |
98 |
dodir /etc/inspircd |
92 |
dodir /etc/inspircd |