summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/openh323/openh323-1.13.5-r1.ebuild')
-rw-r--r--net-libs/openh323/openh323-1.13.5-r1.ebuild138
1 files changed, 138 insertions, 0 deletions
diff --git a/net-libs/openh323/openh323-1.13.5-r1.ebuild b/net-libs/openh323/openh323-1.13.5-r1.ebuild
new file mode 100644
index 000000000000..cd6b095b848d
--- /dev/null
+++ b/net-libs/openh323/openh323-1.13.5-r1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/openh323/openh323-1.13.5-r1.ebuild,v 1.1 2005/02/03 20:11:08 stkn Exp $
+
+IUSE="ssl"
+
+inherit eutils flag-o-matic multilib
+
+MY_P="${PN}-v${PV//./_}"
+
+S=${WORKDIR}/${PN}
+DESCRIPTION="Open Source implementation of the ITU H.323 teleconferencing protocol"
+HOMEPAGE="http://www.openh323.org/"
+SRC_URI="mirror://sourceforge/openh323/${MY_P}-src.tar.gz"
+
+SLOT="0"
+LICENSE="MPL-1.1"
+KEYWORDS="~x86 ppc ~amd64 ~sparc ~alpha"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-libs/pwlib-1.6.6
+ >=media-video/ffmpeg-0.4.7
+ ssl? ( dev-libs/openssl )"
+
+pkg_setup() {
+ # to prevent merge problems with broken makefiles from old
+ # pwlib versions, we double-check here.
+
+ if [ "` fgrep '\$(OPENSSLDIR)/include' /usr/share/pwlib/make/unix.mak`" ]
+ then
+ # patch unix.mak so it doesn't require annoying
+ # unmerge/merge cycle to upgrade
+ einfo "Fixing broken pwlib makefile."
+ cd /usr/share/pwlib/make
+ sed -i \
+ -e "s:-DP_SSL -I\$(OPENSSLDIR)/include -I\$(OPENSSLDIR)/crypto:-DP_SSL:" \
+ -e "s:^LDFLAGS.*\+= -L\$(OPENSSLDIR)/$(get_libdir) -L\$(OPENSSLDIR):LDFLAGS +=:" \
+ unix.mak
+ fi
+
+ if has_version ">=sys-devel/gcc-3.3.2"; then
+ ewarn "If you are experiencing problems emerging openh323 with gcc-3.3.2"
+ ewarn "please try using CFLAGS=\"-O1\" when emergeing"
+ ewarn "we are currently investigating this problem..."
+ ewarn ""
+ ewarn "<sleeping 10 seconds...>"
+ epause 10
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd ${S}
+ # fix and enable ffmpeg/h263 support (bug #32754)
+ epatch ${FILESDIR}/openh323-${PV}-ffmpeg.diff
+
+ # fix include order (bug #32522)
+ epatch ${FILESDIR}/openh323-${PV}-include-order.diff
+
+ # fix to compile on gcc-3.4 (bug #56951)
+ epatch ${FILESDIR}/${PN}-1.13.2-gcc34.diff
+
+ # fix ixjuser.h problems
+ epatch ${FILESDIR}/${PN}-1.13.2-ixjuser.diff
+}
+
+src_compile() {
+ local makeopts
+
+ # remove -fstack-protector, may cause problems (bug #75259)
+ filter-flags -fstack-protector
+
+ export PWLIBDIR=/usr/share/pwlib
+ export PTLIB_CONFIG=/usr/bin/ptlib-config
+ export OPENH323DIR=${S}
+
+ # NOTRACE avoid compilation problems, we disable PTRACING using NOTRACE=1
+ makeopts="${makeopts} ASNPARSER=/usr/bin/asnparser LDFLAGS=-L${S}/lib NOTRACE=1"
+
+ if use ssl; then
+ export OPENSSLFLAG=1
+ export OPENSSLDIR=/usr
+ export OPENSSLLIBS="-lssl -lcrypt"
+ fi
+
+ # use shipped speex version
+ econf \
+ --enable-localspeex || die
+
+ emake -j1 ${makeopts} opt || die "make failed"
+}
+
+src_install() {
+ local OPENH323_ARCH ALT_ARCH
+ # make NOTRACE=1 opt ==> linux_$ARCH_n
+ # make opt ==> linux_$ARCH_r
+
+ # amd64 needs special treatment
+ if [ ${ARCH} = "amd64" ]; then
+ OPENH323_ARCH="linux_x86_64_n"
+ else
+ OPENH323_ARCH="linux_${ARCH}_n"
+ fi
+
+ make PREFIX=/usr DESTDIR=${D} install || die "install failed"
+ dobin ${S}/samples/simple/obj_${OPENH323_ARCH}/simph323
+
+ # mod to keep gnugk happy
+ insinto /usr/share/openh323/src
+ newins ${FILESDIR}/openh323-1.11.7-emptyMakefile Makefile
+
+ # install version.h into $OPENH323DIR
+ insinto /usr/share/openh323
+ doins version.h
+
+ rm ${D}/usr/$(get_libdir)/libopenh323.so
+ dosym /usr/$(get_libdir)/libh323_${OPENH323_ARCH}.so.${PV} /usr/$(get_libdir)/libopenh323.so
+
+ # for backwards compatibility with _r versioned libraries
+ # (this might not work...)
+ ALT_ARCH=${OPENH323_ARCH/_n/_r}
+ for pv in ${PV} ${PV%.[0-9]} ${PV%.[0-9]*.[0-9]}; do
+ einfo "creating /usr/$(get_libdir)/libh323_${ALT_ARCH}.so.${pv} symlink"
+ dosym /usr/$(get_libdir)/libh323_${OPENH323_ARCH}.so.${PV} /usr/$(get_libdir)/libh323_${ALT_ARCH}.so.${pv}
+ done
+ dosym /usr/$(get_libdir)/libh323_${OPENH323_ARCH}.so.${PV} /usr/$(get_libdir)/libh323_${ALT_ARCH}.so
+
+ # these should point to the right directories,
+ # openh323.org apps and others need this
+ dosed "s:^OH323_LIBDIR = \$(OPENH323DIR).*:OH323_LIBDIR = /usr/$(get_libdir):" \
+ /usr/share/openh323/openh323u.mak
+ dosed "s:^OH323_INCDIR = \$(OPENH323DIR).*:OH323_INCDIR = /usr/include/openh323:" \
+ /usr/share/openh323/openh323u.mak
+ # this is hardcoded now? nice...
+ dosed "s:^\(OPENH323DIR[ \t]\+=\) ${S}:\1 /usr/share/openh323:" \
+ /usr/share/openh323/openh323u.mak
+}