contrib/kodi-gbm/Pkgfile

91 lines
4.2 KiB
Plaintext
Raw Permalink Normal View History

2021-11-07 13:37:28 +01:00
# Description: Open source home theater software, running in a gbm buffer
# URL: https://kodi.tv/
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on: crossguid dbus flatbuffers fstrcmp libass libcdio libdisplay-info libdvdread libinput libmicrohttpd libxkbcommon mesa openjdk20-jdk rapidjson spdlog swig taglib tinyxml tinyxml2 xkeyboard-config
2022-06-06 16:40:24 +02:00
# Optional: alsa-lib avahi bluez dav1d libmicrohttpd libnfs libnghttp2 libva libva-vdpau-driver libxslt mariadb mysql pipewire pulseaudio
2021-11-07 13:37:28 +01:00
name=kodi-gbm
version=21.0
2024-03-03 14:43:44 +01:00
release=1
_codename=Omega
2021-11-07 13:37:28 +01:00
source=(https://github.com/xbmc/xbmc/archive/$version-$_codename/xbmc-$version-$_codename.tar.gz)
2021-11-07 13:37:28 +01:00
build() {
# clang? {{{
if [[ $PKGMK_KODI_USE_CLANG == on ]]; then
[[ -e /usr/bin/clang && -e /usr/bin/clang++ && -e /usr/bin/lld ]] && export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib LDFLAGS+=' -fuse-ld=lld' && KODI_EXTRA+=' -D CMAKE_CXX_COMPILER_AR=/usr/bin/llvm-ar -D CMAKE_CXX_COMPILER_RANLIB=/usr/bin/llvm-ranlib -D CMAKE_NM=/usr/bin/llvm-nm -D ENABLE_LLD=ON -D USE_LTO=8' || echo "Please install clang first"
fi
# }}}
unset PATH
export PATH="/usr/lib/java/openjdk20-jdk/bin:/usr/bin:/bin:/usr/sbin:/sbin"
2021-11-07 13:37:28 +01:00
# optionals {{{
prt-get isinst alsa-lib && KODI_EXTRA+=' -D ENABLE_ALSA=ON' || KODI_EXTRA+=' -D ENABLE_ALSA=OFF'
prt-get isinst avahi && KODI_EXTRA+=' -D ENABLE_AVAHI=ON' || KODI_EXTRA+=' -D ENABLE_AVAHI=OFF'
prt-get isinst bluez sbc && KODI_EXTRA+=' -D ENABLE_BLUETOOTH=ON' || KODI_EXTRA+=' -D ENABLE_BLUETOOTH=OFF'
prt-get isinst dav1d && KODI_EXTRA+=' -D ENABLE_INTERNAL_DAV1D=OFF' || KODI_EXTRA+=' -D ENABLE_INTERNAL_DAV1D=ON'
prt-get isinst libmicrohttpd && KODI_EXTRA+=' -D ENABLE_MICROHTTPD=ON' || KODI_EXTRA+=' -D ENABLE_MICROHTTPD=OFF'
prt-get isinst libnfs && KODI_EXTRA+=' -D ENABLE_NFS=ON' || KODI_EXTRA+=' -D ENABLE_NFS=OFF'
prt-get isinst libva && KODI_EXTRA+=' -D ENABLE_VAAPI=ON' || KODI_EXTRA+=' -D ENABLE_VAAPI=OFF'
prt-get isinst libva-vdpau-driver && KODI_EXTRA+=' -D ENABLE_VDPAU=ON' || KODI_EXTRA+=' -D ENABLE_VDPAU=OFF'
prt-get isinst libxslt && KODI_EXTRA+=' -D ENABLE_XSLT=ON' || KODI_EXTRA+=' -D ENABLE_XSLT=OFF'
prt-get isinst mysql && KODI_EXTRA+=' -D ENABLE_MYSQLCLIENT=ON'
prt-get isinst mariadb && KODI_EXTRA+=' -D ENABLE_MARIADBCLIENT=ON'
prt-get isinst pulseaudio && KODI_EXTRA+=' -D ENABLE_PULSEAUDIO=ON' || KODI_EXTRA+=' -D ENABLE_PULSEAUDIO=OFF'
2023-02-19 12:57:38 +01:00
prt-get isinst pipewire && KODI_EXTRA+=' -D ENABLE_PIPEWIRE=ON' || KODI_EXTRA+=' -D ENABLE_PIPEWIRE=OFF'
2021-11-07 13:37:28 +01:00
prt-get isinst ccache && PATH="$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')"
# }}}
# grabbed off from gentoo
for i in xbmc-$version-$_codename/tools/depends/native/{TexturePacker,JsonSchemaBuilder}/src; do
pushd $i;
autoreconf -vfi;
popd
done
sed -e 's/autoreconf -vif/echo "autoreconf already done"/' -i \
xbmc-$version-$_codename/tools/depends/native/TexturePacker/src/autogen.sh \
2022-09-27 23:03:41 +02:00
xbmc-$version-$_codename/tools/depends/native/JsonSchemaBuilder/src/autogen.sh
2024-01-28 13:00:24 +01:00
2021-11-07 13:37:28 +01:00
cmake -S xbmc-$version-$_codename -B build -G Ninja $KODI_EXTRA \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_INSTALL_LIBDIR=lib \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS -Wno-error=restrict" \
2021-11-07 13:37:28 +01:00
-D CMAKE_C_FLAGS_RELEASE="$CFLAGS" \
-D CORE_PLATFORM_NAME=gbm \
2023-02-19 12:57:38 +01:00
-D ENABLE_EGL=ON \
-D APP_RENDER_SYSTEM=gl \
2021-11-07 13:37:28 +01:00
-D ENABLE_DBUS=ON \
-D ENABLE_DVDCSS=OFF \
2021-11-07 13:37:28 +01:00
-D ENABLE_EVENTCLIENTS=ON \
-D ENABLE_UDEV=ON \
-D ENABLE_PYTHON=ON \
-D ENABLE_ISO9660PP=OFF \
2023-02-19 12:57:38 +01:00
-D ENABLE_GOLD=OFF \
2021-11-07 13:37:28 +01:00
-D ENABLE_TESTING=OFF \
-D VERBOSE=OFF \
-D ENABLE_INTERNAL_FFMPEG=OFF \
2023-02-19 12:57:38 +01:00
-D ENABLE_INTERNAL_CROSSGUID=OFF \
2021-11-07 13:37:28 +01:00
-D ENABLE_INTERNAL_FMT=OFF \
-D ENABLE_INTERNAL_FSTRCMP=OFF \
-D ENABLE_INTERNAL_FLATBUFFERS=OFF \
-D ENABLE_INTERNAL_GTEST=OFF \
-D ENABLE_INTERNAL_RapidJSON=OFF \
-Wno-dev
2023-02-19 12:57:38 +01:00
#-D CROSSGUID_URL="$SRC/crossguid-$_crossguid_version.tar.gz" \
2021-11-07 13:37:28 +01:00
cmake --build build
DESTDIR=$PKG cmake --build build --target install
2022-06-25 16:44:35 +02:00
export PYTHONHASHSEED=0
/usr/bin/python3 -m compileall -d / $PKG/usr/lib
/usr/bin/python3 -O -m compileall -d / $PKG/usr/lib
2022-06-25 16:44:35 +02:00
rm -r $PKG/usr/{lib/firewalld,share/doc}
2021-11-07 13:37:28 +01:00
}
2022-09-27 23:03:41 +02:00
2021-11-07 13:37:28 +01:00
# vim: foldmethod=marker foldlevelstart=1