Files @ 5aec9d013452
Branch filter:

Location: ohnobinki_overlay/media-plugins/live/live-2011.01.24.ebuild

5aec9d013452 3.7 KiB application/vnd.gentoo.ebuild Show Annotation Show as Raw Download as Raw
binki
media-plugins/live: Match live ebuild up more closely with the gentoo-x86-cvs version. Drop live-2009.06.02. Fix building live without live being previously installed (was trying to link against previously-installed live libraries).

(Portage version: 2.2.0_alpha27-r1/hg/Linux x86_64, signed Manifest commit with key 6BA81050)
# 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 <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=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."
}