Update build scripts and dependencies

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
This commit is contained in:
nyanmisaka
2026-05-28 10:57:06 +08:00
parent 6f10ceb986
commit 6484e3bdad
117 changed files with 2384 additions and 716 deletions
+4 -4
View File
@@ -1,8 +1,8 @@
#!/usr/bin/make
DISTRO=noble
GCC_VER=13
LLVM_VER=19
LLVMSPIRVLIB_VER=19
DISTRO=resolute
GCC_VER=15
LLVM_VER=21
LLVMSPIRVLIB_VER=21
ARCH=amd64
.PHONY: Dockerfile
Dockerfile: Dockerfile.in
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/make
DISTRO=ubuntu:noble
DISTRO=ubuntu:resolute
.PHONY: Dockerfile
Dockerfile: Dockerfile.win64.in
sed 's/DISTRO/$(DISTRO)/' $< > $@ || rm -f $@
+4 -4
View File
@@ -46,14 +46,14 @@ case ${cli_release} in
'noble')
release="ubuntu:noble"
gcc_ver="13"
llvm_ver="19"
llvmspirvlib_ver="19"
llvm_ver="20"
llvmspirvlib_ver="20"
;;
'resolute')
release="ubuntu:resolute"
gcc_ver="15"
llvm_ver="20"
llvmspirvlib_ver="20"
llvm_ver="21"
llvmspirvlib_ver="21"
;;
*)
echo "Invalid release."
+1 -1
View File
@@ -9,7 +9,7 @@ for dep in docker make; do
done
# Use the latest distro for toolchains
distro="ubuntu:noble"
distro="ubuntu:resolute"
image_name="jellyfin-ffmpeg-build-windows-win64"
package_temporary_dir="$( mktemp -d )"
current_user="$( whoami )"
+7 -5
View File
@@ -1,18 +1,20 @@
FROM ubuntu:noble
FROM ubuntu:resolute
ENV DEBIAN_FRONTEND=noninteractive
RUN \
apt-get -y update && \
apt-get -y dist-upgrade && \
apt-get -y install build-essential yasm nasm quilt rsync \
xxd pkgconf curl wget unzip git subversion mercurial \
apt-get -y install --no-install-recommends \
build-essential yasm nasm quilt \
xxd pkgconf curl wget unzip zip git subversion mercurial rsync jq \
autoconf automake libtool libtool-bin autopoint gettext cmake clang meson ninja-build \
texinfo texi2html help2man flex bison groff \
gperf itstool ragel libc6-dev zlib1g-dev libssl-dev \
gtk-doc-tools gobject-introspection gawk \
ocaml ocamlbuild libnum-ocaml-dev indent p7zip-full \
python3-setuptools python3-jinja2 python3-apt python-is-python3 && \
ocaml ocaml-findlib ocamlbuild libnum-ocaml-dev indent p7zip-full zstd \
python3-setuptools python3-pip python3-venv python3-jinja2 python3-jsonschema \
python3-apt python3-dev python-is-python3 && \
apt-get -y clean && \
git config --global user.email "builder@localhost" && \
git config --global user.name "Builder" && \
+3 -3
View File
@@ -1,9 +1,9 @@
#!/bin/bash
ffbuild_macbase() {
wget https://mirrors.edge.kernel.org/gnu/gettext/gettext-0.22.5.tar.gz -O gettext.tar.gz
wget https://mirrors.edge.kernel.org/gnu/gettext/gettext-1.0.tar.gz -O gettext.tar.gz
tar xvf gettext.tar.gz
cd gettext-0.22.5
./configure --disable-silent-rules --disable-shared --enable-static --with-included-glib --with-included-libcroco --with-included-libunistring --with-included-libxml --with-emacs --with-lispdir="$FFBUILD_PREFIX"/share --disable-java --disable-csharp --without-git --without-cvs --without-xz --with-included-gettext --prefix="$FFBUILD_PREFIX"
cd gettext-1.0
./configure --disable-silent-rules --disable-shared --enable-static --with-included-glib --with-included-libcroco --with-included-libunistring --with-included-libxml --with-emacs --with-lispdir="$FFBUILD_PREFIX"/share --disable-java --disable-csharp --without-git --without-cvs --without-xz --with-included-gettext --prefix="$FFBUILD_PREFIX" LDFLAGS="$LDFLAGS -liconv"
make -j$(nproc)
make install
}
+3 -10
View File
@@ -1,22 +1,15 @@
#!/bin/bash
ffbuild_macbase() {
wget https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz -O broti.tar.gz
wget https://github.com/google/brotli/archive/refs/tags/v1.2.0.tar.gz -O broti.tar.gz
tar xvf broti.tar.gz
cd brotli-1.1.0
# Google hardcodes their libs to be dynamic and does not horner -DENABLE_STATIC=ON
sed -i '' 's/add_library(brotlicommon/add_library(brotlicommon STATIC/' CMakeLists.txt
sed -i '' 's/add_library(brotlidec/add_library(brotlidec STATIC/' CMakeLists.txt
sed -i '' 's/add_library(brotlienc/add_library(brotlienc STATIC/' CMakeLists.txt
cd brotli-1.2.0
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_SHARED=OFF \
-DENABLE_STATIC=ON \
-DBUILD_STATIC_LIBS=ON
-DBUILD_SHARED_LIBS=OFF
make -j$(nproc)
make install
}
+1 -1
View File
@@ -2,7 +2,7 @@
ffbuild_macbase() {
git clone https://github.com/glennrp/libpng.git
cd libpng
git checkout v1.6.43
git checkout v1.6.58
mkdir build
cd build
+8 -2
View File
@@ -2,6 +2,10 @@
c = '/usr/bin/clang'
cpp = '/usr/bin/clang++'
ar = '/usr/bin/ar'
ranlib = '/usr/bin/ranlib'
strip = '/usr/bin/strip'
nm = '/usr/bin/nm'
pkg-config = 'pkg-config'
[host_machine]
system = 'darwin'
@@ -9,6 +13,8 @@ cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'
[properties]
[built-in options]
c_args = ['-arch', 'x86_64']
cpp_args = ['-arch', 'x86_64']
cpp_args = ['-arch', 'x86_64']
c_link_args = ['-arch', 'x86_64']
cpp_link_args = ['-arch', 'x86_64']
@@ -0,0 +1,117 @@
From 1d687149fcfc2caca536c168ba2068e7816844ac Mon Sep 17 00:00:00 2001
From: nyanmisaka <nst799610810@gmail.com>
Date: Fri, 1 May 2026 19:45:21 +0800
Subject: [PATCH] libav/utils: fix non-multiplane fmt bit_shift in
pl_map_avframe*
Fixes: https://github.com/haasn/libplacebo/issues/349
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
---
src/include/libplacebo/utils/libav_internal.h | 58 +++++++++++++++++--
1 file changed, 52 insertions(+), 6 deletions(-)
diff --git a/src/include/libplacebo/utils/libav_internal.h b/src/include/libplacebo/utils/libav_internal.h
index cc954dc9..ca298c1f 100644
--- a/src/include/libplacebo/utils/libav_internal.h
+++ b/src/include/libplacebo/utils/libav_internal.h
@@ -1040,6 +1040,44 @@ struct pl_avframe_priv {
pl_tex planar; // for planar vulkan textures
};
+#define COMP_MAX(x, y) ((x) > (y) ? (x) : (y))
+#define COMP_MIN(x, y) ((x) < (y) ? (x) : (y))
+#define COMP_ABS(x) ((x) < 0 ? -(x) : (x))
+
+static void pl_map_hwframe_bit_encoding(struct pl_bit_encoding *out_bits,
+ enum AVPixelFormat pix_fmt)
+{
+ const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
+ struct pl_bit_encoding bits = {0};
+ bool is_supported = true;
+ if (!out_bits || !desc)
+ return;
+
+ // Calculate bit encoding from all components (excluding alpha)
+ for (int c = 0; c < COMP_MIN(desc->nb_components, 3); c++) {
+ const AVComponentDescriptor *comp = &desc->comp[c];
+ struct pl_bit_encoding cbits = {
+ .sample_depth = comp->depth + COMP_ABS(comp->shift),
+ .color_depth = comp->depth,
+ .bit_shift = COMP_MAX(comp->shift, 0),
+ };
+
+ if (bits.sample_depth && !pl_bit_encoding_equal(&bits, &cbits)) {
+ // Bit encoding differs between components, cannot handle this
+ is_supported = false;
+ break;
+ }
+
+ bits = cbits;
+ }
+ if (is_supported)
+ *out_bits = bits;
+}
+
+#undef COMP_MAX
+#undef COMP_MIN
+#undef COMP_ABS
+
static void pl_fix_hwframe_sample_depth(struct pl_frame *out)
{
pl_fmt fmt = out->planes[0].texture->params.format;
@@ -1088,13 +1126,9 @@ static bool pl_map_avframe_drm(pl_gpu gpu, struct pl_frame *out,
return false;
}
+ pl_map_hwframe_bit_encoding(&out->repr.bits, hwfc->sw_format);
pl_fix_hwframe_sample_depth(out);
- switch (hwfc->sw_format) {
- case AV_PIX_FMT_P010: out->repr.bits.bit_shift = 6; break;
- default: break;
- }
-
return true;
}
@@ -1234,8 +1268,11 @@ static bool pl_map_avframe_vulkan(pl_gpu gpu, struct pl_frame *out,
if (!vk)
return false;
+ pl_map_hwframe_bit_encoding(&out->repr.bits, hwfc->sw_format);
+
for (int n = 0; n < out->num_planes; n++) {
struct pl_plane *plane = &out->planes[n];
+ struct pl_bit_encoding bits = {0};
bool chroma = n == 1 || n == 2;
int num_subplanes;
assert(vk_fmt[n]);
@@ -1244,7 +1281,7 @@ static bool pl_map_avframe_vulkan(pl_gpu gpu, struct pl_frame *out,
.image = vkf->img[n],
.width = AV_CEIL_RSHIFT(hwfc->width, chroma ? desc->log2_chroma_w : 0),
.height = AV_CEIL_RSHIFT(hwfc->height, chroma ? desc->log2_chroma_h : 0),
- .format = map_vk_fmt(vkfc, vk_fmt[n], &out->repr.bits),
+ .format = map_vk_fmt(vkfc, vk_fmt[n], &bits),
.usage = vkfc->usage,
));
if (!plane->texture)
@@ -1253,6 +1290,15 @@ static bool pl_map_avframe_vulkan(pl_gpu gpu, struct pl_frame *out,
num_subplanes = plane->texture->params.format->num_planes;
if (num_subplanes) {
assert(num_subplanes == out->num_planes);
+
+ // Cannot shift on non-mutable multiplane vk image
+ if (!n && num_subplanes > 1 && out->repr.bits.bit_shift) {
+ if (vkfc->img_flags & VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT)
+ assert(out->repr.bits.bit_shift == bits.bit_shift);
+ else
+ out->repr.bits.bit_shift = 0;
+ }
+
priv->planar = plane->texture;
for (int i = 0; i < num_subplanes; i++)
out->planes[i].texture = priv->planar->planes[i];
--
2.34.1
@@ -1,64 +0,0 @@
From 554c91c09a47afef1f66cb3338eadb5939507072 Mon Sep 17 00:00:00 2001
From: nyanmisaka <nst799610810@gmail.com>
Date: Thu, 27 Mar 2025 19:26:24 +0800
Subject: [PATCH] vulkan: force using 16bit for p01x formats
Workaround for the regression made in Mesa RADV.
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
---
src/vulkan/formats.c | 7 ++++++-
src/vulkan/gpu_tex.c | 12 +++++++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/vulkan/formats.c b/src/vulkan/formats.c
index f0eb0fb7..7d1c6478 100644
--- a/src/vulkan/formats.c
+++ b/src/vulkan/formats.c
@@ -415,7 +415,12 @@ void vk_setup_formats(struct pl_gpu_t *gpu)
.pNext = has_drm_mods ? &drm_props : NULL,
};
- vk->GetPhysicalDeviceFormatProperties2(vk->physd, vk_fmt->tfmt, &prop2);
+ VkFormat tfmt = vk_fmt->tfmt;
+ if (tfmt == VK_FORMAT_R10X6_UNORM_PACK16)
+ tfmt = VK_FORMAT_R16_UNORM;
+ else if (tfmt == VK_FORMAT_R10X6G10X6_UNORM_2PACK16)
+ tfmt = VK_FORMAT_R16G16_UNORM;
+ vk->GetPhysicalDeviceFormatProperties2(vk->physd, tfmt, &prop2);
// If wholly unsupported, try falling back to the emulation formats
// for texture operations
diff --git a/src/vulkan/gpu_tex.c b/src/vulkan/gpu_tex.c
index a419ffdc..ec32c546 100644
--- a/src/vulkan/gpu_tex.c
+++ b/src/vulkan/gpu_tex.c
@@ -371,6 +371,11 @@ pl_tex vk_tex_create(pl_gpu gpu, const struct pl_tex_params *params)
.pQueueFamilyIndices = qfs,
};
+ if (tex_vk->img_fmt == VK_FORMAT_R10X6_UNORM_PACK16)
+ iinfo.format = VK_FORMAT_R16_UNORM;
+ else if (tex_vk->img_fmt == VK_FORMAT_R10X6G10X6_UNORM_2PACK16)
+ iinfo.format = VK_FORMAT_R16G16_UNORM;
+
struct vk_malloc_params mparams = {
.optimal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
.export_handle = params->export_handle,
@@ -1215,7 +1220,12 @@ pl_tex pl_vulkan_wrap(pl_gpu gpu, const struct pl_vulkan_wrap_params *params)
tex_vk->external_img = true;
tex_vk->held = !fmt->num_planes;
tex_vk->img = params->image;
- tex_vk->img_fmt = params->format;
+ if (params->format == VK_FORMAT_R10X6_UNORM_PACK16)
+ tex_vk->img_fmt = VK_FORMAT_R16_UNORM;
+ else if (params->format == VK_FORMAT_R10X6G10X6_UNORM_2PACK16)
+ tex_vk->img_fmt = VK_FORMAT_R16G16_UNORM;
+ else
+ tex_vk->img_fmt = params->format;
tex_vk->num_planes = fmt->num_planes;
tex_vk->usage_flags = usage;
tex_vk->aspect = params->aspect;
--
2.34.1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/mingw-w64/mingw-w64.git"
SCRIPT_COMMIT="2de6703961c0d519046b841f7b392a040e1e5b55"
SCRIPT_COMMIT="b2b5e53e9d9be406e60ebc152a9cf161b87d4e12"
ffbuild_enabled() {
[[ $TARGET == win* ]] || return -1
+2 -5
View File
@@ -2,12 +2,12 @@
#SCRIPT_ORIG="https://git.savannah.gnu.org/git/libiconv.git"
SCRIPT_REPO="https://skia.googlesource.com/third_party/libiconv"
SCRIPT_COMMIT="v1.18"
SCRIPT_COMMIT="v1.19"
SCRIPT_TAGFILTER="v?.*"
SCRIPT_ORIG2="git://git.savannah.gnu.org/gnulib.git"
SCRIPT_REPO2="https://github.com/coreutils/gnulib.git"
SCRIPT_COMMIT2="e9c1d94f58eaacee919bb2015da490b980a5eedf"
SCRIPT_COMMIT2="5926e89900ffe4c850dd026fb634c15bf3cee526"
ffbuild_enabled() {
return 0
@@ -24,9 +24,6 @@ ffbuild_dockerbuild() {
./gitsub.sh pull
./gitsub.sh checkout gnulib "$SCRIPT_COMMIT2"
# No automake 1.17 packaged anywhere yet.
sed -i 's/-1.17/-1.16/' Makefile.devel
(unset CC CFLAGS GMAKE && ./autogen.sh)
local myconf=(
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/madler/zlib.git"
SCRIPT_COMMIT="570720b0c24f9686c33f35a1b3165c1f568b96be"
SCRIPT_COMMIT="f9dd6009be3ed32415edf1e89d1bc38380ecb95d"
ffbuild_enabled() {
return 0
+9 -25
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/FFTW/fftw3.git"
SCRIPT_COMMIT="7947c101a5b724fe8b9784218388b46d7e247132"
SCRIPT_COMMIT="4fca9817e68f77c118e4704562d63e45c02d38bf"
ffbuild_enabled() {
# Dependency of GPL-Only librubberband
@@ -12,14 +12,7 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
if [[ $TARGET != mac* ]]; then
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT_PINNED" fftw3f
else
# The git does not build on macOS
retry-tool check-wget "fftw-3.3.10.tar.gz" "http://fftw.org/fftw-3.3.10.tar.gz" "2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40"
tar xvf fftw-3.3.10.tar.gz
mv fftw-3.3.10 fftw3f
fi
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT_PINNED" fftw3f
cd fftw3f
local myconf=(
@@ -36,7 +29,11 @@ ffbuild_dockerbuild() {
--with-incoming-stack-boundary=2
)
if [[ $TARGET != *arm64 ]]; then
if [[ $TARGET == *arm64 ]]; then
myconf+=(
--enable-neon
)
else
myconf+=(
--enable-sse2
--enable-avx
@@ -44,31 +41,18 @@ ffbuild_dockerbuild() {
--enable-avx2
--enable-avx512
)
else
myconf+=(
--enable-neon
)
fi
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET == mac* ]]; then
:
else
echo "Unknown target"
return -1
fi
./bootstrap.sh "${myconf[@]}"
if [[ $TARGET == mac* ]]; then
sed -i '' 's/CC = gcc/CC = gcc-13/' Makefile
sed -i '' 's/CPP = gcc/CPP = gcc-13/' Makefile
gmake -j$(nproc)
gmake install
else
make -j$(nproc)
make install
fi
make -j$(nproc)
make install
}
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/freetype/freetype.git"
SCRIPT_COMMIT="23b6cd27ff19b70cbf98e058cd2cf0647d5284ff"
SCRIPT_COMMIT="1803559c4ee407d0bcbf2a67dbe96690cee869d2"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/fribidi/fribidi.git"
SCRIPT_COMMIT="b28f43bd3e8e31a5967830f721bab218c1aa114c"
SCRIPT_COMMIT="5c85a174650ab8ef106ce85f13bcf2950d3fc65f"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/xiph/ogg.git"
SCRIPT_COMMIT="0288fadac3ac62d453409dfc83e9c4ab617d2472"
SCRIPT_COMMIT="06a5e0262cdc28aa4ae6797627a783b5010440f0"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/GNOME/libxml2.git"
SCRIPT_COMMIT="9827e6e44652555992e168609abf94e4237ca944"
SCRIPT_COMMIT="a7511af09f99995cdf81994db21f4eba564276b5"
ffbuild_enabled() {
return 0
+2 -2
View File
@@ -1,8 +1,8 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/openssl/openssl.git"
SCRIPT_COMMIT="openssl-3.4.3"
SCRIPT_TAGFILTER="openssl-3.4.*"
SCRIPT_COMMIT="openssl-3.6.2"
SCRIPT_TAGFILTER="openssl-3.6.*"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/tukaani-project/xz.git"
SCRIPT_COMMIT="v5.8.2"
SCRIPT_COMMIT="v5.8.3"
SCRIPT_TAGFILTER="v?.*.*"
ffbuild_enabled() {
+23 -19
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/fontconfig/fontconfig.git"
SCRIPT_COMMIT="6d0a98982ec351c165c9224c8b7dbdfca3010e47"
SCRIPT_COMMIT="04e45cdd5fc2223e8289aaf402717fadb536c3f1"
ffbuild_enabled() {
return 0
@@ -11,43 +11,47 @@ ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fc
cd fc
if [[ $TARGET == mac* ]]; then
autoreconf -iv
else
./autogen.sh --noconf
fi
mkdir build && cd build
local myconf=(
--prefix="$FFBUILD_PREFIX"
--disable-docs
--enable-libxml2
--enable-iconv
--disable-shared
--enable-static
--buildtype=release
--wrap-mode=nofallback
--default-library=static
-Ddoc=disabled
-Diconv=enabled
-Dxml-backend=libxml2
-Dtools=disabled
-Dcache-build=disabled
-Dtests=disabled
)
if [[ $TARGET == linux* ]]; then
myconf+=(
--sysconfdir=/etc
--localstatedir=/var
--host="$FFBUILD_TOOLCHAIN"
--cross-file=/cross.meson
)
elif [[ $TARGET == win* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
--cross-file=/cross.meson
)
elif [[ $TARGET == mac* ]]; then
# freetype's pkg-config usage cannot find static libbrotli
export FREETYPE_LIBS="$(pkg-config --libs --static freetype2)"
if [ "$MACOS_BUILDER_CPU_ARCH" = "arm64" ] && [ "$TARGET" = "mac64" ]; then
myconf+=(
--cross-file="$BUILDER_ROOT"/images/macos/cross/cross-x86_64.txt
)
fi
else
echo "Unknown target"
return -1
fi
./configure "${myconf[@]}"
make -j$(nproc)
make install
# Manually tell it to link against macOS builtin and static libintl
meson setup "${myconf[@]}" ..
ninja -j"$(nproc)"
ninja install
# Manually tell it to link against macOS builtin and static libintl
if [[ $TARGET == mac* ]]; then
sed -i '' '/^Libs:/ s/$/ -lintl -framework CoreFoundation/' "$FFBUILD_PREFIX"/lib/pkgconfig/fontconfig.pc
fi
+3 -4
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/harfbuzz/harfbuzz.git"
SCRIPT_COMMIT="e9348cd76d38f72cf881cc860035403220ffbe0b"
SCRIPT_COMMIT="b0ffab42d473eb380ad0fcf42730e0f1868cbc97"
ffbuild_enabled() {
return 0
@@ -27,6 +27,7 @@ ffbuild_dockerbuild() {
-Dintrospection=disabled
-Ddocs=disabled
-Dutilities=disabled
-Dgpu=disabled
)
if [[ $TARGET == win* || $TARGET == linux* ]]; then
@@ -34,8 +35,6 @@ ffbuild_dockerbuild() {
--cross-file=/cross.meson
)
elif [[ $TARGET == mac* ]]; then
# freetype's pkg-config usage cannot find static libbrotli
export FREETYPE_LIBS="$(pkg-config --libs --static freetype2)"
if [ "$MACOS_BUILDER_CPU_ARCH" = "arm64" ] && [ "$TARGET" = "mac64" ]; then
myconf+=(
--cross-file="$BUILDER_ROOT"/images/macos/cross/cross-x86_64.txt
@@ -46,7 +45,7 @@ ffbuild_dockerbuild() {
return -1
fi
meson "${myconf[@]}" ..
meson setup "${myconf[@]}" ..
ninja -j$(nproc)
ninja install
}
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/adah1972/libunibreak.git"
SCRIPT_COMMIT="32dc4fabf20176aeaa63c4880cc53cc123e53261"
SCRIPT_COMMIT="3ce4bfa3129ff3738046a44a6db533d2ce25af2b"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/xiph/vorbis.git"
SCRIPT_COMMIT="2d79800b6751dddd4b8b4ad50832faa5ae2a00d9"
SCRIPT_COMMIT="68a7fc2246e734f1a311b06083fc1249551c4412"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/proto/xcbproto.git"
SCRIPT_COMMIT="283ead0904eb8c6350cef67dd638bb4a6b014c3a"
SCRIPT_COMMIT="cf7e2581b613802f2f8ec2a4b50a6a20aad4bf52"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/proto/xorgproto.git"
SCRIPT_COMMIT="c18d2bc22813793bba7f0e4e603c0104d7724802"
SCRIPT_COMMIT="fcb7e9a1a0b593a44740d83b0babddd331fea830"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxtrans.git"
SCRIPT_COMMIT="cf05ba4a10c90da2c63805a5375e983b174e28b0"
SCRIPT_COMMIT="693d28a76024a2a0a28eef25037bcb7558b8bbfa"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxau.git"
SCRIPT_COMMIT="962b015d498b1f186aea8e3b0b46fb9791831552"
SCRIPT_COMMIT="03d51d05a093327e2889b8df2c32a58a4b381133"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxcb.git"
SCRIPT_COMMIT="93ee2ac73c32dcb567259fb83c564a424cd9fef7"
SCRIPT_COMMIT="4d6e1c8fffaf811cf4d0e68ff3bc6f50e62c32c7"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libx11.git"
SCRIPT_COMMIT="369c6a806554429798b531cbf4267d8c8fcf6ed1"
SCRIPT_COMMIT="b10abf6b99d5acf846c26f305f1a14a86360a96c"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxext.git"
SCRIPT_COMMIT="5ce2a6127889834082147dbcdd47731b7986961b"
SCRIPT_COMMIT="2a694ba264ccdb205909909abfe8b136f9156ebe"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxfixes.git"
SCRIPT_COMMIT="70d5b0e37f8a759f3dbc218f22954347ceed094a"
SCRIPT_COMMIT="55bb2d1d57d43e0595ce45393f26eb433d75a7cc"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxi.git"
SCRIPT_COMMIT="3c2d5aedd7708c75710b39268631762de904c304"
SCRIPT_COMMIT="3103b5849d89335fd57b08b91ad634216ed96073"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxinerama.git"
SCRIPT_COMMIT="cc22c2f60c3862482562955116d5455263b443dc"
SCRIPT_COMMIT="d7162b962710bc724b41cabab4e7cea303c4b541"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxrender.git"
SCRIPT_COMMIT="01c4bb5b30bbb09921ca4042da369a60a73faefa"
SCRIPT_COMMIT="f32afe9f877ae032c6bc9c27b17b7978b1b4c856"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver.git"
SCRIPT_COMMIT="60c957ba8a727d01b376da0142aef7e18aa86fe1"
SCRIPT_COMMIT="3f753e7a4050db083474444ae91cc17a849eaa4d"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxxf86vm.git"
SCRIPT_COMMIT="63134ba6acf046099fc112e08942ff6549f2286a"
SCRIPT_COMMIT="c76fde6bffcc87e5dd98d8196bb01a299bdc3236"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/glvnd/libglvnd.git"
SCRIPT_COMMIT="606f6627cf481ee6dcb32387edc010c502cdf38b"
SCRIPT_COMMIT="c046a760d845416e98ac4128757b2b356c47fdaa"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxcursor.git"
SCRIPT_COMMIT="2197ca8cbb743d2fcc43c155396a724cad8f26f3"
SCRIPT_COMMIT="15efad7ccd035f5d1ddc8d437e047569d1775fa7"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxrandr.git"
SCRIPT_COMMIT="242fae8378b213f8e477bde1c4be2fb654201b3d"
SCRIPT_COMMIT="8a4ba1974bcf07057cf891128d86ae1ab5303574"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+1 -2
View File
@@ -1,11 +1,10 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxv.git"
SCRIPT_COMMIT="d709b8efab4e28b3ad324ca30acdb81a527f69a4"
SCRIPT_COMMIT="f315ec50fcad9bdbaed46c3e78dc5e7fe209f933"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
[[ $ADDINS_STR == *4.4* ]] && return -1
return 0
}
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/KhronosGroup/Vulkan-Headers.git"
SCRIPT_COMMIT="v1.4.349"
SCRIPT_TAGFILTER="v?.*.*"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vkheaders
cd vkheaders
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DVULKAN_HEADERS_ENABLE_MODULE=NO -DVULKAN_HEADERS_ENABLE_TESTS=NO -DVULKAN_HEADERS_ENABLE_INSTALL=YES ..
make -j$(nproc)
make install
}
+36
View File
@@ -0,0 +1,36 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/BtbN/Vulkan-Shim-Loader.git"
SCRIPT_COMMIT="65b3936528cd92eb4ea3de485d03f858a3850484"
SCRIPT_REPO2="https://github.com/KhronosGroup/Vulkan-Headers.git"
SCRIPT_COMMIT2="v1.4.349"
SCRIPT_TAGFILTER2="v?.*.*"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vkloader
cd vkloader
# update submodule
git-mini-clone "$SCRIPT_REPO2" "$SCRIPT_COMMIT2" Vulkan-Headers
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DVULKAN_SHIM_IMPERSONATE=ON ..
make -j$(nproc)
make install
}
ffbuild_configure() {
echo --enable-vulkan
}
ffbuild_unconfigure() {
echo --disable-vulkan
}
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/google/shaderc.git"
SCRIPT_COMMIT="c4b0af6c3664cd8b33ffddf452514e02a173b4d6"
SCRIPT_COMMIT="301b4ede53d59b68bf55f95bb26412d9233c8187"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
@@ -12,13 +12,13 @@ ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" shaderc
cd shaderc
./utils/git-sync-deps
./utils/git-sync-deps || exit $?
mkdir build && cd build
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
-DENABLE_EXCEPTIONS=ON -DENABLE_CTEST=OFF -DENABLE_GLSLANG_BINARIES=OFF -DSPIRV_SKIP_EXECUTABLES=ON \
-DENABLE_EXCEPTIONS=ON -DENABLE_GLSLANG_BINARIES=OFF -DSPIRV_SKIP_EXECUTABLES=ON \
-DSPIRV_TOOLS_BUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ..
ninja -j$(nproc)
ninja install
@@ -39,6 +39,17 @@ ffbuild_dockerbuild() {
echo "Unknown target"
return -1
fi
# prepare native glslc for compilation time glsl->spv
mkdir ../native_build && cd ../native_build
unset CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR RANLIB NM DLLTOOL PKG_CONFIG_LIBDIR
cmake -GNinja -DCMAKE_BUILD_TYPE=Release \
-DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
-DENABLE_EXCEPTIONS=ON -DSPIRV_TOOLS_BUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ..
ninja -j$(nproc) glslc/glslc
cp glslc/glslc /opt/glslc
}
ffbuild_configure() {
@@ -46,6 +57,5 @@ ffbuild_configure() {
}
ffbuild_unconfigure() {
[[ $ADDINS_STR == *4.4* ]] && return 0
echo --disable-libshaderc
}
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/KhronosGroup/SPIRV-Cross.git"
SCRIPT_COMMIT="28184c1e138f18c330256eeb2f56b9f9fbc53921"
SCRIPT_COMMIT="b9ded926bd2ec460b8d60d5c9678808bf8cbdd9b"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
SCRIPT_SKIP="1"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
return 0
}
ffbuild_dockerlayer() {
to_df "COPY --link --from=${SELFLAYER} \$FFBUILD_PREFIX/. \$FFBUILD_PREFIX"
to_df "COPY --link --from=${SELFLAYER} /opt/glslc /usr/bin/glslc"
}
ffbuild_dockerfinal() {
to_df "COPY --link --from=${PREVLAYER} \$FFBUILD_PREFIX/. \$FFBUILD_PREFIX"
to_df "COPY --link --from=${SELFLAYER} /opt/glslc /usr/bin/glslc"
}
ffbuild_dockerbuild() {
return 0
}
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git"
SCRIPT_COMMIT="afed28d37aca1938da2eedc50599bb3535a987ec"
SCRIPT_COMMIT="d0b3e6dd544a5f207bb6a12a1ecb98532491176a"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/acoustid/chromaprint.git"
SCRIPT_COMMIT="9b6a0c61ecbeab75271bab4aca651d8dff41c5d6"
SCRIPT_COMMIT="6b13ce3a81ae931e7477c4856a86bece99157cd8"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://code.videolan.org/videolan/dav1d.git"
SCRIPT_COMMIT="a31e4bd75787c451301d66e888c76ada54544a0c"
SCRIPT_COMMIT="b546257f770768b2c88258c533da38b91a06f737"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/libass/libass.git"
SCRIPT_COMMIT="cbb743215bad0fe202477e569fe8005545258ccd"
SCRIPT_COMMIT="bbb3c7f1570a4a021e52683f3fbdf74fe492ae84"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://code.videolan.org/videolan/libbluray.git"
SCRIPT_COMMIT="71c5324e78dc7a159cad67ea7967300db54ec21c"
SCRIPT_COMMIT="4dfb9b0123b006ce5d66592dc8058f61e5c0cdc8"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/xiph/opus.git"
SCRIPT_COMMIT="59f13a3eb0eed3a56cf46bd68cc2f29f18d83ba2"
SCRIPT_COMMIT="788cc89ce4f2c42025d8c70ec1b4457dc89cd50f"
ffbuild_enabled() {
return 0
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://code.videolan.org/videolan/libplacebo.git"
SCRIPT_COMMIT="3188549fba13bbdf3a5a98de2a38c2e71f04e21e"
SCRIPT_COMMIT="cee9b076f2c63104ccfd497fa79c39a867293ec4"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
@@ -31,7 +31,7 @@ ffbuild_dockerbuild() {
--buildtype=release
--default-library=static
-Dvulkan=enabled
-Dvk-proc-addr=disabled
-Dvk-proc-addr=enabled
-Dvulkan-registry="$FFBUILD_PREFIX"/share/vulkan/registry/vk.xml
-Dshaderc=enabled
-Dglslang=disabled
@@ -68,6 +68,5 @@ ffbuild_configure() {
}
ffbuild_unconfigure() {
[[ $ADDINS_STR == *4.4* ]] && return 0
echo --disable-libplacebo
}
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/xiph/theora.git"
SCRIPT_COMMIT="23161c4a63fd9f9d09b9e972f95def2d56c777af"
SCRIPT_COMMIT="014bc312d05241ff2d06fd52ee7cbbec3768bfd6"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://chromium.googlesource.com/webm/libvpx"
SCRIPT_COMMIT="d5399cdd6abea1169a246f28c5ca9a50975d7ba9"
SCRIPT_COMMIT="1024874c5919305883187e2953de8fcb4c3d7fa6"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://chromium.googlesource.com/webm/libwebp"
SCRIPT_COMMIT="d52b9ee34d6bb8fb7a190fe359d8560cfc2afc91"
SCRIPT_COMMIT="4fa21912338357f89e4fd51cf2368325b59e9bd9"
ffbuild_enabled() {
return 0
+3 -3
View File
@@ -1,14 +1,14 @@
#!/bin/bash
SCRIPT_REPO="https://source.openmpt.org/svn/openmpt/trunk/OpenMPT"
SCRIPT_REV="24747"
SCRIPT_REPO="https://github.com/OpenMPT/openmpt.git"
SCRIPT_COMMIT="a2b251c67ca757bb181a0cd4cc97e9e94bfe2608"
ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
retry-tool sh -c "rm -rf openmpt && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' openmpt"
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openmpt
cd openmpt
local myconf=(
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/Haivision/srt.git"
SCRIPT_COMMIT="72f0c6e0e9a186adec428a145f4e085412d96796"
SCRIPT_COMMIT="b6b4ae990daa8193625a4ddeaeaed03023b23125"
ffbuild_enabled() {
return 0
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.com/AOMediaCodec/SVT-AV1.git"
SCRIPT_COMMIT="b33dcc56cc64fcb3b3569094af8ab1d0d81ab4c1"
SCRIPT_COMMIT="c04f951541ad600e0d9c10836f2ab7b9bc69816d"
ffbuild_enabled() {
[[ $TARGET == win32 ]] && return -1
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libpciaccess.git"
SCRIPT_COMMIT="191dfe0707e2a93c08e4b3e99454b6146c5bfca2"
SCRIPT_COMMIT="38e6f15f839fba2c49982e7ad61cde681fd5d4d6"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
+42 -22
View File
@@ -5,7 +5,6 @@ SCRIPT_COMMIT="dbf83dc3b1ce6bad46e1628aaf2da5ef731157b8"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
[[ $TARGET == linuxarm64 ]] && return -1
return 0
}
@@ -13,25 +12,44 @@ ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libva
cd libva
autoreconf -i
# This works around an issue of our libxcb-dri3 implib-wrapper not exporting data symbols.
# Under normal circumstances, this would break horribly.
# But we only want to generate another import lib for libva, so it doesn't matter.
echo "#include <xcb/xcbext.h>" >> va/x11/va_dri3.c
echo "xcb_extension_t xcb_dri3_id;" >> va/x11/va_dri3.c
# Allow to actually toggle static linking
sed -i "s/shared_library/library/g" va/meson.build
mkdir mybuild && cd mybuild
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
--disable-docs
--enable-drm
--enable-x11
--disable-glx
--disable-wayland
--buildtype=release
-Denable_docs=false
)
if [[ $TARGET == linux64 ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
--with-drivers-path="/usr/lib/x86_64-linux-gnu/dri"
--cross-file=/cross.meson
--default-library=shared
--sysconfdir="/etc"
-Ddriverdir="/usr/lib/x86_64-linux-gnu/dri"
-Ddisable_drm=false
-Dwith_x11=yes
-Dwith_glx=no
-Dwith_wayland=no
)
elif [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--cross-file=/cross.meson
--default-library=shared
--sysconfdir="/etc"
-Ddriverdir="/usr/lib/aarch64-linux-gnu/dri"
-Ddisable_drm=false
-Dwith_x11=yes
-Dwith_glx=no
-Dwith_wayland=no
)
else
echo "Unknown target"
@@ -41,22 +59,24 @@ ffbuild_dockerbuild() {
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
meson setup "${myconf[@]}" ..
ninja -j$(nproc)
ninja install
gen-implib "$FFBUILD_PREFIX"/lib/{libva.so.2,libva.a}
gen-implib "$FFBUILD_PREFIX"/lib/{libva-drm.so.2,libva-drm.a}
gen-implib "$FFBUILD_PREFIX"/lib/{libva-x11.so.2,libva-x11.a}
rm "$FFBUILD_PREFIX"/lib/libva{,-drm,-x11}{.so*,.la}
if [[ $TARGET == linux* ]]; then
gen-implib "$FFBUILD_PREFIX"/lib/{libva.so.2,libva.a}
gen-implib "$FFBUILD_PREFIX"/lib/{libva-drm.so.2,libva-drm.a}
gen-implib "$FFBUILD_PREFIX"/lib/{libva-x11.so.2,libva-x11.a}
rm "$FFBUILD_PREFIX"/lib/libva{,-drm,-x11}.so*
echo "Libs: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libva.pc
echo "Libs: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libva.pc
fi
}
ffbuild_configure() {
[[ $TARGET == linux* ]] && [[ $TARGET != linuxarm64 ]] && echo --enable-vaapi
[[ $TARGET == linux* ]] && echo --enable-vaapi
}
ffbuild_unconfigure() {
[[ $TARGET == linux* ]] && [[ $TARGET != linuxarm64 ]] && echo --disable-vaapi
[[ $TARGET == linux* ]] && echo --disable-vaapi
}
+4 -2
View File
@@ -8,6 +8,8 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
rm "$FFBUILD_PREFIX"/lib/lib*.so* || true
rm "$FFBUILD_PREFIX"/lib/*.la || true
if [[ $TARGET == linux* ]]; then
rm "$FFBUILD_PREFIX"/lib/lib*.so* || true
rm "$FFBUILD_PREFIX"/lib/*.la || true
fi
}
-39
View File
@@ -1,39 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/KhronosGroup/Vulkan-Headers.git"
SCRIPT_COMMIT="v1.4.337"
SCRIPT_TAGFILTER="v?.*.*"
ffbuild_enabled() {
[[ $TARGET == mac* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vkheaders
cd vkheaders
mkdir build && cd build
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" ..
ninja -j$(nproc)
ninja install
cat >"$FFBUILD_PREFIX"/lib/pkgconfig/vulkan.pc <<EOF
prefix=$FFBUILD_PREFIX
includedir=\${prefix}/include
Name: vulkan
Version: ${SCRIPT_COMMIT:1}
Description: Vulkan (Headers Only)
Cflags: -I\${includedir}
EOF
}
ffbuild_configure() {
echo --enable-vulkan
}
ffbuild_unconfigure() {
echo --disable-vulkan
}
+1 -21
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://bitbucket.org/multicoreware/x265_git.git"
SCRIPT_COMMIT="fa2770934b8f3d88aa866c77f27cb63f69a9ed39"
SCRIPT_COMMIT="e444744c03978c1fb4e037168967020cf2648427"
ffbuild_enabled() {
[[ $VARIANT == lgpl* ]] && return -1
@@ -18,26 +18,6 @@ ffbuild_dockerbuild() {
sed -i '1i#include <cstdint>' source/dynamicHDR10/json11/json11.cpp
fi
# Unbreak build compat with CMake 4.0+
if [[ $TARGET == mac* ]]; then
gsed -i 's/CMP0025 OLD/CMP0025 NEW/g' source/CMakeLists.txt
gsed -i 's/CMP0054 OLD/CMP0054 NEW/g' source/CMakeLists.txt
gsed -i 's/STREQUAL \"Clang\"/MATCHES \"Clang\"/g' source/CMakeLists.txt
else
sed -i 's/CMP0025 OLD/CMP0025 NEW/g' source/CMakeLists.txt
sed -i 's/CMP0054 OLD/CMP0054 NEW/g' source/CMakeLists.txt
sed -i 's/STREQUAL \"Clang\"/MATCHES \"Clang\"/g' source/CMakeLists.txt
fi
# Fix naming conflicts: https://bitbucket.org/multicoreware/x265_git/issues/984/illegal-instruction-neon_dotprod-crashes
if [[ $TARGET == mac* ]]; then
gsed -i 's/interp8_horiz_pp_dotprod/interp8_horiz_pp_dotprod_i8mm/g' source/common/aarch64/filter-neon-i8mm.cpp
gsed -i 's/interp8_horiz_ps_dotprod/interp8_horiz_ps_dotprod_i8mm/g' source/common/aarch64/filter-neon-i8mm.cpp
else
sed -i 's/interp8_horiz_pp_dotprod/interp8_horiz_pp_dotprod_i8mm/g' source/common/aarch64/filter-neon-i8mm.cpp
sed -i 's/interp8_horiz_ps_dotprod/interp8_horiz_ps_dotprod_i8mm/g' source/common/aarch64/filter-neon-i8mm.cpp
fi
local common_config=(
-DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX"
-DCMAKE_BUILD_TYPE=Release
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/sekrit-twc/zimg.git"
SCRIPT_COMMIT="df9c1472b9541d0e79c8d02dae37fdf12f189ec2"
SCRIPT_COMMIT="5e8c32222569edf3a712f83d7cff80ad4dd9ab6e"
ffbuild_enabled() {
return 0
+5 -1
View File
@@ -7,6 +7,7 @@ cd "$(dirname "$0")"/..
for scr in scripts.d/**/*.sh; do
echo "Processing ${scr}"
for attempt in $(seq 1 3); do
(
source "$scr"
@@ -87,6 +88,9 @@ echo "Processing ${scr}"
break
fi
done
)
) && break
echo "Attempt ${attempt}/3 failed for ${scr}, retrying in 5s..."
sleep 5
done
echo
done
+1 -1
View File
@@ -1,4 +1,4 @@
FF_CONFIGURE="--enable-gpl --enable-version3 --disable-ffplay --disable-debug --disable-doc --disable-sdl2"
FF_CONFIGURE="--enable-gpl --enable-version3 --disable-unstable --disable-ffplay --disable-debug --disable-doc --disable-sdl2"
FF_CFLAGS=""
FF_CXXFLAGS=""
FF_LDFLAGS=""
+1 -1
View File
@@ -4,7 +4,7 @@ MACOS_BUILDER_CPU_ARCH="$(uname -m)"
FF_CFLAGS+="-I"$FFBUILD_PREFIX"/include"
FF_LDFLAGS+="-L"$FFBUILD_PREFIX"/lib"
FF_CONFIGURE+=" --disable-libjack --disable-indev=jack --disable-libxcb --disable-xlib --enable-neon --enable-runtime-cpudetect --enable-audiotoolbox --enable-videotoolbox"
FF_CONFIGURE+=" --disable-unstable --disable-libjack --disable-indev=jack --disable-libxcb --disable-xlib --enable-neon --enable-runtime-cpudetect --enable-audiotoolbox --enable-videotoolbox"
FFBUILD_TARGET_FLAGS="--disable-shared --enable-static --pkg-config-flags=\"--static\" --enable-pthreads --cc=clang"
FF_HOST_CFLAGS="-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I"$FFBUILD_PREFIX"/include"
FF_HOST_LDFLAGS=""
+4 -2
View File
@@ -2,12 +2,14 @@
c = '/usr/bin/aarch64-linux-gnu-gcc'
cpp = '/usr/bin/aarch64-linux-gnu-g++'
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
ld = '/usr/bin/aarch64-linux-gnu-ld'
strip = '/usr/bin/aarch64-linux-gnu-strip'
pkgconfig = 'pkg-config'
ranlib = '/usr/bin/aarch64-linux-gnu-gcc-ranlib'
nm = '/usr/bin/aarch64-linux-gnu-gcc-nm'
pkg-config = 'pkg-config'
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'aarch64'
endian = 'little'
+12 -20
View File
@@ -5,18 +5,18 @@ export V=1
ORIG_VERSION := $(shell dpkg-parsechangelog -S version)
VERSION_SUFFIX := $(shell lsb_release -c -s)
PACKAGE_VERSION := "$(ORIG_VERSION)-$(VERSION_SUFFIX)"
FLTO_OPTIONS := auto
CONFIG := --prefix=${TARGET_DIR} \
--target-os=linux \
--extra-version=Jellyfin \
--disable-unstable \
--disable-doc \
--disable-ffplay \
--disable-static \
--disable-libxcb \
--disable-sdl2 \
--disable-xlib \
--enable-lto=${FLTO_OPTIONS} \
--enable-lto=auto \
--enable-gpl \
--enable-version3 \
--enable-shared \
@@ -46,34 +46,26 @@ CONFIG := --prefix=${TARGET_DIR} \
--enable-libzvbi \
--enable-libzimg \
--enable-libfdk-aac \
--enable-ffnvcodec \
--enable-cuda \
--enable-cuda-llvm \
--enable-cuvid \
--enable-nvdec \
--enable-nvenc \
CONFIG_x86 := --arch=amd64 \
--enable-libshaderc \
--enable-libplacebo \
--enable-vulkan \
--enable-vaapi \
--enable-amf \
--enable-libvpl \
--enable-ffnvcodec \
--enable-cuda \
--enable-cuda-llvm \
--enable-cuvid \
--enable-nvdec \
--enable-nvenc \
CONFIG_ARM_COMMON := --enable-cross-compile \
--enable-rkmpp \
--enable-rkrga \
--enable-amf \
CONFIG_ARM64 := --arch=arm64 \
--cross-prefix=/usr/bin/aarch64-linux-gnu- \
${CONFIG_ARM_COMMON} \
--enable-ffnvcodec \
--enable-cuda \
--enable-cuda-llvm \
--enable-cuvid \
--enable-nvdec \
--enable-nvenc \
--enable-cross-compile \
--enable-rkmpp \
--enable-rkrga \
HOST_ARCH := $(shell arch)
BUILD_ARCH := ${DEB_HOST_MULTIARCH}
+40 -53
View File
@@ -5,21 +5,6 @@
set -o errexit
set -o xtrace
# Update mingw-w64 headers
mingw_commit="6b2176247a83644113aa209acbeeaf8cdc78a8fa"
git clone https://github.com/mingw-w64/mingw-w64.git
pushd mingw-w64/mingw-w64-headers
git checkout ${mingw_commit}
./configure \
--prefix=/usr/${FF_TOOLCHAIN} \
--host=${FF_TOOLCHAIN} \
--with-default-win32-winnt="0x0601" \
--with-default-msvcrt="msvcrt" \
--enable-idl
make -j$(nproc)
make install
popd
# mingw-std-threads
mingw_threads_commit="c931bac289dd431f1dd30fc4a5d1a7be36668073"
git clone https://github.com/meganz/mingw-std-threads.git
@@ -32,7 +17,7 @@ popd
# ICONV
mkdir iconv
pushd iconv
iconv_ver="1.18"
iconv_ver="1.19"
iconv_link="https://mirrors.edge.kernel.org/gnu/libiconv/libiconv-${iconv_ver}.tar.gz"
wget ${iconv_link} -O iconv.tar.gz
tar xaf iconv.tar.gz
@@ -49,7 +34,7 @@ popd
popd
# LIBXML2
git clone -b v2.15.1 --depth=1 https://github.com/GNOME/libxml2.git
git clone -b v2.15.3 --depth=1 https://github.com/GNOME/libxml2.git
pushd libxml2
./autogen.sh \
--prefix=${FF_DEPS_PREFIX} \
@@ -62,7 +47,7 @@ make install
popd
# ZLIB
git clone -b v1.3.1 --depth=1 https://github.com/madler/zlib.git
git clone -b v1.3.2 --depth=1 https://github.com/madler/zlib.git
pushd zlib
./configure \
--prefix=${FF_DEPS_PREFIX} \
@@ -71,19 +56,6 @@ make -j$(nproc) CC=${FF_CROSS_PREFIX}gcc AR=${FF_CROSS_PREFIX}ar
make install
popd
# FREETYPE
git clone -b VER-2-14-1 --depth=1 https://github.com/freetype/freetype.git
pushd freetype
./autogen.sh
./configure \
--prefix=${FF_DEPS_PREFIX} \
--host=${FF_TOOLCHAIN} \
--disable-shared \
--enable-static
make -j$(nproc)
make install
popd
# FRIBIDI
git clone -b v1.0.16 --depth=1 https://github.com/fribidi/fribidi.git
meson setup fribidi fribidi_build \
@@ -96,6 +68,19 @@ meson configure fribidi_build
ninja -j$(nproc) -C fribidi_build install
sed -i 's/Cflags:/Cflags: -DFRIBIDI_LIB_STATIC/' ${FF_DEPS_PREFIX}/lib/pkgconfig/fribidi.pc
# FREETYPE
git clone -b VER-2-14-3 --depth=1 https://github.com/freetype/freetype.git
pushd freetype
./autogen.sh
./configure \
--prefix=${FF_DEPS_PREFIX} \
--host=${FF_TOOLCHAIN} \
--disable-shared \
--enable-static
make -j$(nproc)
make install
popd
# GMP
mkdir gmp
pushd gmp
@@ -118,7 +103,7 @@ popd
# FFTW3
mkdir fftw3
pushd fftw3
fftw3_ver="3.3.10"
fftw3_ver="3.3.11"
fftw3_link="https://fftw.org/fftw-${fftw3_ver}.tar.gz"
wget ${fftw3_link} -O fftw3.tar.gz
tar xaf fftw3.tar.gz
@@ -158,7 +143,7 @@ popd
popd
# LZMA
git clone -b v5.8.2 --depth=1 https://github.com/tukaani-project/xz.git
git clone -b v5.8.3 --depth=1 https://github.com/tukaani-project/xz.git
pushd xz
./autogen.sh --no-po4a --no-doxygen
./configure \
@@ -180,26 +165,28 @@ fc_ver="2.17.1"
fc_link="https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${fc_ver}/fontconfig-${fc_ver}.tar.xz"
wget ${fc_link} -O fc.tar.xz
tar xaf fc.tar.xz
pushd fontconfig-${fc_ver}
./configure \
meson setup fontconfig-${fc_ver} fontconfig_build \
--prefix=${FF_DEPS_PREFIX} \
--host=${FF_TOOLCHAIN} \
--disable-{shared,docs} \
--enable-{static,libxml2,iconv}
make -j$(nproc)
make install
popd
--cross-file=${FF_MESON_TOOLCHAIN} \
--buildtype=release \
--wrap-mode=nofallback \
--default-library=static \
-Diconv=enabled \
-Dxml-backend=libxml2 \
-D{cache-build,doc,tests,tools}=disabled
meson configure fontconfig_build
ninja -j$(nproc) -C fontconfig_build install
popd
# HARFBUZZ
git clone -b 10.4.0 --depth=1 https://github.com/harfbuzz/harfbuzz.git
git clone -b 14.2.0 --depth=1 https://github.com/harfbuzz/harfbuzz.git
meson setup harfbuzz harfbuzz_build \
--prefix=${FF_DEPS_PREFIX} \
--cross-file=${FF_MESON_TOOLCHAIN} \
--buildtype=release \
--default-library=static \
-Dfreetype=enabled \
-D{glib,gobject,cairo,chafa,icu}=disabled \
-D{gpu,glib,gobject,cairo,chafa,icu}=disabled \
-D{tests,introspection,docs,utilities}=disabled
meson configure harfbuzz_build
ninja -j$(nproc) -C harfbuzz_build install
@@ -217,7 +204,7 @@ meson configure libudfread_build
ninja -j$(nproc) -C libudfread_build install
# UNIBREAK
git clone -b libunibreak_6_1 --depth=1 https://github.com/adah1972/libunibreak.git
git clone -b libunibreak_7_0 --depth=1 https://github.com/adah1972/libunibreak.git
pushd libunibreak
./bootstrap
./configure \
@@ -334,7 +321,7 @@ popd
# OPENMPT
mkdir mpt
pushd mpt
mpt_ver="0.8.4"
mpt_ver="0.8.6"
mpt_link="https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${mpt_ver}+release.autotools.tar.gz"
wget ${mpt_link} -O mpt.tar.gz
tar xaf mpt.tar.gz
@@ -406,12 +393,12 @@ make install
popd
# X265
x265_commit="fa2770934b8f3d88aa866c77f27cb63f69a9ed39"
x265_commit="e444744c03978c1fb4e037168967020cf2648427"
git clone https://bitbucket.org/multicoreware/x265_git.git
pushd x265_git
git checkout ${x265_commit}
# Wa for https://bitbucket.org/multicoreware/x265_git/issues/624
rm -rf .git
# Unbreak GCC 15
sed -i '1i#include <cstdint>' source/dynamicHDR10/json11/json11.cpp
x265_conf="
-DCMAKE_TOOLCHAIN_FILE=${FF_CMAKE_TOOLCHAIN}
-DCMAKE_INSTALL_PREFIX=${FF_DEPS_PREFIX}
@@ -473,7 +460,7 @@ popd
popd
# SVT-AV1
git clone -b v3.1.2 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git
git clone -b v4.1.0 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git
pushd SVT-AV1
mkdir build
pushd build
@@ -489,7 +476,7 @@ popd
popd
# DAV1D
git clone -b 1.5.2 --depth=1 https://code.videolan.org/videolan/dav1d.git
git clone -b 1.5.3 --depth=1 https://code.videolan.org/videolan/dav1d.git
meson setup dav1d dav1d_build \
--prefix=${FF_DEPS_PREFIX} \
--cross-file=${FF_MESON_TOOLCHAIN} \
@@ -501,7 +488,7 @@ meson configure dav1d_build
ninja -j$(nproc) -C dav1d_build install
# FDK-AAC-STRIPPED
git clone -b stripped4 --depth=1 https://gitlab.freedesktop.org/wtaymans/fdk-aac-stripped.git
git clone -b stripped5 --depth=1 https://gitlab.freedesktop.org/wtaymans/fdk-aac-stripped.git
pushd fdk-aac-stripped
./autogen.sh
./configure \
@@ -562,7 +549,7 @@ popd
# AMF
mkdir amf-headers
pushd amf-headers
amf_ver="1.4.36"
amf_ver="1.5.0"
amf_link="https://github.com/GPUOpen-LibrariesAndSDKs/AMF/releases/download/v${amf_ver}/AMF-headers-v${amf_ver}.tar.gz"
wget ${amf_link} -O amf.tar.gz
tar xaf amf.tar.gz
@@ -602,6 +589,7 @@ fi
--prefix=${FF_PREFIX} \
${FF_TARGET_FLAGS} \
--extra-version=Jellyfin \
--disable-unstable \
--disable-ffplay \
--disable-debug \
--disable-doc \
@@ -640,7 +628,6 @@ fi
--enable-opencl \
--enable-dxva2 \
--enable-d3d11va \
--enable-d3d12va \
--enable-amf \
--enable-libvpl \
--enable-ffnvcodec \
+64 -64
View File
@@ -30,7 +30,7 @@ prepare_extra_common() {
pushd ${SOURCE_DIR}
mkdir iconv
pushd iconv
iconv_ver="1.18"
iconv_ver="1.19"
iconv_link="https://mirrors.edge.kernel.org/gnu/libiconv/libiconv-${iconv_ver}.tar.gz"
wget ${iconv_link} -O iconv.tar.gz
tar xaf iconv.tar.gz
@@ -49,7 +49,7 @@ prepare_extra_common() {
# ZLIB
pushd ${SOURCE_DIR}
git clone -b v1.3.1 --depth=1 https://github.com/madler/zlib.git
git clone -b v1.3.2 --depth=1 https://github.com/madler/zlib.git
pushd zlib
CROSS_PREFIX=${CROSS_PREFIX_OPT} ./configure \
--prefix=${TARGET_DIR} \
@@ -61,7 +61,7 @@ prepare_extra_common() {
# LIBXML2
pushd ${SOURCE_DIR}
libxml2_ver="v2.15.1"
libxml2_ver="v2.15.3"
git clone -b ${libxml2_ver} --depth=1 https://github.com/GNOME/libxml2.git
pushd libxml2
./autogen.sh \
@@ -75,21 +75,6 @@ prepare_extra_common() {
popd
popd
# FREETYPE
pushd ${SOURCE_DIR}
git clone -b VER-2-14-1 --depth=1 https://github.com/freetype/freetype.git
pushd freetype
./autogen.sh
./configure \
${CROSS_OPT} \
--prefix=${TARGET_DIR} \
--enable-shared \
--disable-static
make -j$(nproc) && make install && make install DESTDIR=${SOURCE_DIR}/freetype
echo "freetype${TARGET_DIR}/lib/libfreetype.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST}
popd
popd
# FRIBIDI
pushd ${SOURCE_DIR}
git clone -b v1.0.16 --depth=1 https://github.com/fribidi/fribidi.git
@@ -106,6 +91,21 @@ prepare_extra_common() {
echo "fribidi/libfribidi.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST}
popd
# FREETYPE
pushd ${SOURCE_DIR}
git clone -b VER-2-14-3 --depth=1 https://github.com/freetype/freetype.git
pushd freetype
./autogen.sh
./configure \
${CROSS_OPT} \
--prefix=${TARGET_DIR} \
--enable-shared \
--disable-static
make -j$(nproc) && make install && make install DESTDIR=${SOURCE_DIR}/freetype
echo "freetype${TARGET_DIR}/lib/libfreetype.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST}
popd
popd
# FONTCONFIG
pushd ${SOURCE_DIR}
mkdir fontconfig
@@ -114,23 +114,28 @@ prepare_extra_common() {
fc_link="https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${fc_ver}/fontconfig-${fc_ver}.tar.xz"
wget ${fc_link} -O fc.tar.xz
tar xaf fc.tar.xz
pushd fontconfig-${fc_ver}
./configure \
${CROSS_OPT} \
meson setup fontconfig-${fc_ver} fontconfig_build \
${MESON_CROSS_OPT} \
--prefix=${TARGET_DIR} \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-{static,docs} \
--enable-{shared,libxml2,iconv}
make -j$(nproc) && make install && make install DESTDIR=${SOURCE_DIR}/fontconfig
echo "fontconfig${TARGET_DIR}/lib/libfontconfig.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST}
popd
--libdir=lib \
--buildtype=release \
--wrap-mode=nofallback \
--default-library=shared \
-Diconv=enabled \
-Dxml-backend=libxml2 \
-D{cache-build,doc,tests,tools}=disabled
meson configure fontconfig_build
ninja -j$(nproc) -C fontconfig_build install
cp -a ${TARGET_DIR}/lib/libfontconfig.so* ${SOURCE_DIR}/fontconfig
echo "fontconfig/libfontconfig.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST}
popd
popd
# HARFBUZZ
pushd ${SOURCE_DIR}
git clone -b 10.4.0 --depth=1 https://github.com/harfbuzz/harfbuzz.git
git clone -b 14.2.0 --depth=1 https://github.com/harfbuzz/harfbuzz.git
meson setup harfbuzz harfbuzz_build \
${MESON_CROSS_OPT} \
--prefix=${TARGET_DIR} \
@@ -138,7 +143,7 @@ prepare_extra_common() {
--buildtype=release \
--default-library=shared \
-Dfreetype=enabled \
-D{glib,gobject,cairo,chafa,icu}=disabled \
-D{gpu,glib,gobject,cairo,chafa,icu}=disabled \
-D{tests,introspection,docs,utilities}=disabled
meson configure harfbuzz_build
ninja -j$(nproc) -C harfbuzz_build install
@@ -148,7 +153,7 @@ prepare_extra_common() {
# UNIBREAK
pushd ${SOURCE_DIR}
git clone --depth=1 https://github.com/adah1972/libunibreak.git
git clone -b libunibreak_7_0 --depth=1 https://github.com/adah1972/libunibreak.git
pushd libunibreak
./bootstrap
./configure \
@@ -182,7 +187,7 @@ prepare_extra_common() {
pushd ${SOURCE_DIR}
mkdir fftw3
pushd fftw3
fftw3_ver="3.3.10"
fftw3_ver="3.3.11"
fftw3_link="https://fftw.org/fftw-${fftw3_ver}.tar.gz"
wget ${fftw3_link} -O fftw3.tar.gz
tar xaf fftw3.tar.gz
@@ -242,7 +247,7 @@ prepare_extra_common() {
# DAV1D
pushd ${SOURCE_DIR}
git clone -b 1.5.2 --depth=1 https://code.videolan.org/videolan/dav1d.git
git clone -b 1.5.3 --depth=1 https://code.videolan.org/videolan/dav1d.git
meson setup dav1d dav1d_build \
${MESON_CROSS_OPT} \
--prefix=${TARGET_DIR} \
@@ -259,7 +264,7 @@ prepare_extra_common() {
# SVT-AV1
pushd ${SOURCE_DIR}
git clone -b v3.1.2 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git
git clone -b v4.1.0 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git
pushd SVT-AV1
mkdir build
pushd build
@@ -279,7 +284,7 @@ prepare_extra_common() {
pushd ${SOURCE_DIR}
mkdir fdk-aac-stripped
pushd fdk-aac-stripped
fdk_aac_ver="stripped4"
fdk_aac_ver="stripped5"
fdk_aac_link="https://gitlab.freedesktop.org/wtaymans/fdk-aac-stripped/-/archive/${fdk_aac_ver}/fdk-aac-stripped-${fdk_aac_ver}.tar.gz"
wget ${fdk_aac_link} -O fdk-aac-stripped.tar.gz
tar xaf fdk-aac-stripped.tar.gz
@@ -310,7 +315,7 @@ prepare_extra_amd64() {
pushd ${SOURCE_DIR}
mkdir amf-headers
pushd amf-headers
amf_ver="1.4.36"
amf_ver="1.5.0"
amf_link="https://github.com/GPUOpen-LibrariesAndSDKs/AMF/releases/download/v${amf_ver}/AMF-headers-v${amf_ver}.tar.gz"
wget ${amf_link} -O amf.tar.gz
tar xaf amf.tar.gz
@@ -388,7 +393,7 @@ prepare_extra_amd64() {
# GMMLIB
pushd ${SOURCE_DIR}
git clone -b intel-gmmlib-22.9.0 --depth=1 https://github.com/intel/gmmlib.git
git clone -b intel-gmmlib-22.10.0 --depth=1 https://github.com/intel/gmmlib.git
pushd gmmlib
mkdir build && pushd build
cmake -DCMAKE_INSTALL_PREFIX=${TARGET_DIR} ..
@@ -448,7 +453,7 @@ prepare_extra_amd64() {
# VPL-GPU-RT (RT only)
# Provides VPL runtime (libmfx-gen.so.1.2) for 11th Gen Tiger Lake and newer
pushd ${SOURCE_DIR}
git clone -b intel-onevpl-25.4.6 --depth=1 https://github.com/intel/vpl-gpu-rt.git
git clone -b intel-onevpl-26.1.6 --depth=1 https://github.com/intel/vpl-gpu-rt.git
pushd vpl-gpu-rt
# Fix missing entries in PicStruct validation
wget -q -O - https://github.com/intel/vpl-gpu-rt/commit/c7eb030.patch | git apply
@@ -470,7 +475,7 @@ prepare_extra_amd64() {
# Full Feature Build: ENABLE_KERNELS=ON(Default) ENABLE_NONFREE_KERNELS=ON(Default)
# Free Kernel Build: ENABLE_KERNELS=ON ENABLE_NONFREE_KERNELS=OFF
pushd ${SOURCE_DIR}
git clone -b intel-media-25.4.6 --depth=1 https://github.com/intel/media-driver.git
git clone -b intel-media-26.1.6 --depth=1 https://github.com/intel/media-driver.git
pushd media-driver
# Enable VC1 decode on DG2 (note that MTL+ is not supported)
wget -q -O - https://github.com/intel/media-driver/commit/25fb926.patch | git apply
@@ -493,7 +498,7 @@ prepare_extra_amd64() {
# Vulkan Headers
pushd ${SOURCE_DIR}
git clone -b v1.4.337 --depth=1 https://github.com/KhronosGroup/Vulkan-Headers.git
git clone -b v1.4.349 --depth=1 https://github.com/KhronosGroup/Vulkan-Headers.git
pushd Vulkan-Headers
mkdir build && pushd build
cmake \
@@ -506,7 +511,7 @@ prepare_extra_amd64() {
# Vulkan ICD Loader
pushd ${SOURCE_DIR}
git clone -b v1.4.337 --depth=1 https://github.com/KhronosGroup/Vulkan-Loader.git
git clone -b v1.4.349 --depth=1 https://github.com/KhronosGroup/Vulkan-Loader.git
pushd Vulkan-Loader
mkdir build && pushd build
cmake \
@@ -526,7 +531,7 @@ prepare_extra_amd64() {
popd
# SHADERC
shaderc_ver="v2025.5"
shaderc_ver="v2026.1"
pushd ${SOURCE_DIR}
git clone -b ${shaderc_ver} --depth=1 https://github.com/google/shaderc.git
pushd shaderc
@@ -553,8 +558,8 @@ prepare_extra_amd64() {
# MESA
# Minimal libs for AMD VAAPI, AMD RADV and Intel ANV
if [[ ${LLVM_VER} -ge 15 ]]; then
if [[ ${LLVMSPIRVLIB_VER} -ge 15 && ${LLVMSPIRVLIB_VER} -le 20 ]]; then
# Intel ANV requires llvmspirvlib >= 15 (and <= 20 in mesa 25.0)
if [[ ${LLVMSPIRVLIB_VER} -ge 15 && ${LLVMSPIRVLIB_VER} -le 21 ]]; then
# Intel ANV requires llvmspirvlib >= 15 (and <= 21 in mesa 26.0)
mesa_vk_drv="amd,intel"
mesa_llvm_clc="enabled"
apt-get install -y {llvm-,libllvmspirvlib-,libclc-,libclang-,libclang-cpp}${LLVMSPIRVLIB_VER}-dev libudev-dev
@@ -566,14 +571,13 @@ prepare_extra_amd64() {
pushd ${SOURCE_DIR}
mkdir mesa
pushd mesa
mesa_ver="mesa-25.0.7"
mesa_ver="mesa-26.0.8"
mesa_link="https://gitlab.freedesktop.org/mesa/mesa/-/archive/${mesa_ver}/mesa-${mesa_ver}.tar.gz"
wget ${mesa_link} -O mesa.tar.gz
tar xaf mesa.tar.gz
# Cherry-pick fixes targeting mesa-stable
wget -q -O - https://gitlab.freedesktop.org/mesa/mesa/-/commit/ee4d7e98.patch | patch -p1 -d mesa-${mesa_ver}
# Fix duplicate definitions in C23/glibc
wget -q -O - https://gitlab.freedesktop.org/mesa/mesa/-/commit/179e744f.patch | patch -p1 -d mesa-${mesa_ver}
# Enable VAAPI VPP alpha blending support
wget -q -O - https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41090.patch | \
patch -p1 -d mesa-${mesa_ver}
meson setup mesa-${mesa_ver} mesa_build \
--prefix=${TARGET_DIR} \
--libdir=lib \
@@ -584,10 +588,11 @@ prepare_extra_amd64() {
-Dplatforms=x11 \
-Dgallium-drivers=radeonsi \
-Dvulkan-drivers=${mesa_vk_drv} \
-Dvulkan-layers=device-select,overlay \
-Dvulkan-layers=device-select \
-Dvulkan-manifest-per-architecture=true \
-Degl=disabled \
-Dgallium-{extra-hud,nine,rusticl}=false \
-Dgallium-{vdpau,xa,opencl}=disabled \
-Dgallium-{extra-hud,rusticl}=false \
-Dgallium-mediafoundation=disabled \
-Dgallium-va=enabled \
-Dvideo-codecs=all \
-Dgbm=disabled \
@@ -600,8 +605,6 @@ prepare_extra_amd64() {
-Dllvm=${mesa_llvm_clc} \
-Damd-use-llvm=false \
-Dlmsensors=disabled \
-Dosmesa=false \
-Dshared-glapi=disabled \
-Dvalgrind=disabled \
-Dtools=[] \
-Dzstd=enabled \
@@ -610,16 +613,15 @@ prepare_extra_amd64() {
meson configure mesa_build
ninja -j$(nproc) -C mesa_build install
cp -a ${TARGET_DIR}/lib/libvulkan_*.so ${SOURCE_DIR}/mesa
cp -a ${TARGET_DIR}/lib/libVkLayer_MESA*.so ${SOURCE_DIR}/mesa
cp -a ${TARGET_DIR}/lib/libVkLayer_MESA_device_select.so ${SOURCE_DIR}/mesa
# radeonsi_drv_video.so -> libgallium_drv_video.so is soft link
cp ${TARGET_DIR}/lib/dri/radeonsi_drv_video.so ${SOURCE_DIR}/mesa
echo "mesa/lib*.so usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST}
echo "mesa/radeonsi_drv_video.so usr/lib/jellyfin-ffmpeg/lib/dri" >> ${DPKG_INSTALL_LIST}
cp ${TARGET_DIR}/share/drirc.d/*.conf ${SOURCE_DIR}/mesa
echo "mesa/*defaults.conf usr/lib/jellyfin-ffmpeg/share/drirc.d" >> ${DPKG_INSTALL_LIST}
cp ${TARGET_DIR}/share/vulkan/{icd.d,explicit_layer.d,implicit_layer.d}/*.json ${SOURCE_DIR}/mesa
cp ${TARGET_DIR}/share/vulkan/{icd.d,implicit_layer.d}/*.json ${SOURCE_DIR}/mesa
echo "mesa/*icd.x86_64.json usr/lib/jellyfin-ffmpeg/share/vulkan/icd.d" >> ${DPKG_INSTALL_LIST}
echo "mesa/*overlay.json usr/lib/jellyfin-ffmpeg/share/vulkan/explicit_layer.d" >> ${DPKG_INSTALL_LIST}
echo "mesa/*device_select.json usr/lib/jellyfin-ffmpeg/share/vulkan/implicit_layer.d" >> ${DPKG_INSTALL_LIST}
popd
popd
@@ -627,12 +629,10 @@ prepare_extra_amd64() {
# LIBPLACEBO
pushd ${SOURCE_DIR}
git clone -b v7.351.0 --recursive --depth=1 https://github.com/haasn/libplacebo.git
# Wa for the regression made in Mesa RADV
git clone -b v7.360.1 --recursive --depth=1 https://github.com/haasn/libplacebo.git
# Fix bit shift when importing P01x non-multiplane image
git -C libplacebo apply ${SOURCE_DIR}/builder/patches/libplacebo/*.patch
# Fix build script for python 3.14
wget -q -O - https://github.com/haasn/libplacebo/commit/12509c0.patch | git -C libplacebo apply
sed -i 's|env: python_env,||g' libplacebo/src/vulkan/meson.build
sed -i 's/env: python_env,//g' libplacebo/src/vulkan/meson.build
meson setup libplacebo placebo_build \
--prefix=${TARGET_DIR} \
--libdir=lib \
@@ -723,12 +723,15 @@ EOF
# Install dependencies
ln -fs /usr/share/zoneinfo/America/Toronto /etc/localtime
yes | apt-get install -y -o Dpkg::Options::="--force-overwrite" -o APT::Immediate-Configure=0 gcc-${GCC_VER}-source gcc-${GCC_VER}-aarch64-linux-gnu g++-${GCC_VER}-aarch64-linux-gnu libstdc++6-arm64-cross binutils-aarch64-linux-gnu bison flex libtool gdb sharutils netbase libmpc-dev libmpfr-dev systemtap-sdt-dev autogen expect chrpath zip libc6-dev:arm64 linux-libc-dev:arm64 libgcc1:arm64 libstdc++6:arm64
# Create symlinks for versioned toolchains
for tool in {gcc,g++,gcc-ar,gcc-ranlib,gcc-nm}; do
ln -sf "/usr/bin/aarch64-linux-gnu-$tool-${GCC_VER}" "/usr/bin/aarch64-linux-gnu-$tool"
done
}
# Set the architecture-specific options
case ${ARCH} in
'amd64')
apt-get update && apt-get dist-upgrade -y
prepare_extra_common
prepare_extra_amd64
CONFIG_SITE=""
@@ -737,9 +740,6 @@ case ${ARCH} in
;;
'arm64')
prepare_crossbuild_env_arm64
ln -s /usr/bin/aarch64-linux-gnu-gcc-${GCC_VER} /usr/bin/aarch64-linux-gnu-gcc
ln -s /usr/bin/aarch64-linux-gnu-gcc-ar-${GCC_VER} /usr/bin/aarch64-linux-gnu-gcc-ar
ln -s /usr/bin/aarch64-linux-gnu-g++-${GCC_VER} /usr/bin/aarch64-linux-gnu-g++
prepare_extra_common
prepare_extra_arm
CONFIG_SITE="/etc/dpkg-cross/cross-config.${ARCH}"
@@ -42,8 +42,6 @@ build() {
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX}/ffbuild/ \
"${extra_config[@]}" \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_STATIC=ON \
-DBUILD_STATIC_LIBS=ON \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake --build .
+1 -1
View File
@@ -14,7 +14,7 @@ msys2_references=(
"cpe: cpe:/a:bzip:bzip2"
)
license=("custom")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools")
options=('strip' 'staticlibs')
source=("https://mirrors.edge.kernel.org/sourceware/bzip2/bzip2-${pkgver}.tar.gz"
@@ -5,7 +5,7 @@ _realname=libiconv
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname=(${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname} ${MINGW_PACKAGE_PREFIX}-jellyfin-iconv)
pkgdesc='Character encoding conversion library and utility (mingw-w64)'
pkgver=1.18
pkgver=1.19
pkgrel=1
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
@@ -20,13 +20,13 @@ source=("https://mirrors.edge.kernel.org/gnu/${_realname}/${_realname}-${pkgver}
0002-fix-cr-for-awk-in-configure.all.patch
fix-pointer-buf.patch
iconv.pc)
sha256sums=('3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8'
sha256sums=('88dd96a8c0464eca144fc791ae60cd31cd8ee78321e67397e25fc095c4a19aa6'
'SKIP'
'cb2b1cca44c9b9bd11c3bd33997c10d22dff263542275324c88f34b59910ef87'
'89d5c0f666e50a0186cfb142ba7b77e8fe1ac4d65bdfd9ae14ae8d2f0045a87c'
'6b6e2393840f4dc6067587165777b1a07978f4c05247d7c1010a45ad251bbeeb'
'SKIP')
validpgpkeys=('SKIP') # "Bruno Haible (Open Source Development) <bruno@clisp.org>"
validpgpkeys=('SKIP') # Bruno Haible (Free Software Development) <bruno@clisp.org>
export FF_MINGW_PREFIX="${MINGW_PREFIX}/ffbuild/"
+2 -2
View File
@@ -4,7 +4,7 @@
_realname=xz
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=5.8.2
pkgver=5.8.3
pkgrel=1
pkgdesc="Library and command line tools for XZ and LZMA compressed files (mingw-w64)"
arch=('any')
@@ -25,7 +25,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-doxygen"
"po4a")
source=("https://github.com/tukaani-project/xz/releases/download/v${pkgver}/xz-${pkgver}.tar.xz")
sha256sums=('890966ec3f5d5cc151077879e157c0593500a522f413ac50ba26d22a9a145214')
sha256sums=('fff1ffcf2b0da84d308a14de513a1aa23d4e9aa3464d17e64b9714bfdd0bbfb6')
validpgpkeys=('3690C240CE51B4670D30AD1C38EE757D69184620') # Lasse Collin <lasse.collin@tukaani.org>
export FF_MINGW_PREFIX="${MINGW_PREFIX}/ffbuild"
@@ -125,9 +125,9 @@
/^RANLIB *=/s#=.*#=$RANLIB#
--- a/Makefile.in
+++ b/Makefile.in
@@ -34,6 +34,9 @@
@@ -33,6 +33,9 @@
SHAREDLIB=libz.so
SHAREDLIBV=libz.so.1.2.12
SHAREDLIBV=libz.so.1.3.2
SHAREDLIBM=libz.so.1
+IMPORTLIB=
+SHAREDLIBPOST='(rm -f $(SHAREDLIB) $(SHAREDLIBM); ln -s $@ $(SHAREDLIB) ; ln -s $@ $(SHAREDLIBM) )'
@@ -135,7 +135,7 @@
LIBS=$(STATICLIB) $(SHAREDLIBV)
AR=ar
@@ -48,7 +51,7 @@
@@ -47,7 +50,7 @@
prefix = /usr/local
exec_prefix = ${prefix}
libdir = ${exec_prefix}/lib
@@ -144,20 +144,20 @@
includedir = ${prefix}/include
mandir = ${prefix}/share/man
man3dir = ${mandir}/man3
@@ -127,7 +130,7 @@
./infcover
gcov inf*.c
@@ -126,7 +129,7 @@
${QEMU_RUN} ./infcover
${GCOV} ${LLVM_GCOV_FLAG} inf*.c -o ./infcover.gcda
-libz.a: $(OBJS)
+$(STATICLIB): $(OBJS)
$(AR) $(ARFLAGS) $@ $(OBJS)
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
@@ -278,11 +281,9 @@
@@ -285,11 +288,9 @@
-@mv objs/gzwrite.o $@
-placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
-placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a $(SRCDIR)zlib.map
+placebo $(SHAREDTARGET): $(PIC_OBJS) $(STATICLIB)
$(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
- rm -f $(SHAREDLIB) $(SHAREDLIBM)
@@ -167,9 +167,9 @@
-@rmdir objs
example$(EXE): example.o $(STATICLIB)
@@ -291,11 +292,11 @@
@@ -298,11 +299,11 @@
minigzip$(EXE): minigzip.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ minigzip.o $(TEST_LIBS)
-examplesh$(EXE): example.o $(SHAREDLIBV)
- $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) -L. $(SHAREDLIBV)
@@ -182,8 +182,8 @@
+ $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) -L. $(IMPORTLIB)
example64$(EXE): example64.o $(STATICLIB)
$(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
@@ -309,20 +310,34 @@
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ example64.o $(TEST_LIBS)
@@ -316,20 +317,34 @@
-@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
-@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
@@ -231,7 +231,7 @@
fi
rm -f $(DESTDIR)$(man3dir)/zlib.3
cp $(SRCDIR)zlib.3 $(DESTDIR)$(man3dir)
@@ -341,12 +356,13 @@
@@ -348,12 +363,13 @@
uninstall:
cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
@@ -246,7 +246,7 @@
docs: zlib.3.pdf
@@ -369,6 +385,7 @@
@@ -383,6 +399,7 @@
example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
example64$(EXE) minigzip64$(EXE) \
infcover \
@@ -1,22 +1,26 @@
--- a/zconf.h.in
+++ b/zconf.h.in
@@ -504,7 +504,7 @@
# define z_off_t long
--- zlib-1.3.2.orig/zconf.h 2026-02-17 20:47:06.000000000 +0800
+++ zlib-1.3.2/zconf.h 2026-03-05 15:10:21.915014500 +0800
@@ -516,7 +516,7 @@
#endif
#ifndef z_off_t
-# define z_off_t long long
+# define z_off_t long
#endif
#if !defined(_WIN32) && defined(Z_LARGE64)
--- zlib-1.3.2.orig/zconf.h.in 2026-02-17 20:47:06.000000000 +0800
+++ zlib-1.3.2/zconf.h.in 2026-03-05 15:10:47.663570700 +0800
@@ -516,10 +516,10 @@
#endif
#ifndef z_off_t
-# define z_off_t long long
+# define z_off_t long
#endif
-#if !defined(_WIN32) && defined(Z_LARGE64)
+#if (defined(_WIN32) && defined(__GNUC__) && defined(_LARGEFILE64_SOURCE)) || defined(Z_LARGE64)
# define z_off64_t off64_t
#else
# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
--- a/zconf.h.cmakein
+++ b/zconf.h.cmakein
@@ -506,7 +506,7 @@
# define z_off_t long
#endif
-#if !defined(_WIN32) && defined(Z_LARGE64)
+#if (defined(_WIN32) && defined(__GNUC__) && defined(_LARGEFILE64_SOURCE)) || defined(Z_LARGE64)
# define z_off64_t off64_t
#else
# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
#elif defined(__MINGW32__)
# define z_off64_t long long
+12 -9
View File
@@ -6,8 +6,8 @@
_realname=zlib
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}")
pkgver=1.3.1
pkgrel=1
pkgver=1.3.2
pkgrel=2
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
license=('spdx:Zlib')
@@ -25,14 +25,16 @@ source=("https://github.com/madler/zlib/releases/download/v${pkgver}/zlib-${pkgv
03-dont-put-sodir-into-L.mingw.patch
04-fix-largefile-support.patch
07-Add-no-undefined-to-link-to-enable-build-shared-vers.patch
08-Add-bzip2-library-to-pkg-config-file.patch)
sha256sums=('38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32'
08-Add-bzip2-library-to-pkg-config-file.patch
https://patch-diff.githubusercontent.com/raw/madler/zlib/pull/1165.patch)
sha256sums=('d7a0654783a4da529d1bb793b7ad9c3318020af77667bcae35f95d0e42a792f3'
'SKIP'
'8175e70c980ffc48a2e90c6f0431ddb80ef6ff690f9e8906dd6a756238552fa5'
'b58b353d976d6fdd9a5094e60fa39439d4f14e9bf8be4a8bd475f2cd47f10226'
'7287d12db57dcf0f66964c861100bf06ebe1ddcb243e7ee0773fcab1b2935596'
'4d8ebda55b95d19cd7c467c486d4c42d2bad6db9ff5dca361f6d8c24120e5f30'
'8e1cdf8edfc6ac08b0e660ca42a977942a88fab3ff59c01c87ba96500e2c3e63'
'fb83292f494f649ea7f1835aa4abea61acc593d7f90625741d42cd99cac0e075'
'0be98a7e660e7c068856f08b9e92d6c73a6b0d88c3e29a9716140b147f7c23c5')
'0be98a7e660e7c068856f08b9e92d6c73a6b0d88c3e29a9716140b147f7c23c5'
'0774e1368851504115f732f66230ca4a8a9cd60d4ba014502f65cc19b0b4d8bc')
validpgpkeys=('5ED46A6721D365587791E2AA783FCD8E58BCAFBA')
export FF_MINGW_PREFIX="${MINGW_PREFIX}/ffbuild"
@@ -50,7 +52,8 @@ prepare() {
apply_patch_with_msg \
01-zlib-1.2.11-1-buildsys.mingw.patch \
03-dont-put-sodir-into-L.mingw.patch \
04-fix-largefile-support.patch
04-fix-largefile-support.patch \
1165.patch
cd ${srcdir}/${_realname}-${pkgver}/contrib/minizip
apply_patch_with_msg \
@@ -67,7 +70,7 @@ build() {
--prefix=${FF_MINGW_PREFIX} \
--static
make
make -j1
}
check() {
+7 -7
View File
@@ -3,12 +3,12 @@
_realname=libpng
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=1.6.47
pkgver=1.6.58
pkgrel=1
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
pkgdesc="A collection of routines used to create PNG format graphics (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-jellyfin-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools")
license=('custom')
@@ -20,9 +20,10 @@ msys2_references=(
)
options=('strip' '!libtool' 'staticlibs')
source=("https://downloads.sourceforge.net/sourceforge/libpng/${_realname}-${pkgver}.tar.xz"
"libpng-${pkgver}-apng.patch::https://raw.githubusercontent.com/mozilla/gecko-dev/3f2c4cf90aa8c839a7d346022c6a77ad3713d486/media/libpng/apng.patch")
sha256sums=('b213cb381fbb1175327bd708a77aab708a05adde7b471bc267bd15ac99893631'
'4ebab105c07e819ad41101eb7a02d680d180b2534e04504ff4a583e02eb5da52')
# patch from https://bugzilla.mozilla.org/show_bug.cgi?id=2010431
"apng.patch")
sha256sums=('28eb403f51f0f7405249132cecfe82ea5c0ef97f1b32c5a65828814ae0d34775'
'a9c117324291cda7558ab36bec4ba28a34013d76e1ceaf9953749791a9e154a8')
validpgpkeys=('8048643BA2C840F4F92A195FF54984BFA16C640F') # Glenn Randers-Pehrson (mozilla) <glennrp+bmo@gmail.com>
export FF_MINGW_PREFIX="${MINGW_PREFIX}/ffbuild"
@@ -35,7 +36,7 @@ prepare() {
# Arch dropped it some time ago:
# https://gitlab.archlinux.org/archlinux/packaging/packages/libpng/-/commit/bc95b152de9709a21c2938d5a
# Maybe we should too?
patch -p1 -i "${srcdir}/libpng-${pkgver}-apng.patch"
patch -p1 -i "${srcdir}/apng.patch"
# autoreconf to get updated libtool files with clang support
autoreconf -fiv
@@ -88,4 +89,3 @@ package () {
msg2 "Install contributed programs"
cd ".libs/contrib/pngminus"
}
File diff suppressed because it is too large Load Diff
@@ -1,22 +0,0 @@
--- a/kernel/cycle.h 2020-12-10 05:02:44.000000000 -0700
+++ b/kernel/cycle.h 2022-07-01 20:16:52.642814700 -0600
@@ -539,6 +539,10 @@
#define HAVE_TICK_COUNTER
#endif
+/*----------------------------------------------------------------*/
+/*
+ * ARMv8 cycle counter
+ */
#if defined(__aarch64__) && defined(HAVE_ARMV8_CNTVCT_EL0) && !defined(HAVE_ARMV8_PMCCNTR_EL0)
typedef uint64_t ticks;
static inline ticks getticks(void)
@@ -551,7 +555,7 @@
#define HAVE_TICK_COUNTER
#endif
-#if defined(__aarch64__) && defined(HAVE_ARMV8_PMCCNTR_EL0)
+#if (defined(__aarch64__) && defined(HAVE_ARMV8_PMCCNTR_EL0)) || (defined(_M_ARM64) && defined(__clang__))
typedef uint64_t ticks;
static inline ticks getticks(void)
{
+8 -11
View File
@@ -3,9 +3,9 @@
_realname=fftw
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
_pkgver=3.3.10
_pkgver=3.3.11
pkgver=${_pkgver//-/.}
pkgrel=5
pkgrel=1
pkgdesc="A library for computing the discrete Fourier transform (DFT) (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
@@ -16,14 +16,12 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-autotools"
"${MINGW_PACKAGE_PREFIX}-cmake"
$( [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || \
echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran"))
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs")
options=('staticlibs' 'strip')
source=("https://www.fftw.org/${_realname}-${_pkgver}.tar.gz"
"0001-detect-arm64-counter.patch"
"0002-no-dllexport.patch"
"0003-shared-lib.patch")
sha256sums=('56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'
'f8be1bef7df7438328d0aabefd51a7043a6f9f569b646e0e3151db9cdc9ff05e'
"0001-no-dllexport.patch"
"0002-shared-lib.patch")
sha256sums=('5630c24cdeb33b131612f7eb4b1a9934234754f9f388ff8617458d0be6f239a1'
'd44e0b25fee59bee3b2fa81ce86762b66158d5e2be7f350d8cf937691aa72b5b'
'd82e96c8545515b9c83d54356209ee9c4a45bedc3859cb01cf3966dc38fc7a33')
@@ -44,9 +42,8 @@ apply_patch_with_msg() {
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
apply_patch_with_msg \
0001-detect-arm64-counter.patch \
0002-no-dllexport.patch \
0003-shared-lib.patch
0001-no-dllexport.patch \
0002-shared-lib.patch
}
build() {
@@ -6,7 +6,7 @@ _with_harfbuzz="no"
_realname=freetype
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=2.14.1
pkgver=2.14.3
pkgrel=1
pkgdesc="TrueType font rendering library (mingw-w64)"
arch=('any')
@@ -17,7 +17,7 @@ msys2_references=(
)
url="https://www.freetype.org/"
license=('spdx:GPL-2.0-or-later OR FTL')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-jellyfin-brotli"
"${MINGW_PACKAGE_PREFIX}-jellyfin-bzip2"
"${MINGW_PACKAGE_PREFIX}-jellyfin-libpng"
@@ -32,7 +32,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-meson"
source=(https://sourceforge.net/projects/freetype/files/freetype2/${pkgver}/freetype-${pkgver}.tar.xz{,.sig}
freetype-2.10.0-enable-valid.patch
freetype-2.10.0-enable-spr.patch)
sha256sums=('32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc'
sha256sums=('36bc4f1cc413335368ee656c42afca65c5a3987e8768cc28cf11ba775e785a5f'
'SKIP'
'30e84993f899b66c31451992667f7ac6cc9e0b19dfe2f47ccb546d77bbc77ef5'
'0571f18d97834df020e4cbdb1338b14f9160669f868237080951e01f5b86727c')
@@ -0,0 +1,16 @@
diff --git a/globals.c b/globals.c
index 38db2954e..de131552f 100644
--- a/globals.c
+++ b/globals.c
@@ -790,7 +790,7 @@
* It is a mistake to export this function, but changing that seems
* to break the ABI.
*/
-XMLPUBFUN BOOL WINAPI
+BOOL WINAPI
DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved);
--
GitLab
@@ -1,31 +0,0 @@
From 07b1c4c8a736a31ac4b8ae13ea25d50793dfea83 Mon Sep 17 00:00:00 2001
From: Mike Gorse <mgorse@alum.wpi.edu>
Date: Fri, 25 Jan 2019 12:55:52 -0600
Subject: [PATCH] python: return None if PY_IMPORT_STRING returns NULL
PY_IMPORT_STRING might return NULL on python 3 if, ie, a string can't be
encoded. We should check for this and return None, rather than returning
NULL. Fixes a NULL pointer dereference when reporting an error with an
invalid string.
---
python/types.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/python/types.c b/python/types.c
index 124af565..50951ba3 100644
--- a/python/types.c
+++ b/python/types.c
@@ -150,6 +150,10 @@ libxml_charPtrConstWrap(const char *str)
return (Py_None);
}
ret = PY_IMPORT_STRING(str);
+ if (ret == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
return (ret);
}
--
GitLab
@@ -0,0 +1,123 @@
--- libxml2-2.13.8/catalog.c.orig 2025-07-03 08:52:27.341264600 +0200
+++ libxml2-2.13.8/catalog.c 2025-07-03 09:11:36.330242700 +0200
@@ -59,6 +59,38 @@
#define XML_SGML_DEFAULT_CATALOG "file://" XML_SYSCONFDIR "/sgml/catalog"
#endif
+#ifdef __MINGW32__
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+static const char* _get_xml_default_catalog(void) {
+ static char reloc_path[MAX_PATH * 2] = {0};
+ static int initialized = 0;
+ if (!initialized) {
+ HMODULE module_handle;
+ char module_path[MAX_PATH];
+ char* last_slash;
+ if (!GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
+ GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
+ (LPCSTR)&_get_xml_default_catalog,
+ &module_handle) ||
+ !GetModuleFileNameA(module_handle, module_path, sizeof(module_path))) {
+ return "file://" XML_SYSCONFDIR "/xml/catalog";
+ }
+ last_slash = strrchr(module_path, '\\');
+ if (last_slash) {
+ *last_slash = '\0';
+ }
+ snprintf(reloc_path, sizeof(reloc_path), "%s\\..\\etc\\xml\\catalog", module_path);
+ initialized = 1;
+ }
+ return reloc_path;
+}
+
+#undef XML_XML_DEFAULT_CATALOG
+#define XML_XML_DEFAULT_CATALOG _get_xml_default_catalog()
+#endif
+
static xmlChar *xmlCatalogNormalizePublic(const xmlChar *pubID);
static int xmlExpandCatalog(xmlCatalogPtr catal, const char *filename);
--- libxml2-2.13.8/xmllint.c.orig 2025-04-17 13:51:37.000000000 +0200
+++ libxml2-2.13.8/xmllint.c 2025-07-03 09:12:52.266746000 +0200
@@ -91,6 +91,38 @@
#define XML_XML_DEFAULT_CATALOG "file://" XML_SYSCONFDIR "/xml/catalog"
#endif
+#ifdef __MINGW32__
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+static const char* _get_xml_default_catalog(void) {
+ static char reloc_path[MAX_PATH * 2] = {0};
+ static int initialized = 0;
+ if (!initialized) {
+ HMODULE module_handle;
+ char module_path[MAX_PATH];
+ char* last_slash;
+ if (!GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
+ GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
+ (LPCSTR)&_get_xml_default_catalog,
+ &module_handle) ||
+ !GetModuleFileNameA(module_handle, module_path, sizeof(module_path))) {
+ return "file://" XML_SYSCONFDIR "/xml/catalog";
+ }
+ last_slash = strrchr(module_path, '\\');
+ if (last_slash) {
+ *last_slash = '\0';
+ }
+ snprintf(reloc_path, sizeof(reloc_path), "%s\\..\\etc\\xml\\catalog", module_path);
+ initialized = 1;
+ }
+ return reloc_path;
+}
+
+#undef XML_XML_DEFAULT_CATALOG
+#define XML_XML_DEFAULT_CATALOG _get_xml_default_catalog()
+#endif
+
#ifndef STDIN_FILENO
#define STDIN_FILENO 0
#endif
--- libxml2-2.13.8/xmlcatalog.c.orig 2025-04-17 13:51:37.000000000 +0200
+++ libxml2-2.13.8/xmlcatalog.c 2025-07-03 09:11:05.140189000 +0200
@@ -42,6 +42,38 @@
#define XML_SGML_DEFAULT_CATALOG XML_SYSCONFDIR "/sgml/catalog"
#endif
+#ifdef __MINGW32__
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+static const char* _get_sgml_default_catalog(void) {
+ static char reloc_path[MAX_PATH * 2] = {0};
+ static int initialized = 0;
+ if (!initialized) {
+ HMODULE module_handle;
+ char module_path[MAX_PATH];
+ char* last_slash;
+ if (!GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
+ GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
+ (LPCSTR)&_get_sgml_default_catalog,
+ &module_handle) ||
+ !GetModuleFileNameA(module_handle, module_path, sizeof(module_path))) {
+ return XML_SYSCONFDIR "/sgml/catalog";
+ }
+ last_slash = strrchr(module_path, '\\');
+ if (last_slash) {
+ *last_slash = '\0';
+ }
+ snprintf(reloc_path, sizeof(reloc_path), "%s\\..\\etc\\sgml\\catalog", module_path);
+ initialized = 1;
+ }
+ return reloc_path;
+}
+
+#undef XML_SGML_DEFAULT_CATALOG
+#define XML_SGML_DEFAULT_CATALOG _get_sgml_default_catalog()
+#endif
+
/************************************************************************
* *
* Shell Interface *
@@ -0,0 +1,27 @@
--- libxml2-2.14.5/libxml2-config.cmake.in.orig 2025-07-15 15:08:05.000000000 +0200
+++ libxml2-2.14.5/libxml2-config.cmake.in 2025-08-03 13:10:52.000699100 +0200
@@ -24,17 +24,20 @@
# LibXml2::LibXml2 - the LibXml2 library
# LibXml2::xmllint - the xmllint command-line executable
+get_filename_component(_LIBXML2_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_LIBXML2_PREFIX "${_LIBXML2_PREFIX}/../../../" REALPATH)
+
set(LIBXML2_VERSION_MAJOR @LIBXML_MAJOR_VERSION@)
set(LIBXML2_VERSION_MINOR @LIBXML_MINOR_VERSION@)
set(LIBXML2_VERSION_MICRO @LIBXML_MICRO_VERSION@)
set(LIBXML2_VERSION_STRING "@VERSION@")
set(LIBXML2_DEFINITIONS "@XML_CFLAGS@")
-set(LIBXML2_INCLUDE_DIR @INSTALL_INCLUDEDIR@/libxml2)
-set(LIBXML2_LIBRARY_DIR @INSTALL_LIBDIR@)
+set(LIBXML2_INCLUDE_DIR "${_LIBXML2_PREFIX}/include/libxml2")
+set(LIBXML2_LIBRARY_DIR "${_LIBXML2_PREFIX}/lib")
find_library(LIBXML2_LIBRARY NAMES xml2 HINTS ${LIBXML2_LIBRARY_DIR} NO_DEFAULT_PATH)
-find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS @INSTALL_BINDIR@ NO_DEFAULT_PATH)
-find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS @INSTALL_BINDIR@ NO_DEFAULT_PATH)
+find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS "${_LIBXML2_PREFIX}/bin" NO_DEFAULT_PATH)
+find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS "${_LIBXML2_PREFIX}/bin" NO_DEFAULT_PATH)
set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR})
+18 -11
View File
@@ -4,7 +4,7 @@
_realname=libxml2
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}")
pkgver=2.15.1
pkgver=2.15.3
pkgrel=1
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
@@ -25,12 +25,16 @@ msys2_references=(
install=${_realname}-${MSYSTEM}.install
source=("https://download.gnome.org/sources/libxml2/${pkgver%.*}/${_realname}-${pkgver}.tar.xz"
https://www.w3.org/XML/Test/xmlts20130923.tar.gz
0027-decoding-segfault.patch
0029-xml2-config-win-paths.patch)
sha256sums=('c008bac08fd5c7b4a87f7b8a71f283fa581d80d80ff8d2efd3b26224c39bc54c'
0001-do-not-export-DllMain.patch
0029-xml2-config-win-paths.patch
0031-apply-msvc-relocation.patch
0032-cmake-relocation.patch)
sha256sums=('78262a6e7ac170d6528ebfe2efccdf220191a5af6a6cd61ea4a9a9a5042c7a07'
'9b61db9f5dbffa545f4b8d78422167083a8568c59bd1129f94138f936cf6fc1f'
'0391a4b267ba7251ca74ff2e98bf4c0332a14b618e8147a9341ec5617e45d9d9'
'278b4531da3d2aabda080c412c5122b471202dd6df67768b38bb0c31c7a0e508')
'baad28b724738464cebf1a4e3320111b848fd7b14619e5c0134784ef7ad2aa3a'
'278b4531da3d2aabda080c412c5122b471202dd6df67768b38bb0c31c7a0e508'
'bcb2565878e524df3e3bcd1631dbcefc205e9b435a2e537c1810996b97c4dd4a'
'd2bd68da35aa68197f1b0ebed2c01685a7f4c780430840784a861a540d05b130')
export FF_MINGW_PREFIX="${MINGW_PREFIX}/ffbuild"
@@ -47,11 +51,14 @@ apply_patch_with_msg() {
prepare() {
cd ${_realname}-${pkgver}
# https://gitlab.gnome.org/GNOME/libxml2/-/issues/64
# https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/15
# https://github.com/msys2/MINGW-packages/issues/7955
apply_patch_with_msg \
0027-decoding-segfault.patch
# https://github.com/msys2/MINGW-packages/issues/17820
# https://github.com/msys2/MINGW-packages/issues/25716
apply_patch_with_msg \
0001-do-not-export-DllMain.patch
apply_patch_with_msg \
0031-apply-msvc-relocation.patch \
0032-cmake-relocation.patch
# https://github.com/msys2/MINGW-packages/issues/10577
apply_patch_with_msg \
@@ -10,7 +10,7 @@ arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://acoustid.org/chromaprint"
license=("LGPL")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-jellyfin-fftw")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-cc"
@@ -4,7 +4,7 @@
_realname=fontconfig
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=2.17.0
pkgver=2.17.1
pkgrel=1
pkgdesc="A library for configuring and customizing font access (mingw-w64)"
arch=('any')
@@ -16,7 +16,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-meson"
"${MINGW_PACKAGE_PREFIX}-gperf"
"${MINGW_PACKAGE_PREFIX}-gettext-runtime")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-jellyfin-freetype"
"${MINGW_PACKAGE_PREFIX}-jellyfin-libxml2"
"${MINGW_PACKAGE_PREFIX}-jellyfin-libiconv")
@@ -24,7 +24,7 @@ options=('staticlibs' 'strip')
install=${_realname}-${MSYSTEM}.install
source=("https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/${pkgver}/fontconfig-${pkgver}.tar.gz"
0011-conf-copy-instead-of-symlink.patch)
sha256sums=('741416e1cc5132f5df533a96070453c0e0fdd137de60e0adb684bb52d06f0e05'
sha256sums=('82e73b26adad651b236e5f5d4b3074daf8ff0910188808496326bd3449e5261d'
'73ed74a1f4624466084d219e2fbc0d5780da9f63763f1307629251e58cccf2cd')
export MINGW_TOOLCHAIN_PREFIX="${MINGW_PREFIX}"
@@ -0,0 +1,33 @@
--- a/src/harfbuzz-config.cmake.in
+++ b/src/harfbuzz-config.cmake.in
@@ -5,18 +5,18 @@
set(HARFBUZZ_VERSION "@HARFBUZZ_VERSION@")
# Add the libraries.
-add_library(harfbuzz::harfbuzz @HB_LIBRARY_TYPE@ IMPORTED)
+add_library(harfbuzz::harfbuzz UNKNOWN IMPORTED)
set_target_properties(harfbuzz::harfbuzz PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "@PACKAGE_INCLUDE_INSTALL_DIR@"
IMPORTED_LOCATION "@PACKAGE_CMAKE_INSTALL_LIBDIR@/@HB_LIB_PREFIX@harfbuzz@HB_LIB_SUFFIX@")
-add_library(harfbuzz::icu @HB_LIBRARY_TYPE@ IMPORTED)
+add_library(harfbuzz::icu UNKNOWN IMPORTED)
set_target_properties(harfbuzz::icu PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "@PACKAGE_INCLUDE_INSTALL_DIR@"
INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
IMPORTED_LOCATION "@PACKAGE_CMAKE_INSTALL_LIBDIR@/@HB_LIB_PREFIX@harfbuzz-icu@HB_LIB_SUFFIX@")
-add_library(harfbuzz::subset @HB_LIBRARY_TYPE@ IMPORTED)
+add_library(harfbuzz::subset UNKNOWN IMPORTED)
set_target_properties(harfbuzz::subset PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "@PACKAGE_INCLUDE_INSTALL_DIR@"
INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
@@ -24,7 +24,7 @@
# Only add the gobject library if it was built.
if (@HB_HAVE_GOBJECT@)
- add_library(harfbuzz::gobject @HB_LIBRARY_TYPE@ IMPORTED)
+ add_library(harfbuzz::gobject UNKNOWN IMPORTED)
set_target_properties(harfbuzz::gobject PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "@PACKAGE_INCLUDE_INSTALL_DIR@"
INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
+10 -5
View File
@@ -4,7 +4,7 @@
_realname=harfbuzz
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}")
pkgver=10.4.0
pkgver=14.2.0
pkgrel=1
pkgdesc="OpenType text shaping engine"
arch=('any')
@@ -22,14 +22,16 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-gtk-doc"
"${MINGW_PACKAGE_PREFIX}-ragel")
depends=("${MINGW_PACKAGE_PREFIX}-jellyfin-freetype"
"${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-gettext-runtime")
checkdepends=("${MINGW_PACKAGE_PREFIX}-python-fonttools"
"${MINGW_PACKAGE_PREFIX}-python-setuptools")
source=("https://github.com/harfbuzz/harfbuzz/releases/download/${pkgver}/harfbuzz-${pkgver}.tar.xz"
"001-fix-build-with-chafa.patch")
sha256sums=('480b6d25014169300669aa1fc39fb356c142d5028324ea52b3a27648b9beaad8'
'26b37a1ca9872973905ecb96bcbe3f054472252320956faa74428206900d360e')
"001-fix-build-with-chafa.patch"
"002-make-library-type-in-cmake-config-unknown.patch")
sha256sums=('94017020f96d025bb66ae91574e4cf334bcad23e8175a8a40565b3721bc2eaff'
'26b37a1ca9872973905ecb96bcbe3f054472252320956faa74428206900d360e'
'6ce1063f2ac77db0b4705153031e2c6ba8d7a65a04eb759fe4178e9445406ddb')
noextract=("harfbuzz-${pkgver}.tar.xz")
export MINGW_TOOLCHAIN_PREFIX="${MINGW_PREFIX}"
@@ -41,6 +43,7 @@ prepare() {
cd ${_realname}-${pkgver}
patch -p1 -i "${srcdir}"/001-fix-build-with-chafa.patch
patch -p1 -i "${srcdir}"/002-make-library-type-in-cmake-config-unknown.patch
}
build() {
@@ -75,6 +78,8 @@ build() {
-Dchafa=disabled \
-Dcairo=disabled \
-Dglib=disabled \
-Dutilities=disabled \
-Dgpu=disabled \
"build-${MSYSTEM}-static" \
"${_realname}-${pkgver}"
@@ -3,7 +3,7 @@
_realname=libbluray
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=1.4.0
pkgver=1.4.1
pkgrel=1
pkgdesc="Library to access Blu-Ray disks for video playback (mingw-w64)"
arch=('any')
@@ -19,10 +19,8 @@ makedepends=(
"${MINGW_PACKAGE_PREFIX}-meson"
"${MINGW_PACKAGE_PREFIX}-pkgconf"
"${MINGW_PACKAGE_PREFIX}-cc")
source=(https://download.videolan.org/pub/videolan/libbluray/${pkgver}/${_realname}-${pkgver}.tar.xz
"https://code.videolan.org/videolan/libbluray/-/commit/8e5ef374c8ff3603a8ed4e1f48d4d5399e2e8044.patch")
sha256sums=('77937baf07eadda4b2b311cf3af4c50269d2ea3165041f5843d96476c4c92777'
'488f6eee652e7955d2f8ad4d2c77030e457c3b893f76904f3c116bd097181dcd')
source=(https://download.videolan.org/pub/videolan/libbluray/${pkgver}/${_realname}-${pkgver}.tar.xz)
sha256sums=('76b5dc40097f28dca4ebb009c98ed51321b2927453f75cc72cf74acd09b9f449')
export MINGW_TOOLCHAIN_PREFIX="${MINGW_PREFIX}"
export FF_MINGW_PREFIX="${MINGW_TOOLCHAIN_PREFIX}/ffbuild"
@@ -30,7 +28,6 @@ export FF_MINGW_PREFIX="${MINGW_TOOLCHAIN_PREFIX}/ffbuild"
prepare() {
cd "${_realname}-${pkgver}"
sed -i 's/dec_init/libbluray_dec_init/g' src/libbluray/disc/*.c src/libbluray/disc/*.h
patch -Np1 -i "${srcdir}/8e5ef374c8ff3603a8ed4e1f48d4d5399e2e8044.patch"
}
build() {
+12 -13
View File
@@ -3,20 +3,21 @@
_realname=libogg
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=1.3.5
pkgver=1.3.6
pkgrel=1
pkgdesc="Ogg bitstream and framing library (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://xiph.org/"
license=('BSD')
license=('spdx:BSD-3-Clause')
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc")
options=('staticlibs' 'strip')
source=("https://downloads.xiph.org/releases/ogg/${_realname}-${pkgver}.tar.gz"
"libogg-1.3.4-versioned-dll-cmake.patch")
sha256sums=('0eb4b4b9420a0f51db142ba3f9c64b333f826532dc0f48c6410ae51f4799b664'
'7f635d4ca41c75dc52206749b6346c174c6a028de09604c6d66929bcdabf6c33')
sha256sums=('83e6704730683d004d20e21b8f7f55dcb3383cdf84c0daedf30bde175f774638'
'18772896694597eb60ab3f9fb6bc7629759d51a7fa0c1645da1f8d7ba11c1bf8')
export MINGW_TOOLCHAIN_PREFIX="${MINGW_PREFIX}"
export FF_MINGW_PREFIX="${MINGW_TOOLCHAIN_PREFIX}/ffbuild"
@@ -37,29 +38,27 @@ build() {
fi
# Static
[[ -d "${srcdir}/build-${MINGW_CHOST}-static" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-static"
mkdir -p "${srcdir}/build-${MINGW_CHOST}-static" && cd "${srcdir}/build-${MINGW_CHOST}-static"
mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_TOOLCHAIN_PREFIX}/bin/cmake \
-G'MSYS Makefiles' \
-GNinja \
-DCMAKE_INSTALL_PREFIX=${FF_MINGW_PREFIX} \
"${extra_config[@]}" \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_TESTING=OFF \
../${_realname}-${pkgver}
"../${_realname}-${pkgver}"
make
cmake --build .
}
package() {
# Static
cd "${srcdir}/build-${MINGW_CHOST}-static"
make DESTDIR="${pkgdir}" install
DESTDIR="${pkgdir}" ${MINGW_TOOLCHAIN_PREFIX}/bin/cmake --install "build-${MSYSTEM}-static"
# m4
install -Dm644 ${srcdir}/${_realname}-${pkgver}/ogg.m4 ${pkgdir}${FF_MINGW_PREFIX}/share/aclocal/ogg.m4
install -Dm644 "${srcdir}"/${_realname}-${pkgver}/ogg.m4 "${pkgdir}"${FF_MINGW_PREFIX}/share/aclocal/ogg.m4
# License
install -Dm644 ${srcdir}/${_realname}-${pkgver}/COPYING ${pkgdir}${FF_MINGW_PREFIX}/share/licenses/${_realname}/COPYING
install -Dm644 "${srcdir}"/${_realname}-${pkgver}/COPYING "${pkgdir}"${FF_MINGW_PREFIX}/share/licenses/${_realname}/COPYING
}
@@ -1,21 +1,3 @@
diff -Naur libogg-1.3.4.orig/CMakeLists.txt libogg-1.3.4/CMakeLists.txt
--- libogg-1.3.4.orig/CMakeLists.txt 2019-09-02 15:05:06.093041600 -0400
+++ libogg-1.3.4/CMakeLists.txt 2019-09-02 15:08:44.811923200 -0400
@@ -103,6 +103,14 @@
VERSION ${LIB_VERSION}
PUBLIC_HEADER "${OGG_HEADERS}"
)
+if(WIN32)
+ set_target_properties(ogg
+ PROPERTIES
+ OUTPUT_NAME ogg
+ RUNTIME_OUTPUT_NAME ogg-${LIB_SOVERSION}
+ ARCHIVE_OUTPUT_NAME ogg
+ )
+endif()
if(BUILD_FRAMEWORK)
set_target_properties(ogg PROPERTIES
diff -Naur libogg-1.3.4.orig/win32/ogg.def libogg-1.3.4/win32/ogg.def
--- libogg-1.3.4.orig/win32/ogg.def 2019-09-02 15:05:06.093041600 -0400
+++ libogg-1.3.4/win32/ogg.def 2019-09-02 15:08:44.811923200 -0400
+2 -2
View File
@@ -3,7 +3,7 @@
_realname=libvpx
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=1.15.2
pkgver=1.16.0
pkgrel=1
pkgdesc="The VP8/VP9 Codec SDK (mingw-w64)"
arch=('any')
@@ -24,7 +24,7 @@ msys2_references=(
source=(${_realname}-${pkgver}.tar.gz::https://github.com/webmproject/libvpx/archive/v${pkgver}.tar.gz
0001-enable-shared-on.mingw.patch)
options=('strip' 'staticlibs')
sha256sums=('26fcd3db88045dee380e581862a6ef106f49b74b6396ee95c2993a260b4636aa'
sha256sums=('7a479a3c66b9f5d5542a4c6a1b7d3768a983b1e5c14c60a9396edc9b649e015c'
'f37a24525725cad215d73c538c0b06343b043f2b07553e7dc25835bd68af0695')
export MINGW_TOOLCHAIN_PREFIX="${MINGW_PREFIX}"

Some files were not shown because too many files have changed in this diff Show More