void-packages/srcpkgs/kodi/template

121 lines
4.0 KiB
Bash

# Template file for 'kodi'
pkgname=kodi
version=18.1
revision=1
_codename="Leia"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
configure_args="-DENABLE_INTERNAL_CROSSGUID=OFF -DWITH_FFMPEG=/usr"
short_desc="Software media player and entertainment hub for digital media"
maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="GPL-2.0-or-later"
homepage="http://www.kodi.tv"
distfiles="https://github.com/xbmc/xbmc/archive/${version}-${_codename}.tar.gz"
checksum=bc1ef0e271d0b6ce2e1be7546ad4f7d330930d7631cc19a9bbc5f75ddc586166
patch_args="-Np1"
LDFLAGS+=" -Wl,-z,stack-size=1048576"
lib32disabled=yes
only_for_archs="i686 i686-musl x86_64 x86_64-musl aarch64 aarch64-musl
ppc64le ppc64le-musl ppc64-musl"
hostmakedepends="
automake libtool pkg-config gperf cmake zip unzip nasm yasm python-devel
gettext-devel libltdl-devel curl flatbuffers"
makedepends="
eudev-libudev-devel pcre-devel expat-devel libpng-devel libjpeg-turbo-devel
libXrandr-devel avahi-libs-devel pulseaudio-devel samba-devel tiff-devel
libmysqlclient-devel libmpeg2-devel wavpack-devel zlib-devel lzo-devel
libXmu-devel glew-devel fribidi-devel sqlite-devel libcdio-devel freetype-devel
jasper-devel faac-devel SDL2_image-devel faad2-devel libmodplug-devel libressl-devel
libmad-devel fontconfig-devel libXinerama-devel libsamplerate-devel libmms-devel
enca-devel boost-devel libcurl-devel libva-devel libvdpau-devel libass-devel
libbluetooth-devel yajl-devel libplist-devel librtmp-devel tinyxml-devel
taglib-devel libcap-devel lame-devel libbluray-devel libnfs-devel ffmpeg-devel
giflib-devel libxslt-devel gnutls-devel libssh-devel libmicrohttpd-devel
libcec-devel dcadec-devel crossguid flatbuffers-devel fmt-devel lcms2-devel
libfstrcmp-devel rapidjson ffmpeg-devel"
# The following dependencies are dlopen(3)ed.
depends="libbluray libmad libvorbis libcurl libflac libmodplug libass libmpeg2
lame librtmp libnfs>=1.9.7 libplist>=1.12"
depends+=" glxinfo hicolor-icon-theme desktop-file-utils xdpyinfo"
case "$XBPS_TARGET_MACHINE" in
aarch64*)
hostmakedepends+=" libmysqlclient-devel SDL2_image-devel lzo-devel";
makedepends+=" python-devel ffmpeg-devel";
configure_args+=" -DENABLE_LDGOLD=Off -DENABLE_VAAPI=OFF";
_kodi_nojava=yes
;;
esac
# musl builds need generated addons (no java).
# gold broken with musl
case "$XBPS_MACHINE" in
*-musl) _kodi_nojava=yes; configure_args+=" -DENABLE_LDGOLD=Off";;
*) hostmakedepends+=" swig openjdk-jre";;
esac
pre_configure() {
if [ "$CROSS_BUILD" ]; then
find -type f | \
grep "configure\.ac\|Makefile\|cmake\|config\.site" | \
xargs sed -i -e "s;-isystem;-I;g"
fi
# Copy generated files to avoid requiring java.
if [ "${_kodi_nojava}" ]; then
mkdir -p build/build/swig
# THESE FILES MUST BE UPDATED WITH EVERY VERSION BUMP!
cp -r $FILESDIR/swig.nojava-$version/* -t build/build/swig
cp $FILESDIR/CMakeCache.txt.nojava build/CMakeCache.txt
echo "set(FOUND_SWIG Yes)" > cmake/modules/FindSWIG.cmake
else
. /etc/profile.d/10_openjdk.sh
fi
if [ "$CROSS_BUILD" ]; then
for i in JsonSchemaBuilder TexturePacker; do
cat > cmake/modules/Find$i.cmake <<EOF
add_executable($i::$i IMPORTED GLOBAL)
set_target_properties($i::$i PROPERTIES
IMPORTED_LOCATION "\${CORE_SOURCE_DIR}/tools/depends/native/$i/bin/$i")
set_target_properties($i::$i PROPERTIES FOLDER Tools)
EOF
done
fi
}
pre_build() {
if [ "$CROSS_BUILD" ]; then
for i in JsonSchemaBuilder TexturePacker; do
CC= LD= CXX= LDFLAGS= CFLAGS= CXXFLAGS= \
make -C tools/depends/native/$i
done
fi
}
post_build() {
# Rebuild for target
if [ "$CROSS_BUILD" ]; then
for i in JsonSchemaBuilder TexturePacker; do
make -C tools/depends/native/$i clean all \
CC="$CC" CXX="$CXX" LD="$LD" AR="$AR" RANLIB="$RANLIB" \
CPP="$CPP" AS="$AS" OBJDUMP="$OBJDUMP" \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
done
fi
}
kodi-devel_package() {
short_desc+=" - development files"
depends="${sourcepkg}>=${version}_${revision}"
pkg_install() {
vmove usr/include
vmove usr/share/kodi/cmake
}
}