# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="3" inherit eutils eutils toolchain-funcs multilib DESCRIPTION="Standards-based RTP/RTCP/RTSP multimedia streaming for embedded streaming applications" HOMEPAGE="http://www.live555.com/" SRC_URI="http://www.live555.com/liveMedia/public/${P/-/.}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" IUSE="" S=${WORKDIR} # Alexis Ballier # Be careful, bump this everytime you bump the package and the ABI has changed. # If you don't know, ask someone. LIVE_ABI_VERSION=3 src_prepare() { cp -pPR live live-shared || die mv live live-static || die cp "${FILESDIR}"/config.gentoo live-static/ || die cp "${FILESDIR}"/config.gentoo-so-r1 live-shared/ || die cd "${WORKDIR}"/${PN}-shared || die epatch "${FILESDIR}"/${PN}-2009.09.28-buildorder.patch epatch "${FILESDIR}"/${PN}-2009.06.02-libdeps.patch epatch "${FILESDIR}"/${PN}-recursive.patch cd "${WORKDIR}" || die case ${CHOST} in *-solaris*) sed -i \ -e '/^COMPILE_OPTS /s/$/ -DSOLARIS/' \ -e '/^LIBS_FOR_CONSOLE_APPLICATION /s/$/ -lsocket -lnsl/' \ live-static/config.gentoo \ live-shared/config.gentoo-so-r1 \ || die ;; *-darwin*) sed -i \ -e '/^COMPILE_OPTS /s/$/ -DBSD=1 -DHAVE_SOCKADDR_LEN=1/' \ -e '/^LINK /s/$/ /' \ -e '/^LIBRARY_LINK /s/$/ /' \ -e '/^LIBRARY_LINK_OPTS /s/-Bstatic//' \ live-static/config.gentoo \ || die static sed -i \ -e '/^COMPILE_OPTS /s/$/ -DBSD=1 -DHAVE_SOCKADDR_LEN=1/' \ -e '/^LINK /s/$/ /' \ -e '/^LIBRARY_LINK /s/=.*$/= $(CXX) -o /' \ -e '/^LIBRARY_LINK_OPTS /s:-shared.*$:-undefined suppress -flat_namespace -dynamiclib -install_name '"${EPREFIX}/usr/$(get_libdir)/"'$@:' \ live-shared/config.gentoo-so-r1 \ || die shared ;; esac } src_configure() { tc-export CC CXX export LIVE_ABI_VERSION LIBDIR=/usr/"$(get_libdir)" cd "${WORKDIR}"/${PN}-static || die ./genMakefiles gentoo cd "${WORKDIR}"/${PN}-shared || die ./genMakefiles gentoo-so-r1 } src_compile() { einfo "Beginning static library build" emake -C ${PN}-static -j1 || die "failed to build static libraries" einfo "Beginning shared library build" emake -C ${PN}-shared -j1 || die "failed to build shared libraries" einfo "Beginning programs build" emake -C ${PN}-shared/testProgs || die "failed to build test programs" emake -C ${PN}-shared/mediaServer || die "failed to build the mediaserver" } src_install() { dodir /usr/{$(get_libdir),bin} || die for library in UsageEnvironment liveMedia BasicUsageEnvironment groupsock; do dolib.a ${PN}-static/${library}/lib${library}.a || die mv ${PN}-shared/${library}/lib${library}.so{,.${LIVE_ABI_VERSION}} || die dolib.so ${PN}-shared/${library}/lib${library}.so.${LIVE_ABI_VERSION} || die dosym lib${library}.so.${LIVE_ABI_VERSION} /usr/$(get_libdir)/lib${library}.so || die insinto /usr/include/${library} doins ${PN}-shared/${library}/include/*h || die done # Should we really install these? dobin $(find ${PN}-shared/testProgs -type f -perm +111) || die #install included live555MediaServer aplication dobin ${PN}-shared/mediaServer/live555MediaServer || die # install docs dodoc ${PN}-shared/README || die } pkg_postinst() { ewarn "If you are upgrading from a version prior to live-2008.02.08" ewarn "Please make sure to rebuild applications built against ${PN}" ewarn "like vlc or mplayer. ${PN} may have had ABI changes and ${PN}" ewarn "support might be broken." }