user/jellyfin: upgrade to 10.11.3 #1777
9 changed files with 91 additions and 102 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
|
||||
pkgname=jellyfin-web
|
||||
pkgver=10.10.7
|
||||
pkgver=10.11.3
|
||||
pkgrel=0
|
||||
pkgdesc="Web Client for Jellyfin"
|
||||
url="https://jellyfin.org/"
|
||||
|
|
@ -11,7 +11,8 @@ license="GPL-2.0-only"
|
|||
install="$pkgname.post-install"
|
||||
depends="jellyfin"
|
||||
makedepends="npm"
|
||||
source="$pkgname-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin-web/archive/refs/tags/v$pkgver.tar.gz"
|
||||
source="$pkgname-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin-web/archive/refs/tags/v$pkgver.tar.gz
|
||||
bump-npm-requirement.patch"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
|
|
@ -34,5 +35,6 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
43836cdc15957889b4ec764f68893ff6131fa4ae1991ac0e5a4991817c491d870783b2e713883b423f30208abad1b77f1856ccaeb5008e6ba56a9bf305a1b5bd jellyfin-web-10.10.7.tar.gz
|
||||
ef85a77bc0dbba01a877c35627138f0e5eda9bb8ba3eb5ae79997e97b5829af8063e5666f6c77d599791633791eb318de057155d0b36e3934bbd18ff4a4e641b jellyfin-web-10.11.3.tar.gz
|
||||
93e028def9e44cbe939b530754e279481d5c805014786fd141456c153a4ddd6f4fe440ef44a965ddb9d08cccf81c9bbdaa24a5600aaa76a19a8f013a936dd35e bump-npm-requirement.patch
|
||||
"
|
||||
|
|
|
|||
13
user/jellyfin-web/bump-npm-requirement.patch
Normal file
13
user/jellyfin-web/bump-npm-requirement.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/package.json b/package.json
|
||||
index f46cb3b95..096c28562 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -168,7 +168,7 @@
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0",
|
||||
- "npm": ">=9.6.4 <11.0.0",
|
||||
+ "npm": ">=9.6.4",
|
||||
"yarn": "YARN NO LONGER USED - use npm instead."
|
||||
}
|
||||
}
|
||||
|
|
@ -1,20 +1,21 @@
|
|||
# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
|
||||
# Contributor: Fabricio Silva <hi@fabricio.dev>
|
||||
pkgname=jellyfin
|
||||
pkgver=10.10.7
|
||||
pkgrel=1
|
||||
pkgver=10.11.3
|
||||
pkgrel=0
|
||||
pkgdesc="The Free Software Media System"
|
||||
install="$pkgname.pre-install"
|
||||
url="https://jellyfin.org/"
|
||||
arch="x86_64 armv7 aarch64"
|
||||
license="GPL-2.0-only"
|
||||
makedepends="dotnet8-sdk"
|
||||
depends="aspnetcore8-runtime jellyfin-ffmpeg skiasharp"
|
||||
makedepends="dotnet9-sdk"
|
||||
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
|
||||
remove-prebuilt-library.patch
|
||||
use-skiasharp-3-119-1.patch
|
||||
"
|
||||
|
||||
build() {
|
||||
|
|
@ -43,8 +44,9 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
6c48401f4acf509b69fb6b8916be54b1b697aa85308ac4a39345bef0ce61c78c4ad978650569ac0964eeb9389fdea249ffc279a37bcd49c0341d3825423f5a97 jellyfin-10.10.7.tar.gz
|
||||
2dd7d2cebc5eed57ab4d38a3004f255a3239a0c23d2d133ab6e0d6a9495fc2e774749af5f53d15968af957e5e96255e1b82089e93101feba78d7800973eb4ac6 jellyfin-10.11.3.tar.gz
|
||||
bcdb882b837a08e4c1db363fbf2a075f0d6558a537c3f798b1473f9f1b5b887b6da1928558b0aede8bf56ab16469ac9e80dc95b0f874533ad744465a92b37696 jellyfin.initd
|
||||
594c26e5235ae2265f3f586f596cd6b57fa0e0cec83531b6fadba48181870167f04381266c6005f1f6cb5cd76d254100a08a871ecb8da28e5890f979816a7b8b jellyfin.confd
|
||||
50b9535d7b2dbebf7fbda1dc2d88941dad5530c8ab3e8e07c1203c328af426816036b5e6b4d6deb69fa344611bc18785cf8593d7d990a1cbfae0e14c9324b592 remove-prebuilt-library.patch
|
||||
fc0bbeab0f37f8d483d7c1b7d9162bf5cbeb79fa82e7b652bf712c07332d8cbcceb80bc21ccaceaa8a10196c3dd9ddcf33977e3baedcd5e3fd5b5cd5a3b60f1a remove-prebuilt-library.patch
|
||||
cc81a9b0f83914a35d96c68067311eea4c4aaca1f921da9dbb7ff37a06833b6124b48da15d33c44cce5323c1b3f278e96584af66aa491850d4fc5f9d3cd57630 use-skiasharp-3-119-1.patch
|
||||
"
|
||||
|
|
|
|||
|
|
@ -1,22 +1,3 @@
|
|||
diff -urp jellyfin-10.10.3.bak/Directory.Packages.props jellyfin-10.10.3/Directory.Packages.props
|
||||
--- jellyfin-10.10.3.bak/Directory.Packages.props 2024-11-19 03:38:42.000000000 +0000
|
||||
+++ jellyfin-10.10.3/Directory.Packages.props 2024-12-04 02:20:12.294901276 +0000
|
||||
@@ -17,7 +17,6 @@
|
||||
<PackageVersion Include="DiscUtils.Udf" Version="0.16.13" />
|
||||
<PackageVersion Include="DotNet.Glob" Version="3.1.3" />
|
||||
<PackageVersion Include="FsCheck.Xunit" Version="2.16.6" />
|
||||
- <PackageVersion Include="HarfBuzzSharp.NativeAssets.Linux" Version="7.3.0.3" />
|
||||
<PackageVersion Include="ICU4N.Transliterator" Version="60.1.0-alpha.356" />
|
||||
<PackageVersion Include="IDisposableAnalyzers" Version="4.0.8" />
|
||||
<PackageVersion Include="Jellyfin.XmlTv" Version="10.8.0" />
|
||||
@@ -68,7 +67,6 @@
|
||||
<PackageVersion Include="SharpFuzz" Version="2.1.1" />
|
||||
<PackageVersion Include="SkiaSharp" Version="2.88.9" />
|
||||
<PackageVersion Include="SkiaSharp.HarfBuzz" Version="2.88.9" />
|
||||
- <PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="2.88.9" />
|
||||
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />
|
||||
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
|
||||
<PackageVersion Include="Svg.Skia" Version="2.0.0.1" />
|
||||
diff -urp jellyfin-10.10.3.bak/src/Jellyfin.Drawing.Skia/Jellyfin.Drawing.Skia.csproj jellyfin-10.10.3/src/Jellyfin.Drawing.Skia/Jellyfin.Drawing.Skia.csproj
|
||||
--- jellyfin-10.10.3.bak/src/Jellyfin.Drawing.Skia/Jellyfin.Drawing.Skia.csproj 2024-11-19 03:38:42.000000000 +0000
|
||||
+++ jellyfin-10.10.3/src/Jellyfin.Drawing.Skia/Jellyfin.Drawing.Skia.csproj 2024-12-04 02:21:05.773987361 +0000
|
||||
|
|
@ -30,3 +11,23 @@ diff -urp jellyfin-10.10.3.bak/src/Jellyfin.Drawing.Skia/Jellyfin.Drawing.Skia.c
|
|||
<PackageReference Include="SkiaSharp.HarfBuzz" />
|
||||
<PackageReference Include="Svg.Skia" />
|
||||
</ItemGroup>
|
||||
diff --git a/Directory.Packages.props.orig b/Directory.Packages.props
|
||||
index dc3e7d7..275ba3c 100644
|
||||
--- a/Directory.Packages.props.orig
|
||||
+++ b/Directory.Packages.props
|
||||
@@ -18,7 +18,6 @@
|
||||
<PackageVersion Include="DiscUtils.Udf" Version="0.16.13" />
|
||||
<PackageVersion Include="DotNet.Glob" Version="3.1.3" />
|
||||
<PackageVersion Include="FsCheck.Xunit" Version="3.3.1" />
|
||||
- <PackageVersion Include="HarfBuzzSharp.NativeAssets.Linux" Version="8.3.1.1" />
|
||||
<PackageVersion Include="ICU4N.Transliterator" Version="60.1.0-alpha.356" />
|
||||
<PackageVersion Include="IDisposableAnalyzers" Version="4.0.8" />
|
||||
<PackageVersion Include="Ignore" Version="0.2.1" />
|
||||
@@ -76,7 +75,6 @@
|
||||
<!-- Pinned to 3.116.1 because https://github.com/jellyfin/jellyfin/pull/14255 -->
|
||||
<PackageVersion Include="SkiaSharp" Version="3.116.1" />
|
||||
<PackageVersion Include="SkiaSharp.HarfBuzz" Version="3.116.1" />
|
||||
- <PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="3.116.1" />
|
||||
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />
|
||||
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
|
||||
<PackageVersion Include="Svg.Skia" Version="3.2.1" />
|
||||
|
|
|
|||
16
user/jellyfin/use-skiasharp-3-119-1.patch
Normal file
16
user/jellyfin/use-skiasharp-3-119-1.patch
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
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 @@
|
||||
<PackageVersion Include="Serilog.Sinks.Graylog" Version="3.1.1" />
|
||||
<PackageVersion Include="SerilogAnalyzer" Version="0.15.0" />
|
||||
<PackageVersion Include="SharpFuzz" Version="2.2.0" />
|
||||
- <!-- Pinned to 3.116.1 because https://github.com/jellyfin/jellyfin/pull/14255 -->
|
||||
- <PackageVersion Include="SkiaSharp" Version="3.116.1" />
|
||||
- <PackageVersion Include="SkiaSharp.HarfBuzz" Version="3.116.1" />
|
||||
+ <PackageVersion Include="SkiaSharp" Version="3.119.1" />
|
||||
+ <PackageVersion Include="SkiaSharp.HarfBuzz" Version="3.119.1" />
|
||||
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />
|
||||
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
|
||||
<PackageVersion Include="Svg.Skia" Version="3.2.1" />
|
||||
|
|
@ -1,25 +1,13 @@
|
|||
From 5f2682ed16394ba3e10ab35150c15e265ab0a0db Mon Sep 17 00:00:00 2001
|
||||
From: Naomi Rennie-Waldock <naomi.renniewaldock@gmail.com>
|
||||
Date: Wed, 4 Dec 2024 02:01:11 +0000
|
||||
Subject: [PATCH 1/2] fix cflags for system freetype2
|
||||
|
||||
---
|
||||
third_party/freetype2/BUILD.gn | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/freetype2/BUILD.gn b/third_party/freetype2/BUILD.gn
|
||||
index d3092c672f..1bf7d9fc62 100644
|
||||
--- a/third_party/freetype2/BUILD.gn
|
||||
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
|
||||
@@ -14,7 +14,7 @@ import("../third_party.gni")
|
||||
|
||||
if (skia_use_system_freetype2) {
|
||||
system("freetype2") {
|
||||
- cflags = [ "-I=/usr/include/freetype2" ]
|
||||
+ cflags = [ "-I/usr/include/freetype2" ]
|
||||
libs = [ "freetype" ]
|
||||
@@ -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 {
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
|
|
|||
|
|
@ -8,18 +8,6 @@ Subject: [PATCH 2/2] add missing includes
|
|||
third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/utils/SkParseColor.cpp b/src/utils/SkParseColor.cpp
|
||||
index 7260365b2c..ed118fb5e9 100644
|
||||
--- a/src/utils/SkParseColor.cpp
|
||||
+++ b/src/utils/SkParseColor.cpp
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
|
||||
+#include <iterator>
|
||||
#include "include/utils/SkParse.h"
|
||||
|
||||
static constexpr const char* gColorNames[] = {
|
||||
diff --git a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp
|
||||
index fb606984bd..4bc9d99420 100644
|
||||
--- a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
# Contributor: Naomi Rennie-Waldock <naomi.renniewaldock@gmail.com>
|
||||
# Maintainer: Naomi Rennie-Waldock <naomi.renniewaldock@gmail.com>
|
||||
pkgname=skiasharp
|
||||
pkgver=2.88.9
|
||||
pkgver=3.119.1
|
||||
pkgrel=0
|
||||
pkgdesc="2D graphics API for .NET - native library"
|
||||
url="https://github.com/mono/SkiaSharp"
|
||||
arch="x86_64 armv7 aarch64"
|
||||
license="BSD-3-Clause"
|
||||
_llvmver=21
|
||||
_skiaver=2.88.3
|
||||
# track commit in git repo under externals/skia
|
||||
_skiacommit=40f75dc0051d141913c07c20d4c19590c7da0cb7
|
||||
makedepends="
|
||||
cmd:awk
|
||||
cmd:envsubst
|
||||
|
|
@ -19,55 +20,34 @@ makedepends="
|
|||
freetype-dev
|
||||
fontconfig-dev
|
||||
libwebp-dev
|
||||
libjpeg-turbo-dev
|
||||
harfbuzz-dev
|
||||
cmake
|
||||
"
|
||||
subpackages="$pkgname-dbg"
|
||||
# SkiaSharp currently doesn't work with jpeg-turbo 3.x which we've got packaged
|
||||
# https://github.com/mono/SkiaSharp/issues/2645
|
||||
# https://github.com/libjpeg-turbo/libjpeg-turbo/issues/741
|
||||
_jpegturbover=2.1.5.1
|
||||
source="https://github.com/mono/SkiaSharp/archive/v$pkgver/SkiaSharp-$pkgver.tar.gz
|
||||
https://github.com/mono/skia/archive/v$_skiaver/skia-$_skiaver.tar.gz
|
||||
skia-$_skiacommit.tar.gz::https://github.com/mono/skia/archive/$_skiacommit.tar.gz
|
||||
|
||||
args.gn.in
|
||||
|
||||
0001-fix-cflags-for-system-freetype2.patch
|
||||
0002-add-missing-includes.patch
|
||||
|
||||
https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/$_jpegturbover/libjpeg-turbo-$_jpegturbover.tar.gz
|
||||
"
|
||||
_skiasharpdir="$srcdir/SkiaSharp-$pkgver"
|
||||
_skiadir="$srcdir/skia-$_skiaver"
|
||||
_jpegturbodir="$srcdir/libjpeg-turbo-$_jpegturbover"
|
||||
_skiadir="$srcdir/skia-$_skiacommit"
|
||||
builddir="$_skiadir"
|
||||
options="!check"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
|
||||
install -d "$builddir"/third_party/externals
|
||||
rm -f "$builddir"/third_party/externals/libjpeg-turbo
|
||||
ln -s "$_jpegturbodir" "$builddir"/third_party/externals/libjpeg-turbo
|
||||
ln -sf "$_jpegturbodir"/jpeg_nbits_table.h "$_jpegturbodir"/jpeg_nbits_table.c
|
||||
# fetch dependencies
|
||||
./tools/git-sync-deps
|
||||
}
|
||||
|
||||
build() {
|
||||
|
||||
export PATH="$PATH:/usr/lib/llvm$_llvmver/bin"
|
||||
# Generate config for jpeg-turbo
|
||||
# Note: jpeg-turbo is linked statically as part of SkiaSharp's build process
|
||||
# We just run cmake first to generate jconfig.h
|
||||
cd "$_jpegturbodir"
|
||||
cmake3.5 . \
|
||||
-DCMAKE_BUILD_TYPE= \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib \
|
||||
-DWITH_JPEG8=1
|
||||
|
||||
# Generate build config for SkiaSharp
|
||||
cd "$builddir"
|
||||
local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$_skiasharpdir"/VERSIONS.txt)
|
||||
local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$_skiasharpdir"/scripts/VERSIONS.txt)
|
||||
local map="$_skiasharpdir"/native/linux/libSkiaSharp/libSkiaSharp.map
|
||||
local _skia_arch=$CTARGET_ARCH
|
||||
|
||||
|
|
@ -87,7 +67,7 @@ build() {
|
|||
}
|
||||
|
||||
package() {
|
||||
local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$_skiasharpdir"/VERSIONS.txt)
|
||||
local soname=$(awk '$1 == "libSkiaSharp" && $2 == "soname" { print $3 }' "$_skiasharpdir"/scripts/VERSIONS.txt)
|
||||
|
||||
install -Dm644 _build/libSkiaSharp.so.$soname -t "$pkgdir"/usr/lib/
|
||||
ln -s libSkiaSharp.so.$soname "$pkgdir"/usr/lib/libSkiaSharp.so.${soname%%.*}
|
||||
|
|
@ -95,10 +75,9 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
c13fb2f2cb8e231f5130e97450e242b910ea098419334303ed0b3391ff264549f9283343be8f5e1a6e59fa7ffe9d9aeb1c2d5607af0fb1fc03af0645b685dff2 SkiaSharp-2.88.9.tar.gz
|
||||
43b19f6ddefe30ddf37034c73cd23feea28cb9e4a5830f8c526771afa051bdb2a96934f70dc035ca85891992b67b47d1becc6f4bf8768175db8452e144dfd9f1 skia-2.88.3.tar.gz
|
||||
c1d8eace5078a25a8be5aa92337e1211055fb4d6a1da6f019e8f53871051b56af5cd18f19e0d67a34895402bbd575d233c5b5ad752e3ea5cdc85bfd63a392910 args.gn.in
|
||||
0c4caa5aff089d314540959f068ca06c5580465be7a4a4abb3db9e1756a8043e14cbd4f8be677cfe4bd837b32115c8fefb2c79cf7bd52dd06fa1cb50e2406756 0001-fix-cflags-for-system-freetype2.patch
|
||||
7eac411d6f235a450dcccf7d451ecc0d9516761b3cf37d3b0438fa2648b4ce7b0912de16d27221dc1df82fe62efb9287084fce433f1aeae48732da454402dbd7 0002-add-missing-includes.patch
|
||||
86a7248d064043b26b09755633ef4872a2a6133c9e677a9fe4be6645b2e0fde102cf01e09119967b3b6b85f4cb93f3f7c49ec4973944d5eff99b5b90ce8b0be6 libjpeg-turbo-2.1.5.1.tar.gz
|
||||
cf9c292edebe972e318f9a807216a5e26053e2cf4b56c4dd0b6a0c7c046a2cec67ae65550fb0e5656ae0fd0b372f5a70dcc4a8704ffe1690f5a8fbc1abadf95b SkiaSharp-3.119.1.tar.gz
|
||||
ee27e49434a5fe2efb2565e80dd682b6f4e91bb15d1e13f635a1d658929262bc069d04bdf49baf98b62a0425cc9353f3365cb7557c83a03b05381acb2acb2e0d skia-40f75dc0051d141913c07c20d4c19590c7da0cb7.tar.gz
|
||||
b2b87cec448f5ce777d28c9e865621a121d2f32dc9d9b31d254781fc288d69e4a3a5276664d16f1ecc5eaf9963404657ad0770aeabe14c5a127847262694efd2 args.gn.in
|
||||
3c6543aa126ba395d32f6831feb5121b151c89b2770589858d5b7820e1fc4d94aa2d89da4e954472b5f3fe9194448f72535b23d2f2815f90d6a9e7ae022fb42f 0001-fix-cflags-for-system-freetype2.patch
|
||||
44c0044c72ccd9a5a3f679f1fe548264a779c87726d2af448c711d5c2f9b003b69056e0b231e87193d91c66416dc613be992808172522b27d02807845d30f463 0002-add-missing-includes.patch
|
||||
"
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ is_official_build=true
|
|||
target_os="linux"
|
||||
target_cpu="$_skia_arch"
|
||||
skia_enable_gpu=true
|
||||
skia_use_icu=false
|
||||
skia_use_icu=true
|
||||
skia_use_piex=true
|
||||
skia_use_sfntly=false
|
||||
skia_use_sfntly=true
|
||||
skia_enable_skottie=true
|
||||
skia_enable_tools=false
|
||||
skia_use_vulkan=true
|
||||
skia_use_system_libjpeg_turbo=false
|
||||
skia_use_system_libjpeg_turbo=true
|
||||
# disabled as it's not packaged
|
||||
skia_use_dng_sdk=false
|
||||
extra_cflags=[ "-DSKIA_C_DLL" ]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue