summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorChristian Faulhammer <fauli@gentoo.org>2008-01-11 11:43:34 +0000
committerChristian Faulhammer <fauli@gentoo.org>2008-01-11 11:43:34 +0000
commit2cacf5fc557d582e55fc26fecc3ef780686081db (patch)
treecc9e2b152ea7e1836e7298a8145a538198199bb7 /net-im
parentFixed the patch when building with USE=-ssl, dropped ppc (bug #199206) (diff)
downloadhistorical-2cacf5fc557d582e55fc26fecc3ef780686081db.tar.gz
historical-2cacf5fc557d582e55fc26fecc3ef780686081db.tar.bz2
historical-2cacf5fc557d582e55fc26fecc3ef780686081db.zip
make ejabberd compile with Erlang 12B, patch take from Debian, reported in bug 202114 by Conrad Kostecki <ConiKost AT gmx DOT de>, thanks to Anton Romanov <theli AT ukr DOT net>
Package-Manager: portage-2.1.3.19
Diffstat (limited to 'net-im')
-rw-r--r--net-im/ejabberd/ChangeLog12
-rw-r--r--net-im/ejabberd/Manifest27
-rw-r--r--net-im/ejabberd/ejabberd-1.1.4-r1.ebuild136
-rw-r--r--net-im/ejabberd/files/digest-ejabberd-1.1.4-r13
-rw-r--r--net-im/ejabberd/files/ejabberd-1.1.4-erlang-12.patch131
5 files changed, 299 insertions, 10 deletions
diff --git a/net-im/ejabberd/ChangeLog b/net-im/ejabberd/ChangeLog
index 9772557e8050..966905de6565 100644
--- a/net-im/ejabberd/ChangeLog
+++ b/net-im/ejabberd/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-im/ejabberd
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.26 2007/12/08 16:49:47 ulm Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.27 2008/01/11 11:43:33 opfer Exp $
+
+*ejabberd-1.1.4-r1 (11 Jan 2008)
+
+ 11 Jan 2008; Christian Faulhammer <opfer@gentoo.org>
+ +files/ejabberd-1.1.4-erlang-12.patch, +ejabberd-1.1.4-r1.ebuild:
+ make ejabberd compile with Erlang 12B, patch take from Debian, reported in
+ bug 202114 by Conrad Kostecki <ConiKost AT gmx DOT de>, thanks to Anton
+ Romanov <theli AT ukr DOT net>
08 Dec 2007; Ulrich Mueller <ulm@gentoo.org>
+files/ejabberd-1.1.1-r1.initd, +files/ejabberd-1.1.1.confd:
diff --git a/net-im/ejabberd/Manifest b/net-im/ejabberd/Manifest
index 2eb0b4520abd..a771ddfe0704 100644
--- a/net-im/ejabberd/Manifest
+++ b/net-im/ejabberd/Manifest
@@ -25,6 +25,10 @@ AUX ejabberd-1.1.3.confd 739 RMD160 b06ee5cf9f6542dd752c44dc0ef21076163811e5 SHA
MD5 4fc4206ef0962ddaaf8814246795f419 files/ejabberd-1.1.3.confd 739
RMD160 b06ee5cf9f6542dd752c44dc0ef21076163811e5 files/ejabberd-1.1.3.confd 739
SHA256 840fbf999509e03917b7281b2893e2609fb2d0dea016e7463590aa13507bb770 files/ejabberd-1.1.3.confd 739
+AUX ejabberd-1.1.4-erlang-12.patch 3746 RMD160 17e6dc9ded6f598c27cf2cda098d2804e3c93957 SHA1 85e03ffd4e85b792759f23353d8e278f85276311 SHA256 bb96a790b948cd5c7359a7bdd2f2486d83dd7430b3556307c22188183be1f3aa
+MD5 fefd3b3750502abdd24c399a31f307fd files/ejabberd-1.1.4-erlang-12.patch 3746
+RMD160 17e6dc9ded6f598c27cf2cda098d2804e3c93957 files/ejabberd-1.1.4-erlang-12.patch 3746
+SHA256 bb96a790b948cd5c7359a7bdd2f2486d83dd7430b3556307c22188183be1f3aa files/ejabberd-1.1.4-erlang-12.patch 3746
AUX ejabberd-1.1.4.initd 1437 RMD160 96d9d35de36585a9e735f124b7be1618949541aa SHA1 623713cfb28a247f16a14f6b2ca6a8555609bd35 SHA256 59f983e32f7b530b66b5242ac6f06405b7440a112b2f980abe602508459d923e
MD5 4184e61309d3ebcd8a416c0ed6b2784e files/ejabberd-1.1.4.initd 1437
RMD160 96d9d35de36585a9e735f124b7be1618949541aa files/ejabberd-1.1.4.initd 1437
@@ -63,14 +67,18 @@ EBUILD ejabberd-1.1.3.ebuild 3367 RMD160 153663a118ebf45fce1cd68e9b3e7497bd7d596
MD5 9a0a9f44b9a2b5f6df72c179ee70feff ejabberd-1.1.3.ebuild 3367
RMD160 153663a118ebf45fce1cd68e9b3e7497bd7d5960 ejabberd-1.1.3.ebuild 3367
SHA256 cac88de8d3e24bf40c8729a226ff56807a7b8c4b6519761381f0883221b9255e ejabberd-1.1.3.ebuild 3367
+EBUILD ejabberd-1.1.4-r1.ebuild 3456 RMD160 5792f461b3f4c45c95da00ff3f8e88edec213f0b SHA1 7807a98b4ce8ecc67d4974b690a352cd54e58819 SHA256 8eaa02384c2dfc9948082da331a25b4325fa0077a575b4eea7d35d0f4cac61f4
+MD5 9eb6cc8111fe55df15310879c91a2825 ejabberd-1.1.4-r1.ebuild 3456
+RMD160 5792f461b3f4c45c95da00ff3f8e88edec213f0b ejabberd-1.1.4-r1.ebuild 3456
+SHA256 8eaa02384c2dfc9948082da331a25b4325fa0077a575b4eea7d35d0f4cac61f4 ejabberd-1.1.4-r1.ebuild 3456
EBUILD ejabberd-1.1.4.ebuild 3398 RMD160 27a04ce2f5b4b1ab0242c31b8e43d05d5fc17993 SHA1 1e06c37bde6bf4cb5cfa0218a14939bb394567cf SHA256 5ed0d6bfc3a034670a5821fbfcaf1e3c0d15ea3b89d888e997602f4dc62c640f
MD5 d254afd0df6255f5e306406edbb193ae ejabberd-1.1.4.ebuild 3398
RMD160 27a04ce2f5b4b1ab0242c31b8e43d05d5fc17993 ejabberd-1.1.4.ebuild 3398
SHA256 5ed0d6bfc3a034670a5821fbfcaf1e3c0d15ea3b89d888e997602f4dc62c640f ejabberd-1.1.4.ebuild 3398
-MISC ChangeLog 5845 RMD160 ebf1b530c2ac1c5f41a920b67fc8d57cb40a6208 SHA1 370990cfdc3534504e33aa6400b6ffce7fa24dc0 SHA256 e6429fd7b2a407dd11c22daa98663ed66fea87cc0ac49ee5634755fe0b0d3850
-MD5 27c63424e989a1a1ca3e7de23e915017 ChangeLog 5845
-RMD160 ebf1b530c2ac1c5f41a920b67fc8d57cb40a6208 ChangeLog 5845
-SHA256 e6429fd7b2a407dd11c22daa98663ed66fea87cc0ac49ee5634755fe0b0d3850 ChangeLog 5845
+MISC ChangeLog 6189 RMD160 69a3b6389a2e0034c38053e40060255f53406786 SHA1 e6a54ff2de6e974b45857d9f7844e2975b834bed SHA256 de4c1a724d95fa7e827d70fdeeb049f80d2c7c489fe56d6b51818fef12f8feb6
+MD5 2b44ce5ab8752ef7cde58a12b4f04e86 ChangeLog 6189
+RMD160 69a3b6389a2e0034c38053e40060255f53406786 ChangeLog 6189
+SHA256 de4c1a724d95fa7e827d70fdeeb049f80d2c7c489fe56d6b51818fef12f8feb6 ChangeLog 6189
MISC metadata.xml 383 RMD160 dcf83a193e8c65bca36c368d8b4b70759bf1a7ee SHA1 2e1a9e8406a47ceb62f0d9edcabd27668b412634 SHA256 c1afbca95c1be1d2095a4dcd6ba39c8d1dd1974993b0f800264add3c18428a55
MD5 2a43b0fd5e7b6404b98548ac55046b3f metadata.xml 383
RMD160 dcf83a193e8c65bca36c368d8b4b70759bf1a7ee metadata.xml 383
@@ -87,10 +95,13 @@ SHA256 5dad3cfcf7b609862a65b6d09c18ed318563573f866e6c19010c7b9ee7836998 files/di
MD5 77ab7ab7a3acee10a7ad96b594a96a0b files/digest-ejabberd-1.1.4 244
RMD160 c4236c87a7e5a96c87b37ecf516008f60614f4c2 files/digest-ejabberd-1.1.4 244
SHA256 aa9a0367dae2f4b694e73892e917dc58d8fca9e7c4029b855b34e487482b1835 files/digest-ejabberd-1.1.4 244
+MD5 77ab7ab7a3acee10a7ad96b594a96a0b files/digest-ejabberd-1.1.4-r1 244
+RMD160 c4236c87a7e5a96c87b37ecf516008f60614f4c2 files/digest-ejabberd-1.1.4-r1 244
+SHA256 aa9a0367dae2f4b694e73892e917dc58d8fca9e7c4029b855b34e487482b1835 files/digest-ejabberd-1.1.4-r1 244
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.7 (GNU/Linux)
+Version: GnuPG v2.0.7 (GNU/Linux)
-iD8DBQFHWstDOeoy/oIi7uwRAvuWAJ9bXz/T6KgTYc9580xTNASKtJYLGgCgoEtq
-7/d3dercuAf5jintati5HU8=
-=3GLF
+iD8DBQFHh1Z2NQqtfCuFneMRAjRPAJ9qpJYpoFf1EnTgUg8a+2eDzi+bPwCeMON0
+SuoxGd3ZbCS/1tX2TMRvtj0=
+=aWSM
-----END PGP SIGNATURE-----
diff --git a/net-im/ejabberd/ejabberd-1.1.4-r1.ebuild b/net-im/ejabberd/ejabberd-1.1.4-r1.ebuild
new file mode 100644
index 000000000000..9ba1d568ee9e
--- /dev/null
+++ b/net-im/ejabberd/ejabberd-1.1.4-r1.ebuild
@@ -0,0 +1,136 @@
+x# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-1.1.4-r1.ebuild,v 1.1 2008/01/11 11:43:33 opfer Exp $
+
+inherit eutils multilib
+
+JABBER_ETC="/etc/jabber"
+JABBER_RUN="/var/run/jabber"
+JABBER_SPOOL="/var/spool/jabber"
+JABBER_LOG="/var/log/jabber"
+
+DESCRIPTION="The Erlang Jabber Daemon"
+HOMEPAGE="http://ejabberd.jabber.ru/"
+SRC_URI="http://process-one.net/en/projects/${PN}/download/${PV}/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug mod_irc mod_muc mod_pubsub ldap odbc ssl web zlib"
+
+DEPEND=">=net-im/jabber-base-0.01
+ >=dev-libs/expat-1.95
+ >=dev-lang/erlang-10.2.0
+ odbc? ( dev-db/unixODBC )
+ ldap? ( =net-nds/openldap-2* )
+ ssl? ( >=dev-libs/openssl-0.9.8e )
+ zlib? ( sys-libs/zlib )"
+
+PROVIDE="virtual/jabber-server"
+S=${WORKDIR}/${P}/src
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Bug #171427
+ epatch "${FILESDIR}/${PV}-missing-declaration.patch"
+ # Bug 202114
+ epatch "${FILESDIR}/${P}-erlang-12.patch"
+}
+
+src_compile() {
+ econf \
+ $(use_enable mod_irc) \
+ $(use_enable ldap eldap) \
+ $(use_enable mod_muc) \
+ $(use_enable mod_pubsub) \
+ $(use_enable ssl tls) \
+ $(use_enable web) \
+ $(use_enable odbc) \
+ $(use_enable zlib ejabberd_zlib) \
+ || die "econf failed"
+
+ if useq debug; then
+ emake ejabberd_debug=true || die "compiling ejabberd core failed"
+ else
+ emake || die "compiling ejabberd core failed"
+ fi
+}
+
+src_install() {
+ make \
+ DESTDIR="${D}" \
+ EJABBERDDIR="${D}/usr/$(get_libdir)/erlang/lib/${P}" \
+ ETCDIR="${D}${JABBER_ETC}" \
+ LOGDIR="${D}${JABBER_LOG}" \
+ install \
+ || die "install failed"
+
+ chown -R jabber:jabber "${D}${JABBER_ETC}"
+ chown -R jabber:jabber "${D}${JABBER_LOG}"
+ chown -R jabber:jabber "${D}/usr/$(get_libdir)/erlang/lib/${P}"
+
+ insinto /usr/share/doc/${PF}
+ dohtml doc/*.{html,png}
+
+ #
+ # Create /usr/bin/ejabberd
+ #
+ cat <<EOF > "${T}/ejabberd"
+#!/bin/bash
+
+erl -pa /usr/$(get_libdir)/erlang/lib/${P}/ebin \\
+ ${pa} \\
+ -sname ejabberd \\
+ -s ejabberd \\
+ -ejabberd config \"${JABBER_ETC}/ejabberd.cfg\" \\
+ log_path \"${JABBER_LOG}/ejabberd.log\" \\
+ -kernel inetrc \"${JABBER_ETC}/inetrc\" \\
+ -sasl sasl_error_logger \{file,\"${JABBER_LOG}/sasl.log\"\} \\
+ -mnesia dir \"${JABBER_SPOOL}\" \\
+ \$@
+EOF
+
+ #
+ # Create /usr/bin/ejabberdctl
+ #
+ cat <<EOF > "${T}/ejabberdctl"
+#!/bin/sh
+
+exec env HOME=${JABBER_RUN} \\
+ erl -pa /usr/$(get_libdir)/erlang/lib/${P}/ebin \\
+ ${pa} \\
+ -noinput \\
+ -sname ejabberdctl \\
+ -s ejabberd_ctl \\
+ -extra \$@
+EOF
+
+ dobin "${T}/ejabberdctl"
+ dobin "${T}/ejabberd"
+
+ newinitd "${FILESDIR}/${P}.initd" ${PN}
+ newconfd "${FILESDIR}/ejabberd-1.1.3.confd" ${PN}
+
+ insinto ${JABBER_ETC}
+ doins "${FILESDIR}/inetrc"
+ if useq ssl ; then
+ doins "${FILESDIR}/ssl.cnf"
+ newins "${FILESDIR}/self-cert-v2.sh" self-cert.sh
+ fi
+}
+
+pkg_postinst() {
+ elog "For configuration instructions, please see /usr/share/doc/${PF}/html/guide.html"
+ elog "or the online version at http://www.process-one.net/en/projects/ejabberd/docs/guide_en.html"
+ echo
+ if useq ssl ; then
+ if [ ! -e /etc/jabber/ssl.pem ]; then
+ elog "Please edit ${JABBER_ETC}/ssl.cnf and run ${JABBER_ETC}/self-cert.sh"
+ elog "Ejabberd may refuse to start without an SSL certificate"
+ fi
+ fi
+ if ! useq web ; then
+ elog "The web USE flag is off, this has disabled the web admin interface."
+ fi
+}
diff --git a/net-im/ejabberd/files/digest-ejabberd-1.1.4-r1 b/net-im/ejabberd/files/digest-ejabberd-1.1.4-r1
new file mode 100644
index 000000000000..630fbfdaaade
--- /dev/null
+++ b/net-im/ejabberd/files/digest-ejabberd-1.1.4-r1
@@ -0,0 +1,3 @@
+MD5 65e9cd346f11a28afbacfe1d7be3a33b ejabberd-1.1.4.tar.gz 846059
+RMD160 4c72548129b0196ff0096bd85936e0750fc4d7be ejabberd-1.1.4.tar.gz 846059
+SHA256 dcd61b72c522eee77ab56227b16d75fd5741efe2b9b9a8a1d3ed7eefc2a7e4f6 ejabberd-1.1.4.tar.gz 846059
diff --git a/net-im/ejabberd/files/ejabberd-1.1.4-erlang-12.patch b/net-im/ejabberd/files/ejabberd-1.1.4-erlang-12.patch
new file mode 100644
index 000000000000..b6976c370c69
--- /dev/null
+++ b/net-im/ejabberd/files/ejabberd-1.1.4-erlang-12.patch
@@ -0,0 +1,131 @@
+Patch by Sergei Golovan fixes building ejabberd with erlang R12B-0.
+
+Index: ejabberd-1.1.4/src/ejabberd_s2s_in.erl
+===================================================================
+--- ejabberd-1.1.4.orig/src/ejabberd_s2s_in.erl
++++ ejabberd-1.1.4/src/ejabberd_s2s_in.erl
+@@ -30,8 +30,12 @@
+
+ -include("ejabberd.hrl").
+ -include("jlib.hrl").
++-ifdef(SSL39).
++-include_lib("ssl/include/ssl_pkix.hrl").
++-else.
+ -include_lib("ssl/include/PKIX1Explicit88.hrl").
+ -include_lib("ssl/include/PKIX1Implicit88.hrl").
++-endif.
+ -include("XmppAddr.hrl").
+
+ -define(DICT, dict).
+--- ejabberd-1.1.4.orig/src/configure
++++ ejabberd-1.1.4/src/configure
+@@ -648,6 +648,7 @@
+ ERLC
+ ERL
+ ERLANG_CFLAGS
++ERLANG_SSL39
+ ERLANG_LIBS
+ LIBICONV
+ CPP
+@@ -2865,14 +2866,21 @@
+ -author('alexey@sevcom.net').
+
+ -export([start/0]).
++-include_lib("ssl/include/ssl_pkix.hrl").
+
+ start() ->
+ EIDirS = code:lib_dir("erl_interface") ++ "\n",
+ EILibS = libpath("erl_interface") ++ "\n",
+ RootDirS = code:root_dir() ++ "\n",
+- file:write_file("conftest.out", list_to_binary(EIDirS ++ EILibS ++ RootDirS)),
++ file:write_file("conftest.out", list_to_binary(EIDirS ++ EILibS ++ ssldef() ++ RootDirS)),
+ halt().
+
++-ifdef('id-pkix').
++ssldef() -> "-DSSL39\n".
++-else.
++ssldef() -> "\n".
++-endif.
++
+ %% return physical architecture based on OS/Processor
+ archname() ->
+ ArchStr = erlang:system_info(system_architecture),
+@@ -2927,6 +2935,8 @@
+ # Second line
+ ERLANG_EI_LIB=`cat conftest.out | head -n 2 | tail -n 1`
+ # Third line
++ ERLANG_SSL39=`cat conftest.out | head -n 3 | tail -n 1`
++ # End line
+ ERLANG_DIR=`cat conftest.out | tail -n 1`
+
+ ERLANG_CFLAGS="-I$ERLANG_EI_DIR/include -I$ERLANG_DIR/usr/include"
+@@ -6205,6 +6215,7 @@
+ ERL!$ERL$ac_delim
+ ERLANG_CFLAGS!$ERLANG_CFLAGS$ac_delim
+ ERLANG_LIBS!$ERLANG_LIBS$ac_delim
++ERLANG_SSL39!$ERLANG_SSL39$ac_delim
+ LIBICONV!$LIBICONV$ac_delim
+ CPP!$CPP$ac_delim
+ GREP!$GREP$ac_delim
+@@ -6238,7 +6248,7 @@
+ LTLIBOBJS!$LTLIBOBJS$ac_delim
+ _ACEOF
+
+- if test `grep -c "$ac_delim\$" conf$$subs.sed` = 79; then
++ if test `grep -c "$ac_delim\$" conf$$subs.sed` = 80; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+--- ejabberd-1.1.4.orig/src/Makefile.in
++++ ejabberd-1.1.4/src/Makefile.in
+@@ -12,6 +12,8 @@
+ EXPAT_LIBS = @EXPAT_LIBS@
+ ERLANG_LIBS = @ERLANG_LIBS@
+
++ERLC_FLAGS += @ERLANG_SSL39@
++
+ # make debug=true to compile Erlang module with debug informations.
+ ifdef debug
+ ERLC_FLAGS+=+debug_info
+--- ejabberd-1.1.4.orig/src/aclocal.m4
++++ ejabberd-1.1.4/src/aclocal.m4
+@@ -79,14 +79,21 @@
+ -author('alexey@sevcom.net').
+
+ -export([[start/0]]).
++-include_lib("ssl/include/ssl_pkix.hrl").
+
+ start() ->
+ EIDirS = code:lib_dir("erl_interface") ++ "\n",
+ EILibS = libpath("erl_interface") ++ "\n",
+ RootDirS = code:root_dir() ++ "\n",
+- file:write_file("conftest.out", list_to_binary(EIDirS ++ EILibS ++ RootDirS)),
++ file:write_file("conftest.out", list_to_binary(EIDirS ++ EILibS ++ ssldef() ++ RootDirS)),
+ halt().
+
++-ifdef('id-pkix').
++ssldef() -> "-DSSL39\n".
++-else.
++ssldef() "\n".
++-endif.
++
+ %% return physical architecture based on OS/Processor
+ archname() ->
+ ArchStr = erlang:system_info(system_architecture),
+@@ -135,6 +142,8 @@
+ # Second line
+ ERLANG_EI_LIB=`cat conftest.out | head -n 2 | tail -n 1`
+ # Third line
++ ERLANG_SSL39=`cat conftest.out | head -n 3 | tail -n 1`
++ # End line
+ ERLANG_DIR=`cat conftest.out | tail -n 1`
+
+ ERLANG_CFLAGS="-I$ERLANG_EI_DIR/include -I$ERLANG_DIR/usr/include"
+@@ -142,6 +151,7 @@
+
+ AC_SUBST(ERLANG_CFLAGS)
+ AC_SUBST(ERLANG_LIBS)
++ AC_SUBST(ERLANG_SSL39)
+ AC_SUBST(ERLC)
+ AC_SUBST(ERL)
+ ])