diff options
author | graysky | 2022-12-15 18:26:42 -0500 |
---|---|---|
committer | graysky | 2022-12-15 18:26:44 -0500 |
commit | 629e20610fd7875b7c4eb514151f92326d94e64c (patch) | |
tree | f0fba2771c0c627b0a9e2366372bb146916768dc | |
parent | c1c785227c0fd9f3d2a8136487f04ef01873432e (diff) | |
download | aur-629e20610fd7875b7c4eb514151f92326d94e64c.tar.gz |
Go back to naming scheme: kodi-branch-git
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | 0001-add-dav1d-patch-to-build-system.patch | 29 | ||||
-rw-r--r-- | PKGBUILD | 45 | ||||
-rw-r--r-- | build-fix-for-dav1d-1.0.0.patch | 78 |
4 files changed, 151 insertions, 21 deletions
@@ -1,5 +1,5 @@ pkgbase = kodi-matrix-git - pkgver = r57338.dcec5f49743 + pkgver = r57747.813a194c4e8 pkgrel = 1 url = https://kodi.tv arch = x86_64 @@ -66,7 +66,8 @@ pkgbase = kodi-matrix-git noextract = fstrcmp-0.7.D001.tar.gz noextract = flatbuffers-1.12.0.tar.gz noextract = libudfread-1.1.0.tar.gz - source = git://github.com/xbmc/xbmc.git#branch=Matrix + options = !lto + source = git+https://github.com/xbmc/xbmc.git#branch=Matrix source = libdvdcss-1.4.2-Leia-Beta-5.tar.gz::https://github.com/xbmc/libdvdcss/archive/1.4.2-Leia-Beta-5.tar.gz source = libdvdnav-6.0.0-Leia-Alpha-3.tar.gz::https://github.com/xbmc/libdvdnav/archive/6.0.0-Leia-Alpha-3.tar.gz source = libdvdread-6.0.0-Leia-Alpha-3.tar.gz::https://github.com/xbmc/libdvdread/archive/6.0.0-Leia-Alpha-3.tar.gz @@ -78,6 +79,8 @@ pkgbase = kodi-matrix-git source = http://mirrors.kodi.tv/build-deps/sources/flatbuffers-1.12.0.tar.gz source = http://mirrors.kodi.tv/build-deps/sources/libudfread-1.1.0.tar.gz source = cheat-sse-build.patch + source = build-fix-for-dav1d-1.0.0.patch + source = 0001-add-dav1d-patch-to-build-system.patch b2sums = SKIP b2sums = 283aa2cec0a2200d3569bc280cb9659e9224a6b3a77db8a35b269cd8caf1337ac9d8b92b806df66f63ef7458a46bd6261f0b8b14678b10e26644a79dcbeea5da b2sums = 7573434a0ae8e8ccabf48173f81fcde29074eb138e119a2ae9156cde3c3d8bfd716f5d0e605b97f2dcac21f570781137c8533c5ae306b51e3905822fda318355 @@ -90,6 +93,8 @@ pkgbase = kodi-matrix-git b2sums = 441123be124ad851efa30bda0d828a764ebaf79ba6692a6e5904000b33818e9de78c3a964037ac93ef562890980c58169141e55354dce86857c02bcd917150d6 b2sums = e7fab72ebecb372c54af77b4907e53f77a5503af66e129bd2083ef7f4209ebfbed163ffd552e32b7181829664fff6ab82a1cdf00c81dc6f3cc6bfc8fa7242f6e b2sums = 6d647177380c619529fb875374ec46f1fff6273be1550f056c18cb96e0dea8055272b47664bb18cdc964496a3e9007fda435e67c4f1cee6375a80c048ae83dd0 + b2sums = 6928d0fb1f4cb2609dee87c7078e02cecc37ddef263485b47be0ae5c281be67b403b39c95ea370c6b6667e1eceb1c7e6fb83ec9b04acd0bdbe4abec17fb84385 + b2sums = f1769867f7bb998e9705cfe7709072436bc4824775ad6ccd151bb240798413a92c4a5c92452f5b781a439660a3d9a0846ebf6fefebdfa50b95f076ffdc6ff55e pkgname = kodi-matrix-git pkgdesc = A software media player and entertainment hub for digital media (Matrix branch) @@ -125,12 +130,13 @@ pkgname = kodi-matrix-git depends = libxkbcommon depends = waylandpp depends = libinput + depends = pcre optdepends = afpfs-ng: Apple shares support optdepends = bluez: Blutooth support optdepends = python-pybluez: Bluetooth support optdepends = pulseaudio: PulseAudio support optdepends = upower: Display battery level - provides = kodi=r57338.dcec5f49743 + provides = kodi=r57747.813a194c4e8 provides = kodi-x11 provides = kodi-wayland provides = kodi-gbm @@ -138,16 +144,18 @@ pkgname = kodi-matrix-git conflicts = kodi-x11 conflicts = kodi-wayland conflicts = kodi-gbm + conflicts = kodi-matrix-git replaces = kodi replaces = kodi-x11 replaces = kodi-wayland replaces = kodi-gbm + replaces = kodi-matrix-git pkgname = kodi-matrix-git-eventclients pkgdesc = Kodi Event Clients (Matrix branch) optdepends = kodi: local machine eventclient use optdepends = python: most eventclients are implemented in python - provides = kodi-eventclients=r57338.dcec5f49743 + provides = kodi-eventclients=r57747.813a194c4e8 conflicts = kodi-eventclients pkgname = kodi-matrix-git-tools-texturepacker @@ -156,11 +164,11 @@ pkgname = kodi-matrix-git-tools-texturepacker depends = giflib depends = libjpeg-turbo depends = lzo - provides = kodi-tools-texturepacker=r57338.dcec5f49743 + provides = kodi-tools-texturepacker=r57747.813a194c4e8 conflicts = kodi-tools-texturepacker pkgname = kodi-matrix-git-dev pkgdesc = Kodi dev files (Matrix branch) depends = kodi-matrix-git - provides = kodi-dev=r57338.dcec5f49743 + provides = kodi-dev=r57747.813a194c4e8 conflicts = kodi-dev diff --git a/0001-add-dav1d-patch-to-build-system.patch b/0001-add-dav1d-patch-to-build-system.patch new file mode 100644 index 000000000000..9d61e4856156 --- /dev/null +++ b/0001-add-dav1d-patch-to-build-system.patch @@ -0,0 +1,29 @@ +From a45725ef721e737fae16e4348bc1214139c19f5e Mon Sep 17 00:00:00 2001 +From: graysky <therealgraysky AT protonmail DOT com> +Date: Sat, 30 Apr 2022 14:10:29 -0400 +Subject: [PATCH] add dav1d patch to build system + +--- + cmake/modules/FindFFMPEG.cmake | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/cmake/modules/FindFFMPEG.cmake b/cmake/modules/FindFFMPEG.cmake +index 81d2697..9aa85e2 100644 +--- a/cmake/modules/FindFFMPEG.cmake ++++ b/cmake/modules/FindFFMPEG.cmake +@@ -277,7 +277,11 @@ if(NOT FFMPEG_FOUND) + <SOURCE_DIR> && + ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/tools/depends/target/ffmpeg/FindGnuTls.cmake +- <SOURCE_DIR>) ++ <SOURCE_DIR> && ++ patch -p1 < ${CMAKE_SOURCE_DIR}/tools/depends/target/ffmpeg/build-fix-for-dav1d-1.0.0.patch && ++ echo "########################################## patched ffmpeg ##############################" ++ ) ++ + + if (ENABLE_INTERNAL_DAV1D) + add_dependencies(ffmpeg dav1d) +-- +2.36.0 + @@ -1,5 +1,5 @@ # vim:set ts=2 sw=2 et: -# Maintainer graysky <graysky AT archlinux DOT us> +# Maintainer graysky <therealgraysky AT protonmail DOT com> # Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: DonVla <donvla@users.sourceforge.net> @@ -22,7 +22,7 @@ _clangbuild= pkgbase=kodi-matrix-git pkgname=("$pkgbase" "$pkgbase-eventclients" "$pkgbase-tools-texturepacker" "$pkgbase-dev") -pkgver=r57338.dcec5f49743 +pkgver=r57747.813a194c4e8 pkgrel=1 arch=('x86_64') url="https://kodi.tv" @@ -41,6 +41,8 @@ makedepends=( # gbm 'libinput' ) +options=(!lto) + [[ -n "$_clangbuild" ]] && makedepends+=('clang' 'lld' 'llvm') _gitname='xbmc' @@ -70,7 +72,7 @@ _flatbuffers_version="1.12.0" _libudfread_version="1.1.0" source=( - "git://github.com/xbmc/xbmc.git#branch=$_codename" + "git+https://github.com/xbmc/xbmc.git#branch=$_codename" "libdvdcss-$_libdvdcss_version.tar.gz::https://github.com/xbmc/libdvdcss/archive/$_libdvdcss_version.tar.gz" "libdvdnav-$_libdvdnav_version.tar.gz::https://github.com/xbmc/libdvdnav/archive/$_libdvdnav_version.tar.gz" "libdvdread-$_libdvdread_version.tar.gz::https://github.com/xbmc/libdvdread/archive/$_libdvdread_version.tar.gz" @@ -81,7 +83,9 @@ source=( "http://mirrors.kodi.tv/build-deps/sources/fstrcmp-$_fstrcmp_version.tar.gz" "http://mirrors.kodi.tv/build-deps/sources/flatbuffers-$_flatbuffers_version.tar.gz" "http://mirrors.kodi.tv/build-deps/sources/libudfread-$_libudfread_version.tar.gz" - 'cheat-sse-build.patch' + cheat-sse-build.patch + build-fix-for-dav1d-1.0.0.patch + 0001-add-dav1d-patch-to-build-system.patch ) noextract=( "libdvdcss-$_libdvdcss_version.tar.gz" @@ -106,7 +110,9 @@ b2sums=('SKIP' 'a8b68fcb8613f0d30e5ff7b862b37408472162585ca71cdff328e3299ff50476fd265467bbd77b352b22bb88c590969044f74d91c5468475504568fd269fa69e' '441123be124ad851efa30bda0d828a764ebaf79ba6692a6e5904000b33818e9de78c3a964037ac93ef562890980c58169141e55354dce86857c02bcd917150d6' 'e7fab72ebecb372c54af77b4907e53f77a5503af66e129bd2083ef7f4209ebfbed163ffd552e32b7181829664fff6ab82a1cdf00c81dc6f3cc6bfc8fa7242f6e' - '6d647177380c619529fb875374ec46f1fff6273be1550f056c18cb96e0dea8055272b47664bb18cdc964496a3e9007fda435e67c4f1cee6375a80c048ae83dd0') + '6d647177380c619529fb875374ec46f1fff6273be1550f056c18cb96e0dea8055272b47664bb18cdc964496a3e9007fda435e67c4f1cee6375a80c048ae83dd0' + '6928d0fb1f4cb2609dee87c7078e02cecc37ddef263485b47be0ae5c281be67b403b39c95ea370c6b6667e1eceb1c7e6fb83ec9b04acd0bdbe4abec17fb84385' + 'f1769867f7bb998e9705cfe7709072436bc4824775ad6ccd151bb240798413a92c4a5c92452f5b781a439660a3d9a0846ebf6fefebdfa50b95f076ffdc6ff55e') pkgver() { cd "$_gitname" @@ -119,7 +125,13 @@ prepare() { cd "$_gitname" - [[ "$_sse_workaround" -eq 1 ]] && patch -p1 -i "$srcdir/cheat-sse-build.patch" + # make build system patch ffmpeg for dav1d 1.0.0 + patch -p1 -i ../0001-add-dav1d-patch-to-build-system.patch + + # put patch in source tree so kodi build system can pick it up + cp ../build-fix-for-dav1d-1.0.0.patch tools/depends/target/ffmpeg + + [[ "$_sse_workaround" -eq 1 ]] && patch -p1 -i ../cheat-sse-build.patch if [[ -n "$_clangbuild" ]]; then msg "Building with clang" @@ -130,9 +142,9 @@ prepare() { build() { cd "$srcdir/kodi-build" - ### Optionally uncomment and setup to your liking - # export CFLAGS+=" -march=native" - # export CXXFLAGS="${CFLAGS}" + # fix build breakage introduced with gcc-12.1.0-1 + export CFLAGS+=" -Wno-error" + export CXXFLAGS="${CFLAGS}" _args=( -DCMAKE_BUILD_TYPE=Release @@ -142,6 +154,9 @@ build() { -DVERBOSE=ON -DENABLE_LDGOLD=OFF -DENABLE_EVENTCLIENTS=ON + -DENABLE_MYSQLCLIENT=ON + -DENABLE_VAAPI=ON + -DENABLE_VDPAU=ON -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_INTERNAL_FMT=ON -DENABLE_INTERNAL_SPDLOG=ON @@ -149,9 +164,6 @@ build() { -DENABLE_INTERNAL_FSTRCMP=ON -DENABLE_INTERNAL_FLATBUFFERS=ON -DENABLE_INTERNAL_UDFREAD=ON - -DENABLE_MYSQLCLIENT=ON - -DENABLE_VAAPI=ON - -DENABLE_VDPAU=ON -Dlibdvdcss_URL="$srcdir/libdvdcss-$_libdvdcss_version.tar.gz" -Dlibdvdnav_URL="$srcdir/libdvdnav-$_libdvdnav_version.tar.gz" -Dlibdvdread_URL="$srcdir/libdvdread-$_libdvdread_version.tar.gz" @@ -163,9 +175,11 @@ build() { -DFLATBUFFERS_URL="$srcdir/flatbuffers-$_flatbuffers_version.tar.gz" -DUDFREAD_URL="$srcdir/libudfread-$_libudfread_version.tar.gz" -DAPP_RENDER_SYSTEM=gl - -DCORE_PLATFORM_NAME="x11 wayland gbm" ) + # https://github.com/google/flatbuffers/issues/7404 + CXXFLAGS+=' -Wno-error=restrict' + echo "building kodi" cmake "${_args[@]}" ../"$_gitname" make @@ -182,6 +196,7 @@ package_kodi-matrix-git() { 'mesa' 'python-pillow' 'python-pycryptodomex' 'python-simplejson' 'shairplay' 'smbclient' 'sqlite' 'taglib' 'tinyxml' 'libxrandr' 'libxkbcommon' 'waylandpp' 'libinput' + 'pcre' ) [[ -n "$_clangbuild" ]] && depends+=('glu') @@ -193,8 +208,8 @@ package_kodi-matrix-git() { 'upower: Display battery level' ) provides=("kodi=${pkgver}" 'kodi-x11' 'kodi-wayland' 'kodi-gbm') - replaces=('kodi' 'kodi-x11' 'kodi-wayland' 'kodi-gbm') - conflicts=('kodi' 'kodi-x11' 'kodi-wayland' 'kodi-gbm') + replaces=('kodi' 'kodi-x11' 'kodi-wayland' 'kodi-gbm' 'kodi-matrix-git') + conflicts=('kodi' 'kodi-x11' 'kodi-wayland' 'kodi-gbm' 'kodi-matrix-git') _components=( 'kodi' diff --git a/build-fix-for-dav1d-1.0.0.patch b/build-fix-for-dav1d-1.0.0.patch new file mode 100644 index 000000000000..b3addd576bf9 --- /dev/null +++ b/build-fix-for-dav1d-1.0.0.patch @@ -0,0 +1,78 @@ +From 2546e1ed27f92a840a2cf319e3c1833799974cf1 Mon Sep 17 00:00:00 2001 +From: BlackEagle <ike.devolder@gmail.com> +Date: Fri, 29 Apr 2022 14:33:12 +0200 +Subject: [PATCH] add build fix for dav1d 1.0.0 + +Taken from https://github.com/FFmpeg/FFmpeg/commit/e204846ec16c1ab34c7f3a681734cf5190433018 + +add FF_DAV1D_VERSION_AT_LEAST + +Extracted from https://github.com/FFmpeg/FFmpeg/commit/7ee17ec7e46afef0e0af20af196292ec75f50b62 + +Signed-off-by: BlackEagle <ike.devolder@gmail.com> +--- + libavcodec/libdav1d.c | 24 ++++++++++++++++++++++-- + 1 file changed, 22 insertions(+), 2 deletions(-) + +diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c +index bbb3ec1e6c..08b4af8ac8 100644 +--- a/libavcodec/libdav1d.c ++++ b/libavcodec/libdav1d.c +@@ -30,6 +30,9 @@ + #include "decode.h" + #include "internal.h" + ++#define FF_DAV1D_VERSION_AT_LEAST(x,y) \ ++ (DAV1D_API_VERSION_MAJOR > (x) || DAV1D_API_VERSION_MAJOR == (x) && DAV1D_API_VERSION_MINOR >= (y)) ++ + typedef struct Libdav1dContext { + AVClass *class; + Dav1dContext *c; +@@ -140,6 +143,15 @@ static av_cold int libdav1d_init(AVCodecContext *c) + if (dav1d->operating_point >= 0) + s.operating_point = dav1d->operating_point; + ++#if FF_DAV1D_VERSION_AT_LEAST(6,0) ++ if (dav1d->frame_threads || dav1d->tile_threads) ++ s.n_threads = FFMAX(dav1d->frame_threads, dav1d->tile_threads); ++ else ++ s.n_threads = FFMIN(threads, DAV1D_MAX_THREADS); ++ s.max_frame_delay = (c->flags & AV_CODEC_FLAG_LOW_DELAY) ? 1 : s.n_threads; ++ av_log(c, AV_LOG_DEBUG, "Using %d threads, %d max_frame_delay\n", ++ s.n_threads, s.max_frame_delay); ++#else + s.n_tile_threads = dav1d->tile_threads + ? dav1d->tile_threads + : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS); +@@ -148,6 +160,7 @@ static av_cold int libdav1d_init(AVCodecContext *c) + : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS); + av_log(c, AV_LOG_DEBUG, "Using %d frame threads, %d tile threads\n", + s.n_frame_threads, s.n_tile_threads); ++#endif + + res = dav1d_open(&dav1d->c, &s); + if (res < 0) +@@ -384,11 +397,18 @@ static av_cold int libdav1d_close(AVCodecContext *c) + return 0; + } + ++#ifndef DAV1D_MAX_FRAME_THREADS ++#define DAV1D_MAX_FRAME_THREADS DAV1D_MAX_THREADS ++#endif ++#ifndef DAV1D_MAX_TILE_THREADS ++#define DAV1D_MAX_TILE_THREADS DAV1D_MAX_THREADS ++#endif ++ + #define OFFSET(x) offsetof(Libdav1dContext, x) + #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM + static const AVOption libdav1d_options[] = { +- { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD }, +- { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD }, ++ { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD | AV_OPT_FLAG_DEPRECATED }, ++ { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD | AV_OPT_FLAG_DEPRECATED }, + { "filmgrain", "Apply Film Grain", OFFSET(apply_grain), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VD }, + { "oppoint", "Select an operating point of the scalable bitstream", OFFSET(operating_point), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 31, VD }, + { "alllayers", "Output all spatial layers", OFFSET(all_layers), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VD }, +-- +2.36.0 + |