From 51d38c52174544a7c8157e320bdfdbd4b3e34c9b Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 28 Jan 2023 02:44:21 +0000 Subject: [PATCH 1/6] libde265: update to 1.0.11 --- packages/graphics/libde265/package.mk | 4 +-- ...0002-Add-CMake-option-ENABLE-ENCODER.patch | 26 ------------------- 2 files changed, 2 insertions(+), 28 deletions(-) delete mode 100644 packages/graphics/libde265/patches/libde265-0002-Add-CMake-option-ENABLE-ENCODER.patch diff --git a/packages/graphics/libde265/package.mk b/packages/graphics/libde265/package.mk index a5c141543f..ae49c7eecf 100644 --- a/packages/graphics/libde265/package.mk +++ b/packages/graphics/libde265/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) PKG_NAME="libde265" -PKG_VERSION="1.0.9" -PKG_SHA256="29bc6b64bf658d81a4446a3f98e0e4636fd4fd3d971b072d440cef987d5439de" +PKG_VERSION="1.0.11" +PKG_SHA256="2f8f12cabbdb15e53532b7c1eb964d4e15d444db1be802505e6ac97a25035bab" PKG_LICENSE="LGPLv3" PKG_SITE="http://www.libde265.org" PKG_URL="https://github.com/strukturag/libde265/releases/download/v${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz" diff --git a/packages/graphics/libde265/patches/libde265-0002-Add-CMake-option-ENABLE-ENCODER.patch b/packages/graphics/libde265/patches/libde265-0002-Add-CMake-option-ENABLE-ENCODER.patch deleted file mode 100644 index 5af6f9edb8..0000000000 --- a/packages/graphics/libde265/patches/libde265-0002-Add-CMake-option-ENABLE-ENCODER.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 657a6ea9161d1afe780bb46c4df0e95473353e6b -Author: Rudi Heitbaum -Date: Sun Sep 4 00:45:25 2022 +0000 - - Add CMake options ENABLE_DECODER and ENABLE_ENCODER - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ff93c52..160dbb1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -68,6 +68,13 @@ if(MSVC) - add_definitions(-DHAVE_STDBOOL_H) - endif() - -+option(ENABLE_DECODER "Enable Decoder" ON) -+option(ENABLE_ENCODER "Enable Encoder" ON) -+ - add_subdirectory (libde265) --add_subdirectory (dec265) --add_subdirectory (enc265) -+if (ENABLE_DECODER) -+ add_subdirectory (dec265) -+endif() -+if (ENABLE_ENCODER) -+ add_subdirectory (enc265) -+endif() From 7235c5585b452dccb2ef07718eff0aa8c0b5a5ca Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sun, 12 Feb 2023 13:22:57 +0000 Subject: [PATCH 2/6] harfbuzz: update to 7.1.0 log: - https://github.com/harfbuzz/harfbuzz/releases/tag/7.0.0 - https://github.com/harfbuzz/harfbuzz/releases/tag/7.0.1 - https://github.com/harfbuzz/harfbuzz/releases/tag/7.1.0 --- packages/graphics/harfbuzz/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/graphics/harfbuzz/package.mk b/packages/graphics/harfbuzz/package.mk index 2d4ff34909..d2fc52e211 100644 --- a/packages/graphics/harfbuzz/package.mk +++ b/packages/graphics/harfbuzz/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="harfbuzz" -PKG_VERSION="6.0.0" -PKG_SHA256="1d1010a1751d076d5291e433c138502a794d679a7498d1268ee21e2d4a140eb4" +PKG_VERSION="7.1.0" +PKG_SHA256="f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b" PKG_LICENSE="GPL" PKG_SITE="http://www.freedesktop.org/wiki/Software/HarfBuzz" PKG_URL="https://github.com/harfbuzz/harfbuzz/releases/download/${PKG_VERSION}/harfbuzz-${PKG_VERSION}.tar.xz" From e642915733269c66d6319310e6b0b4d3e5d6ef3f Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 18 Feb 2023 00:57:25 +0000 Subject: [PATCH 3/6] libheif: update to 1.15.1 --- packages/graphics/libheif/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/graphics/libheif/package.mk b/packages/graphics/libheif/package.mk index 77f44274cc..7612a2fa79 100644 --- a/packages/graphics/libheif/package.mk +++ b/packages/graphics/libheif/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) PKG_NAME="libheif" -PKG_VERSION="1.14.2" -PKG_SHA256="d016905e247d6952cd7ee4f9b90957350b6a6caa466bc76fdfe6eb302b6d088c" +PKG_VERSION="1.15.1" +PKG_SHA256="28d5a376fe7954d2d03453f983aaa0b7486f475c27c7806bda31df9102325556" PKG_LICENSE="LGPLv3" PKG_SITE="https://www.libde265.org" PKG_URL="https://github.com/strukturag/libheif/releases/download/v${PKG_VERSION}/libheif-${PKG_VERSION}.tar.gz" From 1de182f5d8119f05e3de8a421df4302f54d631d9 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Tue, 21 Feb 2023 13:20:21 +0000 Subject: [PATCH 4/6] pango: update to 1.50.14 --- packages/graphics/pango/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/graphics/pango/package.mk b/packages/graphics/pango/package.mk index f7a415de94..82a6cd275f 100644 --- a/packages/graphics/pango/package.mk +++ b/packages/graphics/pango/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="pango" -PKG_VERSION="1.50.12" -PKG_SHA256="caef96d27bbe792a6be92727c73468d832b13da57c8071ef79b9df69ee058fe3" +PKG_VERSION="1.50.14" +PKG_SHA256="1d67f205bfc318c27a29cfdfb6828568df566795df0cb51d2189cde7f2d581e8" PKG_LICENSE="GPL" PKG_SITE="http://www.pango.org/" PKG_URL="https://download.gnome.org/sources/pango/${PKG_VERSION:0:4}/pango-${PKG_VERSION}.tar.xz" From 727fdb8b72b123050627e62a3009bb057dc59754 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Mon, 27 Feb 2023 15:45:36 +0000 Subject: [PATCH 5/6] cairo: update to 1.17.8 and meson breaking changes in 1.17.8: - migrate to meson - drop GL and GLES drawing support news: - https://www.cairographics.org/news/cairo-1.17.8/ --- packages/graphics/cairo/package.mk | 104 ++++++----------------------- 1 file changed, 21 insertions(+), 83 deletions(-) diff --git a/packages/graphics/cairo/package.mk b/packages/graphics/cairo/package.mk index 0d08149e53..02ddeee4f4 100644 --- a/packages/graphics/cairo/package.mk +++ b/packages/graphics/cairo/package.mk @@ -3,103 +3,41 @@ # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) PKG_NAME="cairo" -PKG_VERSION="1.17.6" -PKG_SHA256="4eebc4c2bad0402bc3f501db184417094657d111fb6c06f076a82ea191fe1faf" +PKG_VERSION="1.17.8" +PKG_SHA256="5b10c8892d1b58d70d3f0ba5b47863a061262fa56b9dc7944161f8c8b783bc64" PKG_LICENSE="LGPL" PKG_SITE="https://cairographics.org/" -PKG_URL="https://download.gnome.org/sources/cairo/$(get_pkg_version_maj_min)/${PKG_NAME}-${PKG_VERSION}.tar.xz" +PKG_URL="https://cairographics.org/snapshots/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_DEPENDS_TARGET="toolchain zlib freetype fontconfig glib libpng pixman" PKG_LONGDESC="Cairo is a vector graphics library with cross-device output support." -PKG_TOOLCHAIN="configure" configure_package() { if [ "${DISPLAYSERVER}" = "x11" ]; then PKG_DEPENDS_TARGET+=" libXrender libX11 mesa" fi - - if [ "${OPENGL_SUPPORT}" = "yes" ]; then - PKG_DEPENDS_TARGET+=" ${OPENGL}" - elif [ "${OPENGLES_SUPPORT}" = "yes" ]; then - PKG_DEPENDS_TARGET+=" ${OPENGLES}" - fi } pre_configure_target() { - PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \ - --enable-shared \ - --disable-static \ - --disable-gtk-doc \ - --enable-largefile \ - --enable-atomic \ - --disable-gcov \ - --disable-valgrind \ - --disable-xcb \ - --disable-xlib-xcb \ - --disable-xcb-shm \ - --disable-qt \ - --disable-quartz \ - --disable-quartz-font \ - --disable-quartz-image \ - --disable-win32 \ - --disable-win32-font \ - --disable-os2 \ - --disable-beos \ - --disable-cogl \ - --disable-drm \ - --disable-gallium \ - --enable-png \ - --disable-directfb \ - --disable-vg \ - --disable-wgl \ - --disable-script \ - --enable-ft \ - --enable-fc \ - --enable-ps \ - --enable-pdf \ - --enable-svg \ - --disable-test-surfaces \ - --disable-tee \ - --disable-xml \ - --enable-pthread \ - --enable-gobject=yes \ - --disable-full-testing \ - --disable-rpath \ - --disable-trace \ - --enable-interpreter \ - --disable-symbol-lookup \ - --enable-some-floating-point \ - --with-gnu-ld" + PKG_MESON_OPTS_TARGET="-Ddwrite=disabled \ + -Dfontconfig=enabled \ + -Dfreetype=enabled \ + -Dpng=enabled \ + -Dquartz=disabled \ + -Dtee=disabled \ + -Dxcb=disabled \ + -Dxlib-xcb=disabled \ + -Dxml=disabled \ + -Dzlib=enabled \ + -Dtests=disabled \ + -Dgtk2-utils=disabled \ + -Dglib=enabled \ + -Dspectre=disabled \ + -Dsymbol-lookup=disabled \ + -Dgtk_doc=false" if [ "${DISPLAYSERVER}" = "x11" ]; then - PKG_CONFIGURE_OPTS_TARGET+=" --x-includes="${SYSROOT_PREFIX}/usr/include" \ - --x-libraries="${SYSROOT_PREFIX}/usr/lib" \ - --enable-xlib \ - --enable-xlib-xrender \ - --with-x" + PKG_MESON_OPTS_TARGET+=" -Dxlib=enabled" else - PKG_CONFIGURE_OPTS_TARGET+=" --disable-xlib \ - --disable-xlib-xrender \ - --without-x" - fi - - if [ "${OPENGL_SUPPORT}" = "yes" ]; then - PKG_CONFIGURE_OPTS_TARGET+=" --enable-gl \ - --enable-glx \ - --disable-glesv2 \ - --disable-egl" - elif [ "${OPENGLES_SUPPORT}" = "yes" ]; then - PKG_CONFIGURE_OPTS_TARGET+=" --disable-gl \ - --disable-glx \ - --enable-glesv2 \ - --enable-egl" - else - PKG_CONFIGURE_OPTS_TARGET+=" --disable-gl \ - --disable-glx \ - --disable-glesv2 \ - --disable-egl" + PKG_MESON_OPTS_TARGET+=" -Dxlib=disabled" fi } - -post_configure_target() { - libtool_remove_rpath libtool -} From 4e960c73aa573568e9d2dfe3f16204da5949ca9d Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Wed, 31 Aug 2022 10:04:35 +0000 Subject: [PATCH 6/6] lcms2: update to 2.15 With the change "[RFC] add prefer_static built-in option" (9603) from https://github.com/mesonbuild/meson Also: 6697 and 6629 It is now possible to have meson call pkg-config with the --static flag and bring in the Requires.private dependent libaries when linking. There is no further need to modify the .pc files (or the linker flags.) The use of the -Dprefer_static=true will cause the linker to prefer and use the static library if it is available, which might not be intended if the shared library is also available. This option will force the static linkage, whereas passing the libraries from pkg-config --static to ld would pick the shared libraries over the static libraries. With the linker options removing any unnecessary libraries: -Wl,--as-needed, -Wl,-dead_strip_dylibs The example below is how to force the linker to use the foo static library when a foo shared library is available. gcc main.o -Wl,-Bstatic -lfoo -Wl,-Bdynamic Which is what this meson option `prefer_static=true` will do for all static libaries that it finds (regardless of if shared libraries are available.) ref: https://stackoverflow.com/questions/71078862/prefer-static-libraries-but-fallback-to-shared-if-not-found --- packages/graphics/lcms2/package.mk | 6 +-- .../patches/lcms2-370-add-utils-meson.patch | 38 +++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 packages/graphics/lcms2/patches/lcms2-370-add-utils-meson.patch diff --git a/packages/graphics/lcms2/package.mk b/packages/graphics/lcms2/package.mk index 943b541935..f6298372bd 100644 --- a/packages/graphics/lcms2/package.mk +++ b/packages/graphics/lcms2/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv) PKG_NAME="lcms2" -PKG_VERSION="2.14" -PKG_SHA256="28474ea6f6591c4d4cee972123587001a4e6e353412a41b3e9e82219818d5740" +PKG_VERSION="2.15" +PKG_SHA256="b20cbcbd0f503433be2a4e81462106fa61050a35074dc24a4e356792d971ab39" PKG_LICENSE="MIT/GPLv3" PKG_SITE="http://www.littlecms.com" PKG_URL="https://github.com/mm2/Little-CMS/releases/download/lcms${PKG_VERSION}/lcms2-${PKG_VERSION}.tar.gz" @@ -11,4 +11,4 @@ PKG_DEPENDS_TARGET="toolchain tiff" PKG_LONGDESC="An small-footprint color management engine, with special focus on accuracy and performance." PKG_BUILD_FLAGS="+pic" -PKG_MESON_OPTS_TARGET="--default-library static" +PKG_MESON_OPTS_TARGET="-Ddefault_library=static -Dprefer_static=true -Dutils=true" diff --git a/packages/graphics/lcms2/patches/lcms2-370-add-utils-meson.patch b/packages/graphics/lcms2/patches/lcms2-370-add-utils-meson.patch new file mode 100644 index 0000000000..85e7f89140 --- /dev/null +++ b/packages/graphics/lcms2/patches/lcms2-370-add-utils-meson.patch @@ -0,0 +1,38 @@ +From 0cbb7ac63af7eabb6992361fa0f7ee941deaf0c3 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Tue, 14 Mar 2023 14:13:11 +0000 +Subject: [PATCH] Allow optional build of utils using meson + +Signed-off-by: Rudi Heitbaum +--- + meson.build | 5 ++++- + meson_options.txt | 1 + + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index f0492002b..91152f8aa 100644 +--- a/meson.build ++++ b/meson.build +@@ -100,7 +100,10 @@ deps = [m_dep, threads_dep] + subdir('include') + subdir('src') + subdir('testbed') +-subdir('utils') ++ ++if get_option('utils') ++ subdir('utils') ++endif + + if get_option('samples') + subdir('utils/samples') +diff --git a/meson_options.txt b/meson_options.txt +index 5adc46441..ae41f38cf 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -2,5 +2,6 @@ option('jpeg', type: 'feature', value: 'auto', description: 'Use JPEG') + option('tiff', type: 'feature', value: 'auto', description: 'Use LibTiff') + + option('samples', type: 'boolean', value: 'false', description: 'Build the samples') ++option('utils', type: 'boolean', value: 'true', description: 'Build the utils') + option('fastfloat', type: 'boolean', value: 'false', description: 'Build and install the fast float plugin, use only if GPL 3.0 is acceptable') + option('threaded', type: 'boolean', value: 'false', description: 'Build and install the multi threaded plugin, use only if GPL 3.0 is acceptable')