diff options
author | Christian Faulhammer <fauli@gentoo.org> | 2008-01-11 11:43:34 +0000 |
---|---|---|
committer | Christian Faulhammer <fauli@gentoo.org> | 2008-01-11 11:43:34 +0000 |
commit | 2cacf5fc557d582e55fc26fecc3ef780686081db (patch) | |
tree | cc9e2b152ea7e1836e7298a8145a538198199bb7 /net-im | |
parent | Fixed the patch when building with USE=-ssl, dropped ppc (bug #199206) (diff) | |
download | historical-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/ChangeLog | 12 | ||||
-rw-r--r-- | net-im/ejabberd/Manifest | 27 | ||||
-rw-r--r-- | net-im/ejabberd/ejabberd-1.1.4-r1.ebuild | 136 | ||||
-rw-r--r-- | net-im/ejabberd/files/digest-ejabberd-1.1.4-r1 | 3 | ||||
-rw-r--r-- | net-im/ejabberd/files/ejabberd-1.1.4-erlang-12.patch | 131 |
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) + ]) |