diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2024-01-16 13:05:55 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2024-01-16 16:41:23 +0000 |
commit | e55c86ee15b0f13370525216023dcd164c2d17a8 (patch) | |
tree | 0e98c8810ec0b0a3b4e3e67d48d54bd897a43a21 | |
parent | 4318244b2b7f8ab954301c94403bb11ad5568b13 (diff) |
pixman: update to 0.43.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1323>
3 files changed, 8 insertions, 148 deletions
diff --git a/recipes/pixman.recipe b/recipes/pixman.recipe index 7ad64b1c..03b8e124 100644 --- a/recipes/pixman.recipe +++ b/recipes/pixman.recipe @@ -7,22 +7,18 @@ from cerbero.tools.libtool import LibtoolLibrary class Recipe(recipe.Recipe): name = 'pixman' - version = '0.40.0' + version = '0.43.0' stype = SourceType.TARBALL btype = BuildType.MESON - url = 'https://cairographics.org/releases/pixman-%(version)s.tar.gz' - tarball_checksum = '6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc' + url = 'https://www.x.org/releases/individual/lib/pixman-%(version)s.tar.xz' + tarball_checksum = '5ba00c2879932c32d2ef878b6e802e3f898dda14c07e881dcfcc6a8f670e0cdc' meson_options = {'openmp': 'disabled', 'gtk': 'disabled', 'libpng': 'disabled', + 'demos' : 'disabled', 'tests' : 'disabled'} licenses = [{License.MIT: ['COPYING']}] - patches = [ - # https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/36 - 'pixman/0001-meson-add-option-to-skip-building-of-tests-and-demos.patch', - # https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/37 - 'pixman/0002-meson-add-cpu-features-path-option-for-Android.patch' - ] + patches = [] files_libs = ['libpixman-1'] files_devel = ['include/pixman-1', '%(libdir)s/pkgconfig/pixman-1.pc'] @@ -39,9 +35,11 @@ class Recipe(recipe.Recipe): # FIXME: Fails to link because of undefined __builtin_* symbols self.meson_options['iwmmxt'] = 'disabled' if self.config.target_arch in [Architecture.ARMv7, Architecture.ARM64]: - # Needs https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/71 + # Needs https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/78/ self.meson_options['neon'] = 'disabled' self.meson_options['arm-simd'] = 'disabled' + if self.config.target_arch == Architecture.ARM64: + self.meson_options['a64-neon'] = 'enabled' self.meson_options['cpu-features-path'] = os.path.join(self.config.toolchain_prefix, 'sources', 'android', 'cpufeatures') # Prevent symbol conflicts self.append_env('CFLAGS', diff --git a/recipes/pixman/0001-meson-add-option-to-skip-building-of-tests-and-demos.patch b/recipes/pixman/0001-meson-add-option-to-skip-building-of-tests-and-demos.patch deleted file mode 100644 index 9c258075..00000000 --- a/recipes/pixman/0001-meson-add-option-to-skip-building-of-tests-and-demos.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 77b6675d8340085a1434ad5672f77d44728a7782 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Sat, 30 May 2020 11:42:22 +0100 -Subject: [PATCH 1/2] meson: add option to skip building of tests and demos - ---- - meson.build | 7 +++++-- - meson_options.txt | 5 +++++ - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 1cec227..a247183 100644 ---- a/meson.build -+++ b/meson.build -@@ -528,8 +528,11 @@ version_conf.set('PIXMAN_VERSION_MICRO', split[2]) - add_project_arguments('-DHAVE_CONFIG_H', language : ['c']) - - subdir('pixman') --subdir('test') --subdir('demos') -+ -+if not get_option('tests').disabled() -+ subdir('test') -+ subdir('demos') -+endif - - pkg = import('pkgconfig') - pkg.generate( -diff --git a/meson_options.txt b/meson_options.txt -index 79ff4a3..781e258 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -101,3 +101,8 @@ option( - type : 'feature', - description : 'Use libpng' - ) -+option( -+ 'tests', -+ type : 'feature', -+ description : 'Build tests and demos' -+) --- -2.26.1 - diff --git a/recipes/pixman/0002-meson-add-cpu-features-path-option-for-Android.patch b/recipes/pixman/0002-meson-add-cpu-features-path-option-for-Android.patch deleted file mode 100644 index c9b27b85..00000000 --- a/recipes/pixman/0002-meson-add-cpu-features-path-option-for-Android.patch +++ /dev/null @@ -1,94 +0,0 @@ -From a63652174985ba4f65a1c249c15e675fdb7a20d7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Sat, 30 May 2020 13:24:46 +0100 -Subject: [PATCH 2/2] meson: add cpu-features-path option for Android - -Add option to include cpu-features.[ch] from a given path -into the build for platforms that don't provide this out -of the box. This is needed on Android. - -We copy the files into the build directory instead of using -them directly from the original location, for better build -hygiene, and so that they are automatically included as part -of CI build artifacts and such. - -Need to bump meson dep for fs module. ---- - meson.build | 2 +- - meson_options.txt | 5 +++++ - pixman/meson.build | 23 ++++++++++++++++++++++- - 3 files changed, 28 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index a247183..e8e80e8 100644 ---- a/meson.build -+++ b/meson.build -@@ -23,7 +23,7 @@ project( - ['c'], - version : '0.40.0', - license : 'MIT', -- meson_version : '>= 0.50.0', -+ meson_version : '>= 0.53.0', - default_options : ['buildtype=debugoptimized'], - ) - -diff --git a/meson_options.txt b/meson_options.txt -index 781e258..355a8f5 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -74,6 +74,11 @@ option( - type : 'feature', - description : 'Use GNU style inline assembler', - ) -+option( -+ 'cpu-features-path', -+ type : 'string', -+ description : 'Path to platform-specific cpu-features.[ch] for systems that do not provide it (e.g. Android)', -+) - option( - 'openmp', - type : 'feature', -diff --git a/pixman/meson.build b/pixman/meson.build -index f48357f..34330d2 100644 ---- a/pixman/meson.build -+++ b/pixman/meson.build -@@ -102,6 +102,27 @@ pixman_files = files( - 'pixman-utils.c', - ) - -+# Android cpu-features -+cpu_features_path = get_option('cpu-features-path') -+cpu_features_sources = [] -+if cpu_features_path != '' -+ cpu_features_h_path = join_paths(cpu_features_path, 'cpu-features.h') -+ cpu_features_c_path = join_paths(cpu_features_path, 'cpu-features.c') -+ fs = import('fs') -+ if not fs.exists(cpu_features_c_path) or not fs.exists(cpu_features_h_path) -+ error('Expected cpu-features.[ch] in directory ' + cpu_features_path) -+ endif -+ # copy into build directory -+ cpu_features_h = configure_file(output: 'cpu-features.h', -+ input: cpu_features_h_path, -+ copy: true) -+ cpu_features_c = configure_file(output: 'cpu-features.c', -+ input: cpu_features_c_path, -+ copy: true) -+ message('Using cpu-features.[ch] from ' + cpu_features_path) -+ cpu_features_sources = [cpu_features_c, cpu_features_h] -+endif -+ - # We cannot use 'link_with' or 'link_whole' because meson wont do the right - # thing for static archives. - _obs = [] -@@ -111,7 +132,7 @@ endforeach - - libpixman = library( - 'pixman-1', -- [pixman_files, config_h, version_h], -+ [pixman_files, config_h, version_h, cpu_features_sources], - objects : _obs, - c_args : libpixman_extra_cargs, - dependencies : [dep_m, dep_threads], --- -2.26.1 - |