Skip to content

Commit

Permalink
ffmpeg7 + tvheadend and chromaprint migration to newest (#6239)
Browse files Browse the repository at this point in the history
* ffmpeg7: Initial commit

* ffmpeg6: Mark as broken as superseeded with ffmpeg7

* chromaprint: Migrate to using ffmpeg7

* tvheadend: Migrate to using ffmpeg7 and git 55404da Sept. 20th

* ffmpeg7: Update PLIST

* snappy: Fix digests filename

* ffmpeg7: disable libssh as not compatible with libssh2

* ffmpeg7: now requirest c11 support

* snappy: comcerto2k fix by disabling NEON optimization

* ffmpeg7: Disable avx as SIMD extensions are unsupported

* ffmpeg7: Disable vvc decoder due to undef ref `ff_vvc_dsp_init_x86'

Bug tracker: https://trac.ffmpeg.org/ticket/11206#ticket

* tvheadend: Fix UNSUPPORTED flags for ARMv5

* ffmpeg7: vvc decoder fix (thnx @nyanmisaka for the pointers)

* chromaprint+tvheadend: Bump package version

* synocli-videodriver: Include a subset of intel gpu tools (IGT)

* jellyfin: Migrate to ffmpeg7

* github-action: Enable 64-bit build for DSM-7.2 only

* videodriver.mk: Simplify code and fix pkgconfig libraries shared

* tvheadend: Update v4.3 from hash 55404da to 28de5c0 of Sept. 28th

* ffmpeg: Update from 5.1.5 to 5.1.6

* synocli-videodriver: Fix SPK_COMMAND and add lsgpu

* ffmpeg5: Remove service-setup.sh as no longer needed

* libdrm: Update from version 2.4.122 to 2.4.123

* libpciaccess: Update from version 0.18 to 0.18.1

* ffmpeg7: Enable link-time-optimization (lto)

* ffmpeg567: Fix ifeq based on common.mk rather and archs.mk

* ffmpeg7: Clean-up ARMv5 and OLDPPC and disable lto for evansport

* procps-ng: Fix build issue on x64-7.2

* libudev-219 (systemd): DSM-7.2 build fixes
th0ma7 authored Oct 2, 2024
1 parent 50627cb commit 7df4d39
Showing 134 changed files with 54,764 additions and 115 deletions.
8 changes: 4 additions & 4 deletions .github/actions/build.sh
Original file line number Diff line number Diff line change
@@ -12,9 +12,9 @@
# - The build output is structured into log groups by package.
# - As the disk space in the workflow environment is limitted, we clean the
# work folder of each package after build. At 2020.06 this limit is 14GB.
# - synocli-videodriver and ffmpeg5-6 are not cleaned to be available for dependents.
# - Therefore synocli-videodriver is built first if triggered by ffmpeg5-6
# - Therefore ffmpeg5 and ffmpeg6 are built second if triggered by its
# - synocli-videodriver and ffmpeg5-7 are not cleaned to be available for dependents.
# - Therefore synocli-videodriver is built first if triggered by ffmpeg5-7
# - Therefore ffmpeg5 and ffmpeg7 are built second if triggered by its
# own or a dependent (see prepare.sh).

set -o pipefail
@@ -60,7 +60,7 @@ if [ -n "$API_KEY" ] && [ "$PUBLISH" == "true" ]; then
fi

# Build
PACKAGES_TO_KEEP="synocli-videodriver ffmpeg5 ffmpeg6 python310 python311"
PACKAGES_TO_KEEP="synocli-videodriver ffmpeg5 ffmpeg7 python310 python311"
for package in ${build_packages}
do
echo "::group:: ---- build ${package}"
10 changes: 5 additions & 5 deletions .github/actions/prepare.sh
Original file line number Diff line number Diff line change
@@ -6,8 +6,8 @@
#
# Functions:
# - Evaluate all packages to build depending on files defined in ${GH_FILES}.
# - synocli-videodriver is moved to head of packages to build first if triggered by its ffmpeg5-6
# - python310-311 and ffmpeg5-6 are moved to head of remaining packages to build when triggered by its own or a dependent.
# - synocli-videodriver is moved to head of packages to build first if triggered by its ffmpeg5-7
# - python310-311 and ffmpeg5-7 are moved to head of remaining packages to build when triggered by its own or a dependent.
# - Referenced native and cross packages of the packages to build are added to the download list.

set -o pipefail
@@ -54,8 +54,8 @@ fi
# remove duplicate packages
packages=$(printf %s "${SPK_TO_BUILD}" | tr ' ' '\n' | sort -u | tr '\n' ' ')

# for ffmpeg v5-6 find all packages that depend on them
for i in {5..6}; do
# for ffmpeg v5-7 find all packages that depend on them
for i in {5..7}; do
ffmpeg_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "FFMPEG_PACKAGE = ffmpeg${i}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ')

# If packages contain a package that depends on ffmpeg (or is ffmpeg),
@@ -70,7 +70,7 @@ for i in {5..6}; do
done
done

# for synocli-videodriver that ffmpeg v5-6 depends on
# for synocli-videodriver that ffmpeg v5-7 depends on
videodrv_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "spksrc.videodriver.mk" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ')

# If packages contain a package that depends on spksrc.videodriver.mk,
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -83,7 +83,7 @@ jobs:
matrix:
# x64=x86_64, evansport=i686, aarch64=armv8, armv7, hi3535=armv7l, 88f6281=armv5, qoriq=ppc
# https://github.com/SynoCommunity/spksrc/wiki/Synology-and-SynoCommunity-Package-Architectures
arch: [noarch, noarch-6.1, noarch-7.0, x64-6.2.4, x64-7.1, evansport-6.2.4, evansport-7.1, aarch64-6.2.4, aarch64-7.1, armv7-6.2.4, armv7-7.1, hi3535-6.2.4, 88f6281-6.2.4, qoriq-6.2.4, comcerto2k-7.1]
arch: [noarch, noarch-6.1, noarch-7.0, x64-6.2.4, x64-7.1, x64-7.2, evansport-6.2.4, evansport-7.1, aarch64-6.2.4, aarch64-7.1, aarch64-7.2, armv7-6.2.4, armv7-7.1, hi3535-6.2.4, 88f6281-6.2.4, qoriq-6.2.4, comcerto2k-7.1]

steps:
- name: Checkout repository
6 changes: 3 additions & 3 deletions cross/chromaprint/Makefile
Original file line number Diff line number Diff line change
@@ -15,9 +15,9 @@ HOMEPAGE = https://acoustid.org/chromaprint
COMMENT = Chromaprint is the core component of the AcoustID project. It\'s a client-side library that implements a custom algorithm for extracting fingerprints from any audio source.
LICENSE = LGPL2.1+

OPTIONAL_DEPENDS = cross/ffmpeg6
OPTIONAL_DEPENDS = cross/ffmpeg7

# compiler too old
# ffmpeg7 requires c11 support
UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS)

CMAKE_ARGS += -DBUILD_TOOLS=ON
@@ -46,7 +46,7 @@ CMAKE_ARGS += -DFFMPEG_LIBSWSCALE_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/inc
CMAKE_ARGS += -DFFMPEG_LIBSWSCALE_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libswscale.so

else
DEPENDS = cross/ffmpeg6
DEPENDS = cross/ffmpeg7
CMAKE_RPATH =
endif

20 changes: 20 additions & 0 deletions cross/elfutils/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
PKG_NAME = elfutils
PKG_VERS = 0.191
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://sourceware.org/elfutils/ftp/0.191
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/zlib cross/zstd

HOMEPAGE = https://sourceware.org/elfutils/
COMMENT = elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux.
LICENSE = GPL

REQUIRED_MIN_DSM = 7.0

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --disable-libdebuginfod
CONFIGURE_ARGS += --disable-debuginfod

include ../../mk/spksrc.cross-cc.mk
9 changes: 9 additions & 0 deletions cross/elfutils/PLIST
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
lnk:lib/libasm.so
lnk:lib/libasm.so.1
lib:lib/libasm-0.191.so
lnk:lib/libdw.so
lnk:lib/libdw.so.1
lib:lib/libdw-0.191.so
lnk:lib/libelf.so
lnk:lib/libelf.so.1
lib:lib/libelf-0.191.so
3 changes: 3 additions & 0 deletions cross/elfutils/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
elfutils-0.191.tar.bz2 SHA1 651aa2b7390aeba178be2ceefd4c2eb42e783e97
elfutils-0.191.tar.bz2 SHA256 df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871
elfutils-0.191.tar.bz2 MD5 636547248fb3fae58ec48030298d3ef7
2 changes: 1 addition & 1 deletion cross/ffmpeg5/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME = ffmpeg
PKG_VERS = 5.1.5
PKG_VERS = 5.1.6
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.ffmpeg.org/releases
6 changes: 3 additions & 3 deletions cross/ffmpeg5/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
ffmpeg-5.1.5.tar.bz2 SHA1 3b4b8c3b9481f4dc8af0e7fbd1144bb4ef42aaeb
ffmpeg-5.1.5.tar.bz2 SHA256 6b4ec72db26cb0c45c6b66228f9090e11910121890a05691a80d494de22d1583
ffmpeg-5.1.5.tar.bz2 MD5 e8ec904fa192bbab6d7df8d2d7b5a580
ffmpeg-5.1.6.tar.bz2 SHA1 8930dcdf6d8bfd20611a1a147aadb048c6f875c7
ffmpeg-5.1.6.tar.bz2 SHA256 d04c46cfe59f7dfbf2fd8574c2d24ad58c86a2e180a90d341cfa41781a994397
ffmpeg-5.1.6.tar.bz2 MD5 547725dd393a6adc1511da1fd141df25
Loading

0 comments on commit 7df4d39

Please sign in to comment.