Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions cross/cairo-1.16/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
PKG_NAME = cairo
PKG_VERS = 1.16.0
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.cairographics.org/releases/
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/libpng cross/freetype cross/pixman cross/fontconfig cross/glib

# v1.16.0 is the latest version that builds for OLD_PPC and ARMv5 archs

HOMEPAGE = https://www.cairographics.org
COMMENT = Cairo is a 2D graphics library with support for multiple output devices.
LICENSE = GPLv2

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --disable-static --disable-trace --enable-gobject
ADDITIONAL_CPPFLAGS = -O

# Use custom build and install targets, since configure does not support
# to disable the build of code in the sub folders: test, perf, boilderplate.
# But this needs a lot of build resources, and it will never run as we are
# cross compiling.
# This (old) blog shows, that it is not intended to enable test code skipping:
# https://lists.cairographics.org/archives/cairo/2014-July/025373.html
COMPILE_TARGET = cairo_compile
INSTALL_TARGET = cairo_install

include ../../mk/spksrc.cross-cc.mk

.PHONY: cairo_compile
cairo_compile:
@$(MSG) Build without tests
@$(RUN) $(MAKE) -C src $(COMPILE_MAKE_OPTIONS)
@$(RUN) $(MAKE) -C util $(COMPILE_MAKE_OPTIONS)

.PHONY: cairo_install
cairo_install:
@$(MSG) Install without building tests
@$(RUN) $(MAKE) -C src install DESTDIR=$(INSTALL_DIR) prefix=$(INSTALL_PREFIX)
@$(RUN) $(MAKE) -C util install DESTDIR=$(INSTALL_DIR) prefix=$(INSTALL_PREFIX)
File renamed without changes.
File renamed without changes.
21 changes: 21 additions & 0 deletions cross/cairo-latest/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
PKG_NAME = cairo
PKG_VERS = 1.18.4
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.cairographics.org/releases/
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/libpng cross/freetype cross/pixman cross/fontconfig cross/glib

# ERROR: Could not get define '__FLOAT_WORD_ORDER__'
UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) $(ARMv5_ARCHS)

HOMEPAGE = https://www.cairographics.org
COMMENT = Cairo is a 2D graphics library with support for multiple output devices.
LICENSE = GPLv2

GNU_CONFIGURE = 1
CONFIGURE_ARGS = -Dtests=disabled
ADDITIONAL_CPPFLAGS = -O

include ../../mk/spksrc.cross-meson.mk
9 changes: 9 additions & 0 deletions cross/cairo-latest/PLIST
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
lnk:lib/libcairo-gobject.so
lnk:lib/libcairo-gobject.so.2
lib:lib/libcairo-gobject.so.2.11804.4
lnk:lib/libcairo-script-interpreter.so
lnk:lib/libcairo-script-interpreter.so.2
lib:lib/libcairo-script-interpreter.so.2.11804.4
lnk:lib/libcairo.so
lnk:lib/libcairo.so.2
lib:lib/libcairo.so.2.11804.4
3 changes: 3 additions & 0 deletions cross/cairo-latest/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
cairo-1.18.4.tar.xz SHA1 0331eaa0ec3b0dfe859b6d966e572dfaac7d1d90
cairo-1.18.4.tar.xz SHA256 445ed8208a6e4823de1226a74ca319d3600e83f6369f99b14265006599c32ccb
cairo-1.18.4.tar.xz MD5 db575fb41bbda127e0147e401f36f8ac
45 changes: 9 additions & 36 deletions cross/cairo/Makefile
Original file line number Diff line number Diff line change
@@ -1,39 +1,12 @@
PKG_NAME = cairo
PKG_VERS = 1.16.0
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.cairographics.org/releases/
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
PKG_NAME = cairo-main

DEPENDS = cross/libpng cross/freetype cross/pixman cross/fontconfig cross/glib
OPTIONAL_DEPENDS = cross/cairo-latest
OPTIONAL_DEPENDS += cross/cairo-1.16

HOMEPAGE = https://www.cairographics.org
COMMENT = Cairo is a 2D graphics library with support for multiple output devices.
LICENSE = GPLv2
include ../../mk/spksrc.main-depends.mk

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --disable-static --disable-trace --enable-gobject
ADDITIONAL_CPPFLAGS = -O

# Use custom build and install targets, since configure does not support
# to disable the build of code in the sub folders: test, perf, boilderplate.
# But this needs a lot of build resources, and it will never run as we are
# cross compiling.
# This (old) blog shows, that it is not intended to enable test code skipping:
# https://lists.cairographics.org/archives/cairo/2014-July/025373.html
COMPILE_TARGET = cairo_compile
INSTALL_TARGET = cairo_install

include ../../mk/spksrc.cross-cc.mk

