You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-sound/sc2mpd/sc2mpd-1.1.7.ebuild

98 lines
3.2 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Implements the SongCast protocol for use by upmpdcli and mpd"
HOMEPAGE="https://www.lesbonscomptes.com/upmpdcli/index.html"
openhome_packageversion="20200704"
SRC_URI="
https://www.lesbonscomptes.com/upmpdcli/downloads/${P}.tar.gz
https://www.lesbonscomptes.com/upmpdcli/downloads/openhome-sc2-${openhome_packageversion}.tar.gz
"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
DEPEND="
dev-libs/expat
media-libs/alsa-lib
media-libs/libsamplerate
media-libs/libmpdclient
<=net-libs/libmicrohttpd-0.9.70
"
RDEPEND="${DEPEND}"
src_unpack() {
unpack ${P}.tar.gz
mkdir openhome || die "Can't create openhome directory"
cd openhome || die "Can't enter openhome directory"
unpack openhome-sc2-${openhome_packageversion}.tar.gz
}
src_prepare() {
cd "${WORKDIR}" || die "Couldn't cd to WORKDIR"
eapply "${FILESDIR}/${P}-python.patch"
eapply "${FILESDIR}/${P}-werror.patch"
eapply_user
}
src_configure() {
econf "--with-openhome=${WORKDIR}/openhome"
}
src_compile() {
#### Begin ohbuild.sh reverse engineer
# build_ohNet
cd "${WORKDIR}/openhome/ohNet" || die "Couldn't cd to ohNet dir"
make native_only=yes || die "ohnet make failed"
# build_ohNetGenerated
cd "${WORKDIR}/openhome/ohNetGenerated" || die "Couldn't cd to ohNetGenerated dir"
# TODO: get from environment/make target
deps="${WORKDIR}/openhome/ohNetGenerated/dependencies/Linux-x64/ohNet-Linux-x64-Release"
mkdir -p $deps/{include/ohnet,lib/{ohnet,t4,ui,PyOhNet}} || die "Couldn't mkdir deps"
cd $deps || die "Couldn't cd to deps dir"
ohnet="${WORKDIR}/openhome/ohNet"
find "$ohnet/Build" \( -name '*.a' -o -name '*.so' \) \
-exec cp '{}' lib ';' \
|| die "Couldn't cp binary libs"
cd "$ohnet/Build/Include" || die "Couldn't cd to include"
cp -R * "${deps}/include/ohnet" || die "Couldn't cp include"
# cd "$ohnet/Build/Tools" || die "Couldn't cd to tools"
# cp -R * "${deps}/lib/t4" || die "Couldn't cp tools"
cd "$ohnet/OpenHome/Net/T4/Templates" || die "Couldn't cd to templates"
cp -R * "${deps}/lib/t4" || die "Couldn't cp templates"
cd "$ohnet/OpenHome/Net/Bindings/Js/ControlPoint" || die "Couldn't cd to ui"
cp -R * "${deps}/lib/ui" || die "Couldn't cp ui"
cd "$ohnet/OpenHome/Net/Bindings/Python/PyOhNet" || die "Couldn't cd to py"
cp -R * "${deps}/lib/PyOhNet" || die "Couldn't cp py"
cd "${WORKDIR}/openhome/ohNetGenerated" || die "Couldn't cd later to ohNetGenerated dir"
make native_only=yes || die "ohnetgenerated make failed"
cd "Build/Include" || die "Couldn't cd later to include"
cp -R * "$ohnet/Build/Include" || die "Couldn't cp generated includes"
# build_ohTopology
cd "${WORKDIR}/openhome/ohTopology" || die "Couldn't cd to ohTopology dir"
mkdir -p build/Include/OpenHome/Av || die "Couldn't mkdir av"
cp -p OpenHome/Av/*.h build/Include/OpenHome/Av/ || die "Couldn't cp to av"
# build_ohSongcast
cd "${WORKDIR}/openhome/ohSongcast" || die "Couldn't cd to ohSongcast dir"
make release=1 library_static || die "Failed to build ohSongcast"
#### End ohbuild.sh reverse engineer
cd "${S}" || die "Failed to cd to source directory"
make || die "Failed to make sc2mpd"
}