mirror of
https://github.com/jellyfin/jellyfin-ffmpeg.git
synced 2026-09-02 21:03:08 +03:00
Update build scripts and dependencies
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
This commit is contained in:
+4
-4
@@ -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,5 +1,5 @@
|
||||
#!/usr/bin/make
|
||||
DISTRO=ubuntu:noble
|
||||
DISTRO=ubuntu:resolute
|
||||
.PHONY: Dockerfile
|
||||
Dockerfile: Dockerfile.win64.in
|
||||
sed 's/DISTRO/$(DISTRO)/' $< > $@ || rm -f $@
|
||||
|
||||
@@ -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
@@ -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 )"
|
||||
|
||||
@@ -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" && \
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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']
|
||||
|
||||
+117
@@ -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,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,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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/madler/zlib.git"
|
||||
SCRIPT_COMMIT="570720b0c24f9686c33f35a1b3165c1f568b96be"
|
||||
SCRIPT_COMMIT="f9dd6009be3ed32415edf1e89d1bc38380ecb95d"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/freetype/freetype.git"
|
||||
SCRIPT_COMMIT="23b6cd27ff19b70cbf98e058cd2cf0647d5284ff"
|
||||
SCRIPT_COMMIT="1803559c4ee407d0bcbf2a67dbe96690cee869d2"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/xiph/ogg.git"
|
||||
SCRIPT_COMMIT="0288fadac3ac62d453409dfc83e9c4ab617d2472"
|
||||
SCRIPT_COMMIT="06a5e0262cdc28aa4ae6797627a783b5010440f0"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/GNOME/libxml2.git"
|
||||
SCRIPT_COMMIT="9827e6e44652555992e168609abf94e4237ca944"
|
||||
SCRIPT_COMMIT="a7511af09f99995cdf81994db21f4eba564276b5"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/adah1972/libunibreak.git"
|
||||
SCRIPT_COMMIT="32dc4fabf20176aeaa63c4880cc53cc123e53261"
|
||||
SCRIPT_COMMIT="3ce4bfa3129ff3738046a44a6db533d2ce25af2b"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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
@@ -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
@@ -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
|
||||
}
|
||||
+14
-4
@@ -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
-1
@@ -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
|
||||
Executable
+22
@@ -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,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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/acoustid/chromaprint.git"
|
||||
SCRIPT_COMMIT="9b6a0c61ecbeab75271bab4aca651d8dff41c5d6"
|
||||
SCRIPT_COMMIT="6b13ce3a81ae931e7477c4856a86bece99157cd8"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/libass/libass.git"
|
||||
SCRIPT_COMMIT="cbb743215bad0fe202477e569fe8005545258ccd"
|
||||
SCRIPT_COMMIT="bbb3c7f1570a4a021e52683f3fbdf74fe492ae84"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/xiph/theora.git"
|
||||
SCRIPT_COMMIT="23161c4a63fd9f9d09b9e972f95def2d56c777af"
|
||||
SCRIPT_COMMIT="014bc312d05241ff2d06fd52ee7cbbec3768bfd6"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://chromium.googlesource.com/webm/libwebp"
|
||||
SCRIPT_COMMIT="d52b9ee34d6bb8fb7a190fe359d8560cfc2afc91"
|
||||
SCRIPT_COMMIT="4fa21912338357f89e4fd51cf2368325b59e9bd9"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/Haivision/srt.git"
|
||||
SCRIPT_COMMIT="72f0c6e0e9a186adec428a145f4e085412d96796"
|
||||
SCRIPT_COMMIT="b6b4ae990daa8193625a4ddeaeaed03023b23125"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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,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,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_REPO="https://github.com/sekrit-twc/zimg.git"
|
||||
SCRIPT_COMMIT="df9c1472b9541d0e79c8d02dae37fdf12f189ec2"
|
||||
SCRIPT_COMMIT="5e8c32222569edf3a712f83d7cff80ad4dd9ab6e"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
|
||||
@@ -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,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=""
|
||||
|
||||
@@ -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
@@ -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'
|
||||
|
||||
|
||||
Vendored
+12
-20
@@ -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
@@ -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
@@ -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 .
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
@@ -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})
|
||||
@@ -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}"
|
||||
|
||||
+33
@@ -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"
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user