.PHONY: cairo_compile
cairo_compile:
@$(MSG) Build without tests
@$(RUN) $(MAKE) -C src $(COMPILE_MAKE_OPTIONS)
@$(RUN) $(MAKE) -C util $(COMPILE_MAKE_OPTIONS)

.PHONY: cairo_install
cairo_install:
@$(MSG) Install without building tests
@$(RUN) $(MAKE) -C src install DESTDIR=$(INSTALL_DIR) prefix=$(INSTALL_PREFIX)
@$(RUN) $(MAKE) -C util install DESTDIR=$(INSTALL_DIR) prefix=$(INSTALL_PREFIX)
ifeq ($(findstring $(ARCH),$(OLD_PPC_ARCHS) $(ARMv5-ARCHS)),$(ARCH))
DEPENDS = cross/cairo-1.16
else
DEPENDS = cross/cairo-latest
endif
60 changes: 30 additions & 30 deletions cross/ffmpeg7/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ CONFIGURE_ARGS += --disable-debug
CONFIGURE_ARGS += --disable-static
CONFIGURE_ARGS += --disable-doc

# Must match $(SPK_REV) from spk/ffmpeg6/Makefile
CONFIGURE_ARGS += --extra-version=$(shell sed -n 's/^SPK_REV = \(.*\)/\1/p' $(WORK_DIR)/../../../spk/ffmpeg6/Makefile)
# Must match $(SPK_REV) from spk/ffmpeg7/Makefile
CONFIGURE_ARGS += --extra-version=$(shell sed -n 's/^SPK_REV = \(.*\)/\1/p' $(WORK_DIR)/../../../spk/ffmpeg7/Makefile)

# Enable Synology specific -hls_seek_time option and other optimizations
CONFIGURE_ARGS += --extra-cflags=-DSYNO_VIDEOSTATION
Expand All @@ -38,29 +38,24 @@ CONFIGURE_ARGS += --extra-cflags=-Wno-deprecated-declarations

include ../../mk/spksrc.common.mk

OPTIONAL_DEPENDS = cross/chromaprint-fftw
OPTIONAL_DEPENDS += cross/dav1d
OPTIONAL_DEPENDS += cross/frei0r
OPTIONAL_DEPENDS += cross/libass
# ARCH specific
OPTIONAL_DEPENDS = cross/openh264
OPTIONAL_DEPENDS += cross/libaom
OPTIONAL_DEPENDS += cross/libvpx
OPTIONAL_DEPENDS += cross/libzimg
OPTIONAL_DEPENDS += cross/openh264
OPTIONAL_DEPENDS += cross/svt-av1
# GCC specific
OPTIONAL_DEPENDS += cross/frei0r
# prebuilt by synocli-videodriver
OPTIONAL_DEPENDS += cross/libva
OPTIONAL_DEPENDS += cross/libva-utils
OPTIONAL_DEPENDS += cross/intel-vaapi-driver
OPTIONAL_DEPENDS += cross/intel-media-driver
OPTIONAL_DEPENDS += cross/intel-mediasdk
# prebuilt by synocli-videodriver for gcc >= 5
OPTIONAL_DEPENDS += cross/intel-level-zero
OPTIONAL_DEPENDS += cross/intel-graphics-compiler
OPTIONAL_DEPENDS += cross/intel-compute-runtime
OPTIONAL_DEPENDS += cross/ocl-icd
OPTIONAL_DEPENDS += cross/clinfo
OPTIONAL_DEPENDS += cross/twolame
OPTIONAL_DEPENDS += cross/x264
OPTIONAL_DEPENDS += cross/x265
OPTIONAL_DEPENDS += cross/shine

# Define x86asm
ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH))
Expand All @@ -71,6 +66,13 @@ else ifneq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH))
CONFIGURE_ARGS += --disable-asm
endif

# build cario first, otherwise cross/cairo fails to build for x64-6.* arch
# It does not fail for x64-7.* when cario is prebuilt with videodriver.
# The failing seems related to parallel builds and occurs since cairo is built with meson
# due lacking videodriver build include path for cairo.
# cairo is dependency of harfbuzz, dependency of libass
DEPENDS = cross/cairo

DEPENDS += cross/codec2
CONFIGURE_ARGS += --enable-libcodec2

Expand Down Expand Up @@ -121,11 +123,6 @@ CONFIGURE_ARGS += --enable-libzmq
DEPENDS += cross/gnutls
CONFIGURE_ARGS += --enable-gnutls

ifneq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH))
DEPENDS += cross/openh264
CONFIGURE_ARGS += --enable-libopenh264
endif

DEPENDS += cross/opus
CONFIGURE_ARGS += --enable-libopus

Expand Down Expand Up @@ -171,6 +168,9 @@ CONFIGURE_ARGS += --enable-libzimg
DEPENDS += cross/snappy
CONFIGURE_ARGS += --enable-libsnappy

