From 73ebcb7fcc409860e2b54b3e9c35ad23a0790bdc Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Sat, 29 Nov 2025 17:48:04 -0500 Subject: [PATCH 1/3] user/skiasharp: use vendored libjpeg-turbo --- user/skiasharp/APKBUILD | 4 ++-- user/skiasharp/args.gn.in | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/user/skiasharp/APKBUILD b/user/skiasharp/APKBUILD index 5412c72..8f48938 100644 --- a/user/skiasharp/APKBUILD +++ b/user/skiasharp/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Naomi Rennie-Waldock pkgname=skiasharp pkgver=3.119.1 -pkgrel=0 +pkgrel=1 pkgdesc="2D graphics API for .NET - native library" url="https://github.com/mono/SkiaSharp" arch="x86_64 armv7 aarch64" @@ -77,7 +77,7 @@ package() { sha512sums=" cf9c292edebe972e318f9a807216a5e26053e2cf4b56c4dd0b6a0c7c046a2cec67ae65550fb0e5656ae0fd0b372f5a70dcc4a8704ffe1690f5a8fbc1abadf95b SkiaSharp-3.119.1.tar.gz ee27e49434a5fe2efb2565e80dd682b6f4e91bb15d1e13f635a1d658929262bc069d04bdf49baf98b62a0425cc9353f3365cb7557c83a03b05381acb2acb2e0d skia-40f75dc0051d141913c07c20d4c19590c7da0cb7.tar.gz -b2b87cec448f5ce777d28c9e865621a121d2f32dc9d9b31d254781fc288d69e4a3a5276664d16f1ecc5eaf9963404657ad0770aeabe14c5a127847262694efd2 args.gn.in +705945ca1cd1b6922a2491ef1ab17b3899334b5b30fb236ced09f7383779184d1c670698874602da3d367bcf35297e14bc6a362ed85f19f8ecc5209fb2918917 args.gn.in 3c6543aa126ba395d32f6831feb5121b151c89b2770589858d5b7820e1fc4d94aa2d89da4e954472b5f3fe9194448f72535b23d2f2815f90d6a9e7ae022fb42f 0001-fix-cflags-for-system-freetype2.patch 44c0044c72ccd9a5a3f679f1fe548264a779c87726d2af448c711d5c2f9b003b69056e0b231e87193d91c66416dc613be992808172522b27d02807845d30f463 0002-add-missing-includes.patch " diff --git a/user/skiasharp/args.gn.in b/user/skiasharp/args.gn.in index cd93cd3..b88b358 100644 --- a/user/skiasharp/args.gn.in +++ b/user/skiasharp/args.gn.in @@ -8,7 +8,7 @@ skia_use_sfntly=true skia_enable_skottie=true skia_enable_tools=false skia_use_vulkan=true -skia_use_system_libjpeg_turbo=true +skia_use_system_libjpeg_turbo=false # disabled as it's not packaged skia_use_dng_sdk=false extra_cflags=[ "-DSKIA_C_DLL" ] -- 2.49.1 From c25b332251b34b85fa1458779afa881dca01687c Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Sat, 29 Nov 2025 19:47:40 -0500 Subject: [PATCH 2/3] user/skiasharp: use preprocessed tar --- ....patch => 0001-add-missing-includes.patch} | 6 +-- ...0001-fix-cflags-for-system-freetype2.patch | 13 ----- user/skiasharp/APKBUILD | 51 ++++++++----------- 3 files changed, 23 insertions(+), 47 deletions(-) rename user/skiasharp/{0002-add-missing-includes.patch => 0001-add-missing-includes.patch} (65%) delete mode 100644 user/skiasharp/0001-fix-cflags-for-system-freetype2.patch diff --git a/user/skiasharp/0002-add-missing-includes.patch b/user/skiasharp/0001-add-missing-includes.patch similarity index 65% rename from user/skiasharp/0002-add-missing-includes.patch rename to user/skiasharp/0001-add-missing-includes.patch index b6b2891..4a840e8 100644 --- a/user/skiasharp/0002-add-missing-includes.patch +++ b/user/skiasharp/0001-add-missing-includes.patch @@ -8,10 +8,10 @@ Subject: [PATCH 2/2] add missing includes third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp | 2 ++ 2 files changed, 3 insertions(+) -diff --git a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp +diff --git a/externals/skia/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp b/externals/skia/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp index fb606984bd..4bc9d99420 100644 ---- a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp -+++ b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp +--- a/externals/skia/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp ++++ b/externals/skia/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp @@ -5,6 +5,8 @@ * found in the LICENSE file. */ diff --git a/user/skiasharp/0001-fix-cflags-for-system-freetype2.patch b/user/skiasharp/0001-fix-cflags-for-system-freetype2.patch deleted file mode 100644 index 2e3ef7a..0000000 --- a/user/skiasharp/0001-fix-cflags-for-system-freetype2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/freetype2/BUILD.gn.orig b/third_party/freetype2/BUILD.gn -index 60d7954..a8cd633 100644 ---- a/third_party/freetype2/BUILD.gn.orig -+++ b/third_party/freetype2/BUILD.gn -@@ -26,7 +26,7 @@ if (skia_use_system_freetype2) { - include_dirs = [ skia_system_freetype2_include_path ] - libs = [ skia_system_freetype2_lib ] - if (is_tizen) { -- cflags = [ "-I=$skia_system_freetype2_include_path" ] -+ cflags = [ "-I$skia_system_freetype2_include_path" ] - } - } - } else { diff --git a/user/skiasharp/APKBUILD b/user/skiasharp/APKBUILD index 8f48938..62ecc16 100644 --- a/user/skiasharp/APKBUILD +++ b/user/skiasharp/APKBUILD @@ -1,5 +1,5 @@ # Contributor: Naomi Rennie-Waldock -# Maintainer: Naomi Rennie-Waldock +# Maintainer: Antoine Martin (ayakael) pkgname=skiasharp pkgver=3.119.1 pkgrel=1 @@ -8,8 +8,6 @@ url="https://github.com/mono/SkiaSharp" arch="x86_64 armv7 aarch64" license="BSD-3-Clause" _llvmver=21 -# track commit in git repo under externals/skia -_skiacommit=40f75dc0051d141913c07c20d4c19590c7da0cb7 makedepends=" cmd:awk cmd:envsubst @@ -23,32 +21,21 @@ makedepends=" libjpeg-turbo-dev harfbuzz-dev cmake + zstd " subpackages="$pkgname-dbg" -source="https://github.com/mono/SkiaSharp/archive/v$pkgver/SkiaSharp-$pkgver.tar.gz - skia-$_skiacommit.tar.gz::https://github.com/mono/skia/archive/$_skiacommit.tar.gz - +source=" + https://ayakael.net/api/packages/mirrors/generic/skiasharp/v$pkgver/skiasharp-v$pkgver.tar.zst args.gn.in - - 0001-fix-cflags-for-system-freetype2.patch - 0002-add-missing-includes.patch + 0001-add-missing-includes.patch " -_skiasharpdir="$srcdir/SkiaSharp-$pkgver" -_skiadir="$srcdir/skia-$_skiacommit" -builddir="$_skiadir" +builddir="$srcdir"/skiasharp-v$pkgver options="!check" -prepare() { - default_prepare - - # fetch dependencies - ./tools/git-sync-deps -} - build() { export PATH="$PATH:/usr/lib/llvm$_llvmver/bin" - local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$_skiasharpdir"/scripts/VERSIONS.txt) - local map="$_skiasharpdir"/native/linux/libSkiaSharp/libSkiaSharp.map + local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$builddir"/scripts/VERSIONS.txt) + local map="$builddir"/native/linux/libSkiaSharp/libSkiaSharp.map local _skia_arch=$CTARGET_ARCH case "$CTARGET_ARCH" in @@ -59,25 +46,27 @@ build() { export soname map _skia_arch _llvmver - [ -d _build ] || mkdir _build - envsubst < "$srcdir"/args.gn.in > _build/args.gn + ( + cd externals/skia - gn gen _build - ninja -j"${JOBS:-1}" -C _build SkiaSharp + [ -d _build ] || mkdir _build + envsubst < "$srcdir"/args.gn.in > _build/args.gn + + gn gen _build + ninja -j"${JOBS:-1}" -C _build SkiaSharp + ) } package() { - local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$_skiasharpdir"/scripts/VERSIONS.txt) + local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$builddir"/scripts/VERSIONS.txt) - install -Dm644 _build/libSkiaSharp.so.$soname -t "$pkgdir"/usr/lib/ + install -Dm644 "$builddir"/externals/skia/_build/libSkiaSharp.so.$soname -t "$pkgdir"/usr/lib/ ln -s libSkiaSharp.so.$soname "$pkgdir"/usr/lib/libSkiaSharp.so.${soname%%.*} ln -s libSkiaSharp.so.$soname "$pkgdir"/usr/lib/libSkiaSharp.so } sha512sums=" -cf9c292edebe972e318f9a807216a5e26053e2cf4b56c4dd0b6a0c7c046a2cec67ae65550fb0e5656ae0fd0b372f5a70dcc4a8704ffe1690f5a8fbc1abadf95b SkiaSharp-3.119.1.tar.gz -ee27e49434a5fe2efb2565e80dd682b6f4e91bb15d1e13f635a1d658929262bc069d04bdf49baf98b62a0425cc9353f3365cb7557c83a03b05381acb2acb2e0d skia-40f75dc0051d141913c07c20d4c19590c7da0cb7.tar.gz +f46ae10474cbf66de5d86a6041e682ebaa7c68d640836ba283023d4d5787ddfa32ae7853b2e19da1ec5a65e40f4ae71d11e55721f6e0ed136b7bbd8477464564 skiasharp-v3.119.1.tar.zst 705945ca1cd1b6922a2491ef1ab17b3899334b5b30fb236ced09f7383779184d1c670698874602da3d367bcf35297e14bc6a362ed85f19f8ecc5209fb2918917 args.gn.in -3c6543aa126ba395d32f6831feb5121b151c89b2770589858d5b7820e1fc4d94aa2d89da4e954472b5f3fe9194448f72535b23d2f2815f90d6a9e7ae022fb42f 0001-fix-cflags-for-system-freetype2.patch -44c0044c72ccd9a5a3f679f1fe548264a779c87726d2af448c711d5c2f9b003b69056e0b231e87193d91c66416dc613be992808172522b27d02807845d30f463 0002-add-missing-includes.patch +a189922f8870352223b2aa9b922167398513333f6f82627b0499d7ca7fbeb211f0f5b192e5caad5b4eb9ebbb49de16f41c691309c3d41b3b19dc17cd13cf18b8 0001-add-missing-includes.patch " -- 2.49.1 From 23bcbc75138e5c8b9e5028d0926100b5d8368e62 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Sat, 29 Nov 2025 19:48:20 -0500 Subject: [PATCH 3/3] user/jellyfin: set skiasharp version dynamically --- user/jellyfin/APKBUILD | 17 +++++++++++++---- user/jellyfin/use-skiasharp-3-119-1.patch | 16 ---------------- 2 files changed, 13 insertions(+), 20 deletions(-) delete mode 100644 user/jellyfin/use-skiasharp-3-119-1.patch diff --git a/user/jellyfin/APKBUILD b/user/jellyfin/APKBUILD index f3621b0..0fb06df 100644 --- a/user/jellyfin/APKBUILD +++ b/user/jellyfin/APKBUILD @@ -1,5 +1,5 @@ -# Maintainer: Simon Zeni # Contributor: Fabricio Silva +# Maintainer: Simon Zeni pkgname=jellyfin pkgver=10.11.3 pkgrel=0 @@ -8,16 +8,26 @@ install="$pkgname.pre-install" url="https://jellyfin.org/" arch="x86_64 armv7 aarch64" license="GPL-2.0-only" -makedepends="dotnet9-sdk" +makedepends="dotnet9-sdk gawk" depends="aspnetcore9-runtime jellyfin-ffmpeg skiasharp" subpackages="$pkgname-openrc" source="$pkgname-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin/archive/refs/tags/v$pkgver.tar.gz $pkgname.initd $pkgname.confd remove-prebuilt-library.patch - use-skiasharp-3-119-1.patch " +prepare() { + default_prepare + + # set SkiaSharp and SkiaSharp.Harfbuzz version based on packaged library + local _skia_packagedver=$(apk version skiasharp | tail -n 1 | awk -F '=' '{print $2}' | tr -d ' ') + local _skia_packagedver=${_skia_packagedver/-*} + msg "Building against skiasharp $_skia_packagedver" + gawk -i inplace -v "skia_version=Version\=\"$_skia_packagedver\"" '{if($2 == "Include=\"SkiaSharp\""){ $3 = skia_version}{print}}' Directory.Packages.props + gawk -i inplace -v "skia_version=Version\=\"$_skia_packagedver\"" '{if($2 == "Include=\"SkiaSharp.HarfBuzz\""){ $3 = skia_version}{print}}' Directory.Packages.props +} + build() { dotnet publish Jellyfin.Server \ --configuration Release \ @@ -48,5 +58,4 @@ sha512sums=" bcdb882b837a08e4c1db363fbf2a075f0d6558a537c3f798b1473f9f1b5b887b6da1928558b0aede8bf56ab16469ac9e80dc95b0f874533ad744465a92b37696 jellyfin.initd 594c26e5235ae2265f3f586f596cd6b57fa0e0cec83531b6fadba48181870167f04381266c6005f1f6cb5cd76d254100a08a871ecb8da28e5890f979816a7b8b jellyfin.confd fc0bbeab0f37f8d483d7c1b7d9162bf5cbeb79fa82e7b652bf712c07332d8cbcceb80bc21ccaceaa8a10196c3dd9ddcf33977e3baedcd5e3fd5b5cd5a3b60f1a remove-prebuilt-library.patch -cc81a9b0f83914a35d96c68067311eea4c4aaca1f921da9dbb7ff37a06833b6124b48da15d33c44cce5323c1b3f278e96584af66aa491850d4fc5f9d3cd57630 use-skiasharp-3-119-1.patch " diff --git a/user/jellyfin/use-skiasharp-3-119-1.patch b/user/jellyfin/use-skiasharp-3-119-1.patch deleted file mode 100644 index 5068d4a..0000000 --- a/user/jellyfin/use-skiasharp-3-119-1.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/Directory.Packages.props.orig b/Directory.Packages.props -index 275ba3c..18cc64a 100644 ---- a/Directory.Packages.props.orig -+++ b/Directory.Packages.props -@@ -72,9 +72,8 @@ - - - -- -- -- -+ -+ - - - -- 2.49.1