From aa70e909c50b68ff43b3341f7483d0fb223b0c15 Mon Sep 17 00:00:00 2001 From: Alexis Ballier Date: Fri, 4 Sep 2015 18:31:29 +0200 Subject: [PATCH] media-plugins/live: bump to latest and convert to multilib. Package-Manager: portage-2.2.20.1 --- media-plugins/live/Manifest | 1 + media-plugins/live/live-2015.08.07.ebuild | 129 ++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 media-plugins/live/live-2015.08.07.ebuild diff --git a/media-plugins/live/Manifest b/media-plugins/live/Manifest index fca8aadd9879..d62f3066f256 100644 --- a/media-plugins/live/Manifest +++ b/media-plugins/live/Manifest @@ -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 index 000000000000..a787b3130fd0 --- /dev/null +++ b/media-plugins/live/live-2015.08.07.ebuild @@ -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 +# 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 +} -- 2.26.2