DEPENDS += cross/libass
CONFIGURE_ARGS += --enable-libass

#
# fdk-acc is now considered compatible with (L)GPL.
# It requires --enable-nonfree if you're also using --enable-gpl
Expand All @@ -182,6 +182,16 @@ CONFIGURE_ARGS += --enable-libsnappy
DEPENDS += cross/fdk-aac
CONFIGURE_ARGS += --enable-libfdk-aac --enable-nonfree

##
## ARCH SPECIFIC
##

ifneq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH))
DEPENDS += cross/openh264
CONFIGURE_ARGS += --enable-libopenh264
endif

# Add libaom to supported ARCH
ifeq ($(findstring $(ARCH),alpine comcerto2k monaco $(ARMv8_ARCHS) $(i686_ARCHS) $(x64_ARCHS)),$(ARCH))
DEPENDS += cross/libaom
CONFIGURE_ARGS += --enable-libaom
Expand All @@ -193,10 +203,6 @@ DEPENDS += cross/svt-av1
CONFIGURE_ARGS += --enable-libsvtav1
endif

##
## ARCH SPECIFIC
##

ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH))
CONFIGURE_ARGS += --arch=arm
CONFIGURE_ARGS += --enable-neon
Expand Down Expand Up @@ -246,8 +252,6 @@ CONFIGURE_ARGS += --enable-libmfx
CONFIGURE_ARGS += --enable-vaapi
endif

include ../../mk/spksrc.cross-cc.mk

##
## x64 & GCC SPECIFIC
##
Expand All @@ -273,14 +277,10 @@ endif
## GCC SPECIFIC
##

# libass requires harfbuzz which in turns requires c++ from gcc >= 4.8 (88f6281-6.1 = gcc-4.6.4)
ifeq ($(call version_ge, $(TC_GCC), 4.8),1)
DEPENDS += cross/libass
CONFIGURE_ARGS += --enable-libass
endif

# Newer frei0r requires newer gcc
ifeq ($(call version_ge, $(TC_GCC), 7.5),1)
DEPENDS += cross/frei0r
CONFIGURE_ARGS += --enable-frei0r
endif

include ../../mk/spksrc.cross-cc.mk
4 changes: 2 additions & 2 deletions cross/fribidi/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
PKG_NAME = fribidi
PKG_VERS = 1.0.15
PKG_VERS = 1.0.16
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/fribidi/fribidi/releases/download/v$(PKG_VERS)
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS =

HOMEPAGE = http://fribidi.org/
HOMEPAGE = https://github.com/fribidi/fribidi/
COMMENT = GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi).
LICENSE = GPLv2

Expand Down
6 changes: 3 additions & 3 deletions cross/fribidi/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
fribidi-1.0.15.tar.xz SHA1 b602ab591d05dd4f96dd6ff664fbe2f153cfd2a2
fribidi-1.0.15.tar.xz SHA256 0bbc7ff633bfa208ae32d7e369cf5a7d20d5d2557a0b067c9aa98bcbf9967587
fribidi-1.0.15.tar.xz MD5 ccf2b019162b4e5e6569875d0641bc5f
fribidi-1.0.16.tar.xz SHA1 5ba608506055bd0df5f856cef155f0550f9ff47e
fribidi-1.0.16.tar.xz SHA256 1b1cde5b235d40479e91be2f0e88a309e3214c8ab470ec8a2744d82a5a9ea05c
fribidi-1.0.16.tar.xz MD5 333ad150991097a627755b752b87f9ff
6 changes: 2 additions & 4 deletions cross/lcms2/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME = lcms2
PKG_VERS = 2.14
PKG_VERS = 2.17
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/mm2/Little-CMS/releases/download/lcms$(PKG_VERS)
Expand All @@ -11,8 +11,6 @@ HOMEPAGE = http://www.littlecms.com/
COMMENT = Little CMS is a free, open source, CMM engine. It provides fast transforms between ICC profiles.
LICENSE = MIT

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --disable-static
ADDITIONAL_CFLAGS = -O

include ../../mk/spksrc.cross-cc.mk
include ../../mk/spksrc.cross-meson.mk
2 changes: 1 addition & 1 deletion cross/lcms2/PLIST
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
lnk:lib/liblcms2.so
lnk:lib/liblcms2.so.2
lib:lib/liblcms2.so.2.0.14
lib:lib/liblcms2.so.2.0.17
6 changes: 3 additions & 3 deletions cross/lcms2/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
lcms2-2.14.tar.gz SHA1 94350a2638fe58da736e8726048c859b46a69e6f
lcms2-2.14.tar.gz SHA256 28474ea6f6591c4d4cee972123587001a4e6e353412a41b3e9e82219818d5740
lcms2-2.14.tar.gz MD5 7f7baa3e605c961b9301135105ee9a34
lcms2-2.17.tar.gz SHA1 213382ca260cf761f264f185407f75bb1c6e2ce8
lcms2-2.17.tar.gz SHA256 d11af569e42a1baa1650d20ad61d12e41af4fead4aa7964a01f93b08b53ab074
lcms2-2.17.tar.gz MD5 9f44275ee8ac122817e94fdc50ecce13
6 changes: 2 additions & 4 deletions cross/libwebp/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME = libwebp
PKG_VERS = 1.4.0
PKG_VERS = 1.6.0
PKG_EXT = tar.gz
PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/webmproject/libwebp/archive
Expand All @@ -10,9 +10,7 @@ DEPENDS = cross/xz cross/libtiff cross/libjpeg cross/libpng cross/giflib

