--- /dev/null
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Network focused portable C++ class library providing high level functions"
+HOMEPAGE="http://www.opalvoip.org/"
+SRC_URI="mirror://sourceforge/opalvoip/${P}.tar.bz2
+ doc? ( mirror://sourceforge/opalvoip/${P}-htmldoc.tar.bz2 )"
+
+LICENSE="MPL-1.0"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+# default enabled are features from 'minsize', the most used according to ptlib
+IUSE="alsa +asn debug doc +dtmf examples ffmpeg ftp +http ipv6
+xmpp ldap libressl lua mail odbc oss pch pulseaudio remote sasl sdl serial
+shmvideo snmp soap socks +sound ssl static-libs +stun telnet tts v4l +video
+vxml wav xml xmlrpc"
+
+CDEPEND="
+ ldap? ( net-nds/openldap )
+ lua? ( dev-lang/lua )
+ odbc? ( dev-db/unixODBC )
+ pulseaudio? ( media-sound/pulseaudio )
+ sasl? ( dev-libs/cyrus-sasl:2 )
+ sdl? ( media-libs/libsdl )
+ sound? ( alsa? ( media-libs/alsa-lib ) )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ video? ( v4l? ( media-libs/libv4l ) )
+ xml? ( dev-libs/expat )
+ !!dev-libs/pwlib"
+RDEPEND="${CDEPEND}
+ ffmpeg? ( virtual/ffmpeg )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex
+ video? ( v4l? ( sys-kernel/linux-headers ) )"
+
+# NOTES:
+# media-libs/libdc1394:2 should be supported but headers location have changed
+# tools/ directory is ignored
+# avc plugin is disabled to fix bug 276514, see upstream bug 2821744
+
+REQUIRED_USE="sdl? ( video )
+ xmpp? ( xml )
+ vxml? ( http tts xml )
+ xmlrpc? ( http xml )
+ soap? ( http xml )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.10.9-svn_revision_override.patch" \
+ "${FILESDIR}/${PN}-2.10.9-pkgconfig_ldflags.patch" \
+ "${FILESDIR}/${PN}-2.12.4-respect_cxxflags.patch" \
+ "${FILESDIR}/${PN}-2.12.4-sdl-linking.patch"
+
+ if ! use telnet; then
+ epatch "${FILESDIR}/${PN}-2.10.9-disable-telnet-symbols.patch"
+ fi
+
+ # remove visual studio related files from samples/
+ if use examples; then
+ rm -f samples/*/*.vcproj
+ rm -f samples/*/*.sln
+ rm -f samples/*/*.dsp
+ rm -f samples/*/*.dsw
+ fi
+
+ if [[ ! -z ${TARGET+set} ]]; then
+ ewarn "TARGET variable is set. Removing as it would break the build, bug #465722."
+ unset TARGET
+ fi
+}
+
+src_configure() {
+ local myconf=""
+
+ # plugins are disabled only if ! sound and ! video
+ if ! use sound && ! use video; then
+ myconf+=" --disable-plugins"
+ else
+ myconf+=" --enable-plugins"
+ fi
+
+ # minsize: presets of features (overwritten by use flags)
+ # ansi-bool, atomicity: there is no reason to disable those features
+ # internalregex: we want to use system one
+ # sunaudio and bsdvideo are respectively for SunOS and BSD's
+ # appshare, vfw: only for windows
+ # samples: no need to build samples
+ # avc: disabled, bug 276514, upstream bug 2821744
+ # mlib: SUN mediaLibs. Not in tree.
+ # pipechan, configfile, resolver, url: force enabling
+ econf ${myconf} \
+ --disable-minsize \
+ --enable-ansi-bool \
+ --enable-atomicity \
+ --disable-internalregex \
+ --disable-sunaudio \
+ --disable-bsdvideo \
+ --disable-appshare \
+ --disable-vfw \
+ --disable-samples \
+ --disable-avc \
+ --disable-mlib \
+ --enable-configfile \
+ --enable-pipechan \
+ --enable-resolver \
+ --enable-url \
+ $(use_enable alsa) \
+ $(use_enable asn) \
+ $(use_enable debug exceptions) \
+ $(use_enable debug memcheck) \
+ $(use_enable debug tracing) \
+ $(use_enable dtmf) \
+ --disable-esd \
+ $(use_enable ffmpeg ffvdev) \
+ $(use_enable ftp) \
+ $(use_enable http) \
+ $(use_enable http httpforms) \
+ $(use_enable http httpsvc) \
+ --disable-dc \
+ $(use_enable ipv6) \
+ $(use_enable xmpp jabber) \
+ $(use_enable ldap openldap) \
+ $(use_enable lua) \
+ $(use_enable mail pop3smtp) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable odbc) \
+ $(use_enable oss) \
+ $(use_enable pch) \
+ $(use_enable remote remconn) \
+ $(use_enable sasl) \
+ $(use_enable sdl) \
+ $(use_enable serial) \
+ $(use_enable shmvideo) \
+ $(use_enable snmp) \
+ $(use_enable soap) \
+ $(use_enable socks) \
+ $(use_enable sound audio) \
+ $(use_enable ssl openssl) \
+ $(use_enable stun) \
+ $(use_enable telnet) \
+ $(use_enable tts) \
+ --disable-v4l \
+ $(use_enable v4l v4l2) \
+ $(use_enable video) $(use_enable video vidfile) \
+ $(use_enable vxml) \
+ $(use_enable wav wavfile) \
+ $(use_enable xml expat) \
+ $(use_enable xmlrpc)
+}
+
+src_compile() {
+ local makeopts=""
+ tc-env_build
+
+ use debug && makeopts="debug"
+
+ emake ${makeopts}
+}
+
+src_install() {
+ local makeopts=""
+
+ use debug && makeopts="DEBUG=1"
+
+ emake DESTDIR="${D}" ${makeopts} install
+
+ # Get rid of static libraries if not requested
+ # There seems to be no easy way to disable this in the build system
+ if ! use static-libs; then
+ rm -v "${D}"/usr/lib*/*.a || die
+ fi
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ fi
+
+ dodoc History.txt ReadMe.txt ReadMe_QOS.txt
+
+ if use sound || use video; then
+ newdoc plugins/ReadMe.txt ReadMe-Plugins.txt
+ fi
+
+ if use examples; then
+ local exampledir="/usr/share/doc/${PF}/examples"
+ local basedir="samples"
+ local sampledirs="`ls samples --hide=Makefile`"
+
+ # first, install Makefile
+ insinto ${exampledir}/
+ doins ${basedir}/Makefile || die "doins failed"
+
+ # now, all examples
+ for x in ${sampledirs}; do
+ insinto ${exampledir}/${x}/
+ doins ${basedir}/${x}/* || die "doins failed"
+ done
+ fi
+}
+
+pkg_postinst() {
+ if use examples; then
+ ewarn "All examples have been installed, some of them will not work on your system"
+ ewarn "it will depend of the enabled USE flags."
+ ewarn "To test examples, you have to run PTLIBDIR=/usr/share/ptlib make"
+ fi
+
+ if ! use sound || ! use video; then
+ ewarn "You have disabled sound or video USE flags."
+ ewarn "Most audio/video have been disabled silently even if enabled via USE flags."
+ ewarn "Having a feature enabled via use flag but disabled can lead to issues."
+ fi
+
+ ewarn "If you've just removed pwlib to install ptlib, some packages will be broken."
+ ewarn "Please use 'revdep-rebuild' from app-portage/gentoolkit to check."
+ ewarn "If some packages need pwlib, consider removing ptlib and re-installing pwlib"
+ ewarn "or help us to make them live together."
+}