media-plugins/live: bump to latest and convert to multilib.
authorAlexis Ballier <aballier@gentoo.org>
Fri, 4 Sep 2015 16:31:29 +0000 (18:31 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Fri, 4 Sep 2015 16:32:03 +0000 (18:32 +0200)
Package-Manager: portage-2.2.20.1

media-plugins/live/Manifest
media-plugins/live/live-2015.08.07.ebuild [new file with mode: 0644]

index fca8aadd987988097c1ba99a2b8bb6d11f6efd7c..d62f3066f2568ae333023e121af94bcb0fa395ee 100644 (file)
@@ -1,3 +1,4 @@
 DIST live.2012.01.07.tar.gz 534076 SHA256 8f3d167959b355c571caab2ee12cf70c89f09e93484f150080a59367b35c8131 SHA512 f38e8978a630078b9933d7540fee290d08a53b17137265392be9ce04f4e0e18b52953dc9cee208d8403e484d9e67c43a6e0700495aef708279ed090dcec72744 WHIRLPOOL 0ca17abb5ced98d0327f48163f975f2f65dbb3d37984f063e4946ccbc2dcad5f57dc7cccf16e2dce1ee496cef5012ecefc2a24aca75303c602a943f6f87cd419
 DIST live.2012.09.13.tar.gz 560899 SHA256 d5667373aed8766c0a983a71b37c208976e93f181974d3a1a4ab6d9845df9be7 SHA512 344c29038e9882b3ad8678ceec7755aca5013e3b0821ca6b9d846cc1c926c1dc125b71dce91986b760793123ebff9f291aaf0dbfb3570721968f641a2b530c5d WHIRLPOOL 1b76f557e2a8441b36ceba7d274eccf4b9337224c63c1b4d4d8b3e3ba4277d9bbf4e7ebc0665e914bc476cae5178ae09ad8bc0dc1024a676ded94b293c2a0b13
 DIST live.2013.02.11.tar.gz 570837 SHA256 2cd619e61b9293a094a2cbb8dd7a7505f8e74e6197b80989093425ac78a86d83 SHA512 c0f2efbf2af06d5e5f2bc58955ca37942022a439e3c48bec06a49b636e08d4d31855e884586448c698b0c90d35ef24f282570d0026c4454c9e58855ff36713be WHIRLPOOL 121fb4815c44db793a3c225faa5c16e68a8f975e45e8c4d492886aa82a57dd1571ad14076375767524cb848336b702cccc9ab17af79787ac489b6eb789fd9bd9
+DIST live.2015.08.07.tar.gz 616595 SHA256 1a27410aea9723e9e0c60850c57b52a08eed32a4ecfa88942026d2b9c0ac3fdc SHA512 afcd5552c4696a6a3a8e95759a908e8166611ec563728649e5d428b77dba9fbdd1db882a65359498bc5763d71ef2ccc442ec6d36ad672fa6709ae1203eaf8a3c WHIRLPOOL 34c2c4c3fdac6a105ec0a23f09ffdb6900d36fc180694d7b74fb6312463c1fc733637d9f244ee40aee8935752d0da86423a5e584f3efb33fae07a6696cf2b26b
diff --git a/media-plugins/live/live-2015.08.07.ebuild b/media-plugins/live/live-2015.08.07.ebuild
new file mode 100644 (file)
index 0000000..a787b31
--- /dev/null
@@ -0,0 +1,129 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit flag-o-matic eutils toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="Libraries for standards-based RTP/RTCP/RTSP multimedia streaming"
+HOMEPAGE="http://www.live555.com/"
+SRC_URI="http://www.live555.com/liveMedia/public/${P/-/.}.tar.gz
+       mirror://gentoo/${P/-/.}.tar.gz"
+
+LICENSE="LGPL-2.1"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="examples static-libs"
+DOCS=( "live-shared/README" )
+
+# Alexis Ballier <aballier@gentoo.org>
+# Be careful, bump this everytime you bump the package and the ABI has changed.
+# If you don't know, ask someone.
+LIVE_ABI_VERSION=7
+SLOT="0/${LIVE_ABI_VERSION}"
+
+src_unpack() {
+       unpack ${A}
+       mkdir -p "${S}"
+       mv "${WORKDIR}/live" "${S}/" || die
+}
+
+src_prepare() {
+       epatch "${FILESDIR}/${PN}-recursive2.patch"
+
+       if use static-libs ; then
+               cp -pPR live live-shared
+               mv live live-static
+       else
+               mv live live-shared
+       fi
+
+       use static-libs && cp "${FILESDIR}/config.gentoo" live-static
+       cp "${FILESDIR}/config.gentoo-so-r1" live-shared
+
+       case ${CHOST} in
+               *-solaris*)
+                       use static-libs && { sed -i \
+                               -e '/^COMPILE_OPTS /s/$/ -DSOLARIS -DXLOCALE_NOT_USED/' \
+                               -e '/^LIBS_FOR_CONSOLE_APPLICATION /s/$/ -lsocket -lnsl/' \
+                               live-static/config.gentoo \
+                               || die ; }
+                       sed -i \
+                               -e '/^COMPILE_OPTS /s/$/ -DSOLARIS -DXLOCALE_NOT_USED/' \
+                               -e '/^LIBS_FOR_CONSOLE_APPLICATION /s/$/ -lsocket -lnsl/' \
+                               live-shared/config.gentoo-so-r1 \
+                               || die
+               ;;
+               *-darwin*)
+                       use static-libs && { 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)/"'$@:' \
+                               -e '/^LIB_SUFFIX /s/so/dylib/' \
+                               live-shared/config.gentoo-so-r1 \
+                               || die shared
+               ;;
+       esac
+       multilib_copy_sources
+}
+
+src_configure() { :; }
+
+multilib_src_compile() {
+       tc-export CC CXX LD
+
+       if use static-libs ; then
+               cd "${BUILD_DIR}/live-static"
+
+               einfo "Beginning static library build"
+               ./genMakefiles gentoo
+               emake -j1 LINK_OPTS="-L. $(raw-ldflags)" || die "failed to build static libraries"
+       fi
+
+       cd "${BUILD_DIR}/live-shared"
+       einfo "Beginning shared library build"
+       ./genMakefiles gentoo-so-r1
+       local suffix=$(get_libname ${LIVE_ABI_VERSION})
+       emake -j1 LINK_OPTS="-L. ${LDFLAGS}" LIB_SUFFIX="${suffix#.}" || die "failed to build shared libraries"
+
+       for i in liveMedia groupsock UsageEnvironment BasicUsageEnvironment ; do
+               pushd "${BUILD_DIR}/live-shared/${i}" > /dev/null
+               ln -s lib${i}.${suffix#.} lib${i}$(get_libname) || die
+               popd > /dev/null
+       done
+
+       if multilib_is_native_abi; then
+               einfo "Beginning programs build"
+               for i in $(use examples && echo "testProgs") proxyServer mediaServer ; do
+                       cd "${BUILD_DIR}/live-shared/${i}"
+                       emake LINK_OPTS="-L. ${LDFLAGS}" || die "failed to build test programs"
+               done
+       fi
+}
+
+multilib_src_install() {
+       for library in UsageEnvironment liveMedia BasicUsageEnvironment groupsock; do
+               use static-libs && dolib.a live-static/${library}/lib${library}.a
+               dolib.so live-shared/${library}/lib${library}$(get_libname ${LIVE_ABI_VERSION})
+               dosym lib${library}$(get_libname ${LIVE_ABI_VERSION}) /usr/$(get_libdir)/lib${library}$(get_libname)
+
+               insinto /usr/include/${library}
+               doins live-shared/${library}/include/*h
+       done
+
+       if multilib_is_native_abi; then
+               # Should we really install these?
+               use examples && find live-shared/testProgs -type f -perm 755 -print0 | \
+                       xargs -0 dobin
+
+               dobin live-shared/mediaServer/live555MediaServer
+               dobin live-shared/proxyServer/live555ProxyServer
+       fi
+}