HOMEPAGE = https://developers.google.com/speed/webp
COMMENT = WebP codec: library to encode and decode images in WebP format.
LICENSE = https://github.com/webmproject/libwebp/blob/master/COPYING

CMAKE_USE_NINJA = 1
LICENSE = 3-Clause BSD

include ../../mk/spksrc.cross-cmake.mk

Expand Down
10 changes: 5 additions & 5 deletions cross/libwebp/PLIST
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ bin:bin/webpinfo
bin:bin/webpmux
lnk:lib/libsharpyuv.so
lnk:lib/libsharpyuv.so.0
lib:lib/libsharpyuv.so.0.1.0
lib:lib/libsharpyuv.so.0.1.2
lnk:lib/libwebp.so
lnk:lib/libwebp.so.7
lib:lib/libwebp.so.7.1.9
lib:lib/libwebp.so.7.2.0
lnk:lib/libwebpdecoder.so
lnk:lib/libwebpdecoder.so.3
lib:lib/libwebpdecoder.so.3.1.9
lib:lib/libwebpdecoder.so.3.2.0
lnk:lib/libwebpdemux.so
lnk:lib/libwebpdemux.so.2
lib:lib/libwebpdemux.so.2.0.15
lib:lib/libwebpdemux.so.2.0.17
lnk:lib/libwebpmux.so
lnk:lib/libwebpmux.so.3
lib:lib/libwebpmux.so.3.1.0
lib:lib/libwebpmux.so.3.1.2
6 changes: 3 additions & 3 deletions cross/libwebp/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
libwebp-1.4.0.tar.gz SHA1 2baf78f0e23748632bf949a564660f07ea9e0a44
libwebp-1.4.0.tar.gz SHA256 12af50c45530f0a292d39a88d952637e43fb2d4ab1883c44ae729840f7273381
libwebp-1.4.0.tar.gz MD5 9778f9be63f04f16f9ca3a4f36503399
libwebp-1.6.0.tar.gz SHA1 6a5da51c23c8340e44a70421a5ef8bb1ae805ad2
libwebp-1.6.0.tar.gz SHA256 93a852c2b3efafee3723efd4636de855b46f9fe1efddd607e1f42f60fc8f2136
libwebp-1.6.0.tar.gz MD5 d498caf9323a24ce3ed40b84c22a32cd
36 changes: 36 additions & 0 deletions cross/libwebp/patches/001-fix_cpu.h_intel_archs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Use cpu.h from libwebp 1.5.0 to fix definition of AVX2 related stuff.
#
# Without this fix, all intel archs (x86, x64, evansport) fail to build
# due lacking definition of _mm256_cvtsi256_si32 and _mm256_storeu2_m128i
#
--- src/dsp/cpu.h.orig 2025-07-08 02:20:00.000000000 +0200
+++ src/dsp/cpu.h 2024-12-20 02:17:50.000000000 +0100
@@ -56,11 +56,6 @@
(defined(_M_X64) || defined(_M_IX86))
#define WEBP_MSC_SSE41 // Visual C++ SSE4.1 targets
#endif
-
-#if defined(_MSC_VER) && _MSC_VER >= 1700 && \
- (defined(_M_X64) || defined(_M_IX86))
-#define WEBP_MSC_AVX2 // Visual C++ AVX2 targets
-#endif
#endif

// WEBP_HAVE_* are used to indicate the presence of the instruction set in dsp
@@ -85,16 +80,6 @@
#define WEBP_HAVE_SSE41
#endif

-#if (defined(__AVX2__) || defined(WEBP_MSC_AVX2)) && \
- (!defined(HAVE_CONFIG_H) || defined(WEBP_HAVE_AVX2))
-#define WEBP_USE_AVX2
-#endif
-
-#if defined(WEBP_USE_AVX2) && !defined(WEBP_HAVE_AVX2)
-#define WEBP_HAVE_AVX2
-#endif
-
-#undef WEBP_MSC_AVX2
#undef WEBP_MSC_SSE41
#undef WEBP_MSC_SSE2

Loading
Loading