Attempt to fix bug #308945
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
Sat, 19 Jun 2010 12:11:02 +0000 (12:11 +0000)
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
Sat, 19 Jun 2010 12:11:02 +0000 (12:11 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

net-misc/siproxd/ChangeLog
net-misc/siproxd/Manifest
net-misc/siproxd/files/siproxd-libtool-2.2.patch [new file with mode: 0644]
net-misc/siproxd/siproxd-0.8.0-r1.ebuild [new file with mode: 0644]

index 840b9b61269a15d477934576113b9216462e8910..c53aaf2e060bc8abbccf0167121fdee9ecbfb575 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-misc/siproxd
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/siproxd/ChangeLog,v 1.15 2010/03/03 12:17:21 fauli Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/siproxd/ChangeLog,v 1.16 2010/06/19 12:11:02 chithanh Exp $
+
+*siproxd-0.8.0-r1 (19 Jun 2010)
+
+  19 Jun 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+  +siproxd-0.8.0-r1.ebuild, +files/siproxd-libtool-2.2.patch:
+  Attempt to fix bug #308945, thanks to ssuominen for the pointer
 
   03 Mar 2010; Christian Faulhammer <fauli@gentoo.org> siproxd-0.8.0.ebuild:
   stable x86, bug 299419
index c1c1849f21be49f405d8a511686d43110648c0fc..1348c340a9f6734d4b1f0691c34919f0e55e6fa9 100644 (file)
@@ -1,5 +1,7 @@
+AUX siproxd-libtool-2.2.patch 369 RMD160 094f3c681f7bf0bad89ad2389325d3ba92892812 SHA1 4212f1f12347256152975d67e7e3c04a0fd39c92 SHA256 c9172450ea4853ec7efc8d1e941731afa18f619c8448ac8e8bbab8f441d83f82
 AUX siproxd.rc6 691 RMD160 42c969dc0d7306bb81b2f51eb4bf9b11a845470c SHA1 1565b7fad43cf0ead77ff7826478cb9500178f50 SHA256 b0e41722da2ce7b97abe2663d1b83fe764edd69c810d24708a8ab7f938811b26
 DIST siproxd-0.8.0.tar.gz 824404 RMD160 447bc8891632dc23a7685af8d2e958fb5ee9cfb2 SHA1 d2f23a01ea60e3648efd46136e02bc84d1e934a1 SHA256 1a0306dbf5dd65f2c6d779bd449cbabba8c1a4cc79ca034e9cc83836c60f8542
+EBUILD siproxd-0.8.0-r1.ebuild 3588 RMD160 e4e2af51be3725263fdbd0a311c7eb543bad42b2 SHA1 f000e797699a60dd0bf05d6871904f37909b6a27 SHA256 6cd171e2a3bfe1149c285289a2a0afab632e5b34a2c18cad736bb9f5f0aa912c
 EBUILD siproxd-0.8.0.ebuild 3380 RMD160 09a3d9f27643f8b48606ce3014cfcbed4bd840ef SHA1 79c35679f11bcd7d7107f2e12dcf76392ac70f9d SHA256 7053df7ab21c4409f67bc872c2baecb473476e92bfd471ab7b77111414a845d2
-MISC ChangeLog 2489 RMD160 4b8ab87422e55140f7a6403a42e24094e5002bf2 SHA1 961313010bacd0f626be3121a5ac503496f4ba53 SHA256 b1d9b44b1eb10e74f1a7d9449362c9a37c848660025058f790d14966339c88f3
+MISC ChangeLog 2723 RMD160 5e3ee6bed8c6a42d75eee9e2f3ffd61c259c5af1 SHA1 a660c095d01a6dbbd8f41374e5b0fa5f1e551201 SHA256 9343a88b2e40e5ea8ac60ece008851d95e6b9361efd5966166ede9e8f5cb470d
 MISC metadata.xml 159 RMD160 1cb780cd4240aaeb1b22a09a786b8ed4b0803823 SHA1 c96c65dcb37a559953bf3446b6719b0cac3585a8 SHA256 6831e631b05a25ddae6c3e148d49b98877ee1dd318185a0c95f3cad8a89bf34d
diff --git a/net-misc/siproxd/files/siproxd-libtool-2.2.patch b/net-misc/siproxd/files/siproxd-libtool-2.2.patch
new file mode 100644 (file)
index 0000000..6210ef0
--- /dev/null
@@ -0,0 +1,12 @@
+diff -r -U 2 a/src/plugins.h b/src/plugins.h
+--- a/src/plugins.h    2010-01-07 12:44:38.000000000 +0100
++++ b/src/plugins.h    2010-06-19 13:56:30.960679284 +0200
+@@ -25,4 +25,8 @@
+ 
+ 
++#ifndef lt__PROGRAM__LTX_preloaded_symbols
++#define lt__PROGRAM__LTX_preloaded_symbols lt_libltdl_LTX_preloaded_symbols
++#endif
++
+ /* Plugins must return STS_SUCCESS / SUCCESS_FAILURE */
+ 
diff --git a/net-misc/siproxd/siproxd-0.8.0-r1.ebuild b/net-misc/siproxd/siproxd-0.8.0-r1.ebuild
new file mode 100644 (file)
index 0000000..8c160cf
--- /dev/null
@@ -0,0 +1,104 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/siproxd/siproxd-0.8.0-r1.ebuild,v 1.1 2010/06/19 12:11:02 chithanh Exp $
+
+EAPI="2"
+
+inherit eutils
+
+DESCRIPTION="A proxy/masquerading daemon for the SIP protocol"
+HOMEPAGE="http://siproxd.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples doc static"
+# TODO: debug can be used but dmalloc is breaking the build
+# upstream has been contacted, see bug 2649238 in their bugtracker
+
+RDEPEND=">=net-libs/libosip-3.0.0"
+#      debug? ( dev-libs/dmalloc[threads] )"
+DEPEND="${RDEPEND}
+       doc? ( app-text/docbook-sgml-utils
+               app-text/docbook-sgml-dtd:4.2 )"
+# docbook-sgml-utils is for building doc
+# docbook-sgml-dtd is for the doc dtd even if docbook-sgml-utils depends on it
+
+pkg_setup() {
+       enewgroup siproxd
+       enewuser siproxd -1 -1 /dev/null siproxd
+}
+
+src_prepare() {
+       # make the daemon run as user 'siproxd' by default
+       sed -i -e "s:nobody:siproxd:" doc/siproxd.conf.example \
+               || die "patching doc/siproxd.conf.example failed"
+       # do not fail when building with external libltdl
+       sed -i 's/libltdl //' Makefile.in Makefile.am || die "patching Makefile failed"
+       epatch "${FILESDIR}/${PN}-libtool-2.2.patch"
+       # do not crash when building with external libltdl, bug 308495
+       sed -i 's|"../libltdl/ltdl.h"|<ltdl.h>|' src/plugins.h || die "patching plugins.h failed"
+}
+
+src_configure() {
+       # static-libosip2 make it link statically against libosip2
+       # static build static version of plugins, forced to true
+       econf \
+               $(use_enable doc) \
+               $(use_enable static static-libosip2) \
+               --enable-static
+               #$(use debug && use_enable debug dmalloc) \
+
+       # statically linked plugins to libosip2 causes a shared lib linking with
+       # static lib (gcc seems not to like it : portable issue it says).
+       # there was also DT_TEXREL issue and stripping of static plugins failed
+       # so shared lib has to be used for plugins
+       # upstream has been contacted, see bug 2649351 in their bugtracker
+       if use static; then
+               sed -i -r -e \
+                       "s:LIBS =(.*)( \/[^ ]*libosip[^ ]*\.a)( \/[^ ]*libosip[^ ]*\.a)(.*):LIBS_STATIC =\1\2\3\4\nLIBS = \1\4 -losip2 -losipparser2:" \
+                       src/Makefile || die "patching src/Makefile failed"
+               sed -i -e \
+                       "s:\$(siproxd_LDADD) \$(LIBS):\$(siproxd_LDADD) \$(LIBS_STATIC):" \
+                       src/Makefile || die "patching src/Makefile failed"
+       fi
+}
+
+src_install() {
+       einstall || die "einstall failed"
+
+       newinitd "${FILESDIR}"/${PN}.rc6 ${PN} || die "newinitd failed"
+
+       dodoc AUTHORS ChangeLog NEWS README RELNOTES TODO \
+               doc/FAQ doc/FLI4L_HOWTO.txt doc/KNOWN_BUGS \
+               || die "dodoc failed"
+
+       if use doc; then
+               dodoc doc/RFC3261_compliance.txt || die "dodoc failed"
+               # auto-generated doc is not auto-installed
+               # upstream has been contacted, see bug 2649333 in their bugtracker
+               dohtml -r doc/html/ || die "dohtml failed"
+               # pdf is not build all the time
+               if built_with_use app-text/docbook-sgml-utils jadetex; then
+                       dodoc doc/pdf/*.pdf || die "dodoc failed"
+               fi
+       fi
+
+       if use examples; then
+               docinto examples
+               dodoc doc/sample_*.txt || die "dodoc failed"
+       fi
+
+       # set up siproxd directories
+       keepdir /var/{lib,run}/${PN} || die "keepdir failed"
+       fowners siproxd:siproxd /var/{lib,run}/${PN} || die "fowners failed"
+}
+
+pkg_postinst() {
+       if use static; then
+               elog "static USE flag does not build a _fully_ statically linked binary"
+               elog "only libosip2 and libosipparser2 are statically linked"
+               elog "In addition, plugins are dynamically linked with those libs"
+       fi
+}