diff options
-rw-r--r-- | cerbero/build/recipe.py | 2 | ||||
-rw-r--r-- | cerbero/enums.py | 1 | ||||
-rw-r--r-- | packages/gstreamer-1.0-net.package | 6 | ||||
-rw-r--r-- | recipes/libpsl.recipe | 20 | ||||
-rw-r--r-- | recipes/libpsl/0001-Initial-import-of-meson-build-files-from-upstream.patch | 356 | ||||
-rw-r--r-- | recipes/libpsl/0002-meson-Do-not-build-tests-on-iOS.patch | 33 | ||||
-rw-r--r-- | recipes/libsoup.recipe | 54 | ||||
-rw-r--r-- | recipes/libsoup/0001-Rip-out-sqlite-based-cookie-storage.patch | 120 | ||||
-rw-r--r-- | recipes/libsoup/0001-build-Fix-enumtypes-on-MinGW-inside-MSYS-Windows.patch | 52 | ||||
-rw-r--r-- | recipes/libsoup/0001-configure.ac-Don-t-check-intltool-version.patch | 39 | ||||
-rw-r--r-- | recipes/libsoup/4b924e57-tld-parser-use-Python-3.patch | 26 | ||||
-rw-r--r-- | recipes/sqlite3.recipe | 24 | ||||
-rw-r--r-- | recipes/sqlite3/0001-Add-Meson-build-files-based-on-wrapdb.patch | 73 |
13 files changed, 527 insertions, 279 deletions
diff --git a/cerbero/build/recipe.py b/cerbero/build/recipe.py index 6bb5035d..9994ab3f 100644 --- a/cerbero/build/recipe.py +++ b/cerbero/build/recipe.py @@ -517,6 +517,8 @@ SOFTWARE LICENSE COMPLIANCE.\n\n''' if lobj == License.Proprietary: # No license file needed, binaries will not be publicly redistributed return [] + if lobj == License.PublicDomain: + return [] if lobj.acronym.startswith(('BSD', 'MIT')): msg = '{}.recipe: must specify the license file for BSD and MIT licenses ' \ 'using a dict of the form: ' \ diff --git a/cerbero/enums.py b/cerbero/enums.py index a39d23d8..54ee261d 100644 --- a/cerbero/enums.py +++ b/cerbero/enums.py @@ -254,6 +254,7 @@ class License: 'OpenSSL License') Proprietary = LicenseDescription('Proprietary', 'Proprietary License') + PublicDomain = LicenseDescription('PublicDomain', 'Public Domain') Misc = LicenseDescription('Misc', 'Miscellaneous license information') diff --git a/packages/gstreamer-1.0-net.package b/packages/gstreamer-1.0-net.package index c64c9598..4bd467d0 100644 --- a/packages/gstreamer-1.0-net.package +++ b/packages/gstreamer-1.0-net.package @@ -10,9 +10,9 @@ class Package(custom.GStreamer, package.Package): uuid = '2f9ca3f5-3b3b-4b4d-8cc9-6c08f21af807' deps = ['gstreamer-1.0-core', 'base-crypto'] - files = ['libsoup:libs', 'libsrtp:libs', 'libnice:libs', 'libnice:plugins_net', - 'srt:libs', 'libusrsctp:libs', 'gst-plugins-base-1.0:plugins_net', - 'gst-plugins-good-1.0:plugins_net', + files = ['libsoup:libs', 'libpsl:libs', 'sqlite3:libs', 'libsrtp:libs', + 'libnice:libs', 'libnice:plugins_net', 'srt:libs', 'libusrsctp:libs', + 'gst-plugins-base-1.0:plugins_net', 'gst-plugins-good-1.0:plugins_net', 'gst-plugins-ugly-1.0:plugins_net', 'gst-plugins-bad-1.0:plugins_net', 'gst-rtsp-server-1.0:libs:typelibs:plugins_net'] files_devel = ['libnice:plugins_net_devel', diff --git a/recipes/libpsl.recipe b/recipes/libpsl.recipe new file mode 100644 index 00000000..702aec79 --- /dev/null +++ b/recipes/libpsl.recipe @@ -0,0 +1,20 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python + +class Recipe(recipe.Recipe): + name = 'libpsl' + version = '0.21.0' + licenses = [{License.MIT: ['COPYING']}] + stype = SourceType.TARBALL + btype = BuildType.MESON + url = 'https://github.com/rockdaboot/libpsl/releases/download/libpsl-%(version)s/libpsl-%(version)s.tar.gz' + tarball_checksum = '41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12' + meson_options = {'runtime': 'no', 'builtin': 'no'} + + patches = ['libpsl/0001-Initial-import-of-meson-build-files-from-upstream.patch'] + + files_libs = ['libpsl'] + files_devel = ['include/libpsl.h', 'lib/pkgconfig/libpsl.pc'] + + def prepare(self): + if self.config.target_platform == Platform.IOS: + self.patches += ['libpsl/0002-meson-Do-not-build-tests-on-iOS.patch'] diff --git a/recipes/libpsl/0001-Initial-import-of-meson-build-files-from-upstream.patch b/recipes/libpsl/0001-Initial-import-of-meson-build-files-from-upstream.patch new file mode 100644 index 00000000..f5261586 --- /dev/null +++ b/recipes/libpsl/0001-Initial-import-of-meson-build-files-from-upstream.patch @@ -0,0 +1,356 @@ +From e5ee1ed6fe07a8be0708a5b367da02cff96065a8 Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan <nirbheek@centricular.com> +Date: Tue, 25 Feb 2020 15:45:01 +0530 +Subject: [PATCH] Initial import of meson build files from upstream + +Upstream has these build files, but they forgot to dist them while +making the last release 0.21.0. These are the meson build files from +that git tag. +--- + fuzz/meson.build | 24 +++++++ + include/meson.build | 26 ++++++++ + meson.build | 148 ++++++++++++++++++++++++++++++++++++++++++++ + meson_options.txt | 16 +++++ + src/meson.build | 31 ++++++++++ + tests/meson.build | 37 +++++++++++ + tools/meson.build | 4 ++ + 7 files changed, 286 insertions(+) + create mode 100644 fuzz/meson.build + create mode 100644 include/meson.build + create mode 100644 meson.build + create mode 100644 meson_options.txt + create mode 100644 src/meson.build + create mode 100644 tests/meson.build + create mode 100644 tools/meson.build + +diff --git a/fuzz/meson.build b/fuzz/meson.build +new file mode 100644 +index 0000000..fae7cba +--- /dev/null ++++ b/fuzz/meson.build +@@ -0,0 +1,24 @@ ++fuzzer_cargs = [ ++ '-DSRCDIR="@0@"'.format(meson.current_source_dir()), ++ '-DTEST_RUN', ++] ++ ++foreach test_case : ['fuzzer', 'load_fuzzer', 'load_dafsa_fuzzer'] ++ if enable_runtime == 'libidn2' ++ test_name = 'libpsl_idn2_' + test_case ++ elif enable_runtime == 'libicu' ++ test_name = 'libpsl_icu_' + test_case ++ elif enable_runtime == 'libidn' ++ test_name = 'libpsl_idn_' + test_case ++ else ++ test_name = 'libpsl_' + test_case ++ endif ++ source_file = 'libpsl_@0@.c'.format(test_case) ++ exe = executable(test_name, source_file, 'main.c', ++ link_with : libpsl, ++ c_args : fuzzer_cargs, ++ include_directories : [configinc, includedir], ++ dependencies : libicu_dep, ++ ) ++ test(test_name, exe) ++endforeach +diff --git a/include/meson.build b/include/meson.build +new file mode 100644 +index 0000000..bed5b75 +--- /dev/null ++++ b/include/meson.build +@@ -0,0 +1,26 @@ ++version = meson.project_version() ++version_arr = version.split('.') ++major = version_arr[0].to_int() ++minor = version_arr[1].to_int() ++patch = version_arr[2].to_int() ++ ++cdata = configuration_data() ++cdata.set('LIBPSL_VERSION', version) ++cdata.set('LIBPSL_VERSION_MAJOR', major) ++cdata.set('LIBPSL_VERSION_MINOR', minor) ++cdata.set('LIBPSL_VERSION_PATCH', patch) ++ ++hex = '0123456789abcdef' ++ver = '0x@0@@1@@2@@3@@4@@5@' ++cdata.set('LIBPSL_VERSION_NUMBER', ++ ver.format( ++ hex[major / 16], hex[major % 16], ++ hex[minor / 16], hex[minor % 16], ++ hex[patch / 16], hex[minor % 16])) ++ ++libpsl_h = configure_file( ++ input : 'libpsl.h.in', ++ output : 'libpsl.h', ++ configuration : cdata) ++ ++install_headers(libpsl_h) +diff --git a/meson.build b/meson.build +new file mode 100644 +index 0000000..773e6af +--- /dev/null ++++ b/meson.build +@@ -0,0 +1,148 @@ ++project('libpsl', 'c', ++ version : '0.20.2', ++ meson_version : '>=0.47.0') ++ ++cc = meson.get_compiler('c') ++ ++enable_runtime = get_option('runtime') ++enable_builtin = get_option('builtin') ++ ++# We need to know the build type to determine what .lib files we need on Visual Studio ++# for dependencies that don't normally come with pkg-config files for Visual Studio builds ++buildtype = get_option('buildtype') ++ ++notfound = dependency('', required : false) ++libidn2_dep = notfound ++libicu_dep = notfound ++libidn_dep = notfound ++libunistring = notfound ++networking_deps = notfound ++ ++# FIXME: Cleanup this when Meson gets 'feature-combo': ++# https://github.com/mesonbuild/meson/issues/4566 ++# Dependency fallbacks would help too: ++# https://github.com/mesonbuild/meson/pull/4595 ++if ['libidn2', 'auto'].contains(enable_runtime) or ['libidn2', 'auto'].contains(enable_builtin) ++ libidn2_dep = dependency('libidn2', required : false) ++ if not libidn2_dep.found() and cc.has_header('idn2.h') ++ libidn2_dep = cc.find_library('idn2', required : false) ++ endif ++ if libidn2_dep.found() ++ if enable_runtime == 'auto' ++ enable_runtime = 'libidn2' ++ endif ++ if enable_builtin == 'auto' ++ enable_builtin = 'libidn2' ++ endif ++ elif [enable_runtime, enable_builtin].contains('libidn2') ++ error('You requested libidn2 but it is not installed.') ++ endif ++endif ++ ++if ['libicu', 'auto'].contains(enable_runtime) or ['libicu', 'auto'].contains(enable_builtin) ++ libicu_dep = dependency('icu-uc', required : false) ++ if not libicu_dep.found() and cc.has_header('unicode/ustring.h') ++ # MSVC: the debug configuration of ICU generated the libraries with d suffix ++ # we must handle this and search for the right library depending on the ++ # build type. Note debugoptimized is just a release build with .pdb files enabled ++ if cc.get_id() == 'msvc' and buildtype == 'debug' ++ libicu_dep = cc.find_library('icuucd', required : false) ++ else ++ libicu_dep = cc.find_library('icuuc', required : false) ++ endif ++ endif ++ if libicu_dep.found() ++ if enable_runtime == 'auto' ++ enable_runtime = 'libicu' ++ endif ++ if enable_builtin == 'auto' ++ enable_builtin = 'libicu' ++ endif ++ elif [enable_runtime, enable_builtin].contains('libicu') ++ error('You requested libicu but it is not installed.') ++ endif ++endif ++ ++if ['libidn', 'auto'].contains(enable_runtime) or ['libidn', 'auto'].contains(enable_builtin) ++ libidn_dep = dependency('libidn', required : false) ++ if not libidn_dep.found() and cc.has_header('idna.h') ++ libidn_dep = cc.find_library('idn', required : false) ++ endif ++ if libidn_dep.found() ++ if enable_runtime == 'auto' ++ enable_runtime = 'libidn' ++ endif ++ if enable_builtin == 'auto' ++ enable_builtin = 'libidn' ++ endif ++ elif [enable_runtime, enable_builtin].contains('libidn') ++ error('You requested libidn but it is not installed.') ++ endif ++endif ++ ++if libidn2_dep.found() or libidn_dep.found() ++ # Check for libunistring, we need it for psl_str_to_utf8lower() ++ libunistring = cc.find_library('unistring') ++endif ++ ++if host_machine.system() == 'windows' ++ networking_deps = cc.find_library('ws2_32') ++endif ++ ++if enable_runtime == 'auto' ++ enable_runtime = 'no' ++endif ++if enable_builtin == 'auto' ++ enable_builtin = 'no' ++endif ++ ++config = configuration_data() ++config.set_quoted('PACKAGE_VERSION', meson.project_version()) ++config.set('WITH_LIBIDN2', enable_runtime == 'libidn2') ++config.set('WITH_LIBICU', enable_runtime == 'libicu') ++config.set('WITH_LIBIDN', enable_runtime == 'libidn') ++config.set('BUILTIN_GENERATOR_LIBIDN2', enable_builtin == 'libidn2') ++config.set('BUILTIN_GENERATOR_LIBICU', enable_builtin == 'libicu') ++config.set('BUILTIN_GENERATOR_LIBIDN', enable_builtin == 'libidn') ++config.set('HAVE_UNISTD_H', cc.check_header('unistd.h')) ++config.set('HAVE_STDINT_H', cc.check_header('stdint.h')) ++config.set('HAVE_ALLOCA_H', cc.check_header('alloca.h')) ++config.set('HAVE_ALLOCA', cc.has_function('alloca')) ++config.set('HAVE_STRNDUP', cc.has_function('strndup')) ++config.set('HAVE_CLOCK_GETTIME', cc.has_function('clock_gettime')) ++config.set('HAVE_FMEMOPEN', cc.has_function('fmemopen')) ++config.set('HAVE_NL_LANGINFO', cc.has_function('nl_langinfo')) ++configure_file(output : 'config.h', configuration : config) ++ ++configinc = include_directories('.') ++includedir = include_directories('include') ++ ++psl_distfile = get_option('psl_distfile') ++psl_file = get_option('psl_file') ++if psl_file == '' ++ psl_file = join_paths(meson.current_source_dir(), 'list', 'public_suffix_list.dat') ++endif ++psl_test_file = get_option('psl_testfile') ++if psl_test_file == '' ++ psl_test_file = join_paths(meson.current_source_dir(), 'list', 'tests', 'tests.txt') ++endif ++ ++python = import('python').find_installation() ++pkgconfig = import('pkgconfig') ++ ++if cc.get_id() == 'msvc' ++ if not cc.has_header_symbol('stdio.h', 'snprintf') ++ if cc.has_header_symbol('stdio.h', '_snprintf') ++ add_project_arguments('-Dsnprintf=_snprintf', language: 'c') ++ endif ++ endif ++ if cc.has_header_symbol('malloc.h', '_alloca') ++ add_project_arguments('-Dalloca=_alloca', language: 'c') ++ endif ++endif ++ ++subdir('include') ++subdir('src') ++subdir('tools') ++subdir('tests') ++subdir('fuzz') +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 0000000..eb80489 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,16 @@ ++option('runtime', type : 'combo', ++ choices : ['libidn2', 'libicu', 'libidn', 'no', 'auto'], value : 'auto', ++ description : 'Specify the IDNA library used for libpsl run-time conversions') ++ ++option('builtin', type : 'combo', ++ choices : ['libidn2', 'libicu', 'libidn', 'no', 'auto'], value : 'auto', ++ description : 'Specify the IDNA library used for built-in data generation') ++ ++option('psl_distfile', type : 'string', value : '', ++ description : 'path to distribution-wide PSL file') ++ ++option('psl_file', type : 'string', value : '', ++ description : 'path to PSL file') ++ ++option('psl_testfile', type : 'string', value : '', ++ description : 'path to PSL test file') +diff --git a/src/meson.build b/src/meson.build +new file mode 100644 +index 0000000..9bce343 +--- /dev/null ++++ b/src/meson.build +@@ -0,0 +1,31 @@ ++psl_make_dafsa = find_program('psl-make-dafsa') ++ ++suffixes_dafsa_h = custom_target('suffixes_dafsa.h', ++ input : psl_file, ++ output : 'suffixes_dafsa.h', ++ command : [psl_make_dafsa, '--output-format=cxx+', '@INPUT@', '@OUTPUT@']) ++ ++sources = [ ++ 'lookup_string_in_fixed_set.c', ++ 'psl.c', ++] ++ ++cargs = [ ++ '-DHAVE_CONFIG_H', ++ '-DBUILDING_PSL', ++ '-DPSL_DISTFILE="@0@"'.format(psl_distfile), ++] ++ ++libpsl = library('psl', sources, suffixes_dafsa_h, ++ include_directories : [configinc, includedir], ++ c_args : cargs, ++ dependencies : [libidn2_dep, libidn_dep, libicu_dep, libunistring, networking_deps], ++ install: true, ++) ++ ++pkgconfig.generate(libpsl, ++ name : 'libpsl', ++ description : 'Public Suffix List C library') ++ ++libpsl_dep = declare_dependency(link_with : libpsl, ++ include_directories : includedir) +diff --git a/tests/meson.build b/tests/meson.build +new file mode 100644 +index 0000000..b0508a1 +--- /dev/null ++++ b/tests/meson.build +@@ -0,0 +1,37 @@ ++psl_dafsa = custom_target('psl.dafsa', ++ input : psl_file, ++ output : 'psl.dafsa', ++ command : [psl_make_dafsa, '--output-format=binary', '@INPUT@', '@OUTPUT@']) ++ ++psl_ascii_dafsa = custom_target('psl_ascii.dafsa', ++ input : psl_file, ++ output : 'psl_ascii.dafsa', ++ command : [psl_make_dafsa, '--output-format=binary', '--encoding=ascii', '@INPUT@', '@OUTPUT@']) ++ ++tests_cargs = [ ++ '-DHAVE_CONFIG_H', ++ '-DSRCDIR="@0@"'.format(meson.current_source_dir()), ++ '-DPSL_FILE="@0@"'.format(psl_file), ++ '-DPSL_TESTFILE="@0@"'.format(psl_test_file), ++ '-DPSL_DAFSA="@0@"'.format(psl_dafsa.full_path()), ++ '-DPSL_ASCII_DAFSA="@0@"'.format(psl_ascii_dafsa.full_path()), ++] ++ ++tests = [ ++ 'test-is-public', ++ 'test-is-public-all', ++ 'test-is-cookie-domain-acceptable', ++] ++ ++if enable_builtin != 'no' ++ tests += ['test-is-public-builtin', 'test-registrable-domain'] ++endif ++ ++foreach test_name : tests ++ source = test_name + '.c' ++ exe = executable(test_name, source, ++ c_args : tests_cargs, ++ link_with : libpsl, ++ include_directories : [configinc, includedir]) ++ test(test_name, exe, depends : [psl_dafsa, psl_ascii_dafsa]) ++endforeach +diff --git a/tools/meson.build b/tools/meson.build +new file mode 100644 +index 0000000..2cbdae9 +--- /dev/null ++++ b/tools/meson.build +@@ -0,0 +1,4 @@ ++psl = executable('psl', 'psl.c', ++ link_with : libpsl, ++ include_directories : [configinc, includedir], ++ c_args : ['-DHAVE_CONFIG_H']) +-- +2.24.1 + diff --git a/recipes/libpsl/0002-meson-Do-not-build-tests-on-iOS.patch b/recipes/libpsl/0002-meson-Do-not-build-tests-on-iOS.patch new file mode 100644 index 00000000..c61e571e --- /dev/null +++ b/recipes/libpsl/0002-meson-Do-not-build-tests-on-iOS.patch @@ -0,0 +1,33 @@ +From efbb9ed8d55f6c3826b71b4025514dfc0aad34ae Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan <nirbheek@centricular.com> +Date: Thu, 27 Feb 2020 12:56:13 +0530 +Subject: [PATCH 2/2] meson: Do not build tests on iOS + +The tests use `system()` which is explicitly marked as not available +on iOS: + +``` + ../tests/test-is-public.c:200:11: error: 'system' is unavailable: not available on iOS + return system(cmd) != 0; + ^ +/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/usr/include/stdlib.h:190:6: note: 'system' has been explicitly marked unavailable here +int system(const char *) __DARWIN_ALIAS_C(system); + ^ +``` +--- + meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 773e6af..eb17810 100644 +--- a/meson.build ++++ b/meson.build +@@ -144,5 +144,3 @@ endif + subdir('include') + subdir('src') + subdir('tools') +-subdir('tests') +-subdir('fuzz') +-- +2.21.1 (Apple Git-122.3) + diff --git a/recipes/libsoup.recipe b/recipes/libsoup.recipe index a6a40928..4fde2394 100644 --- a/recipes/libsoup.recipe +++ b/recipes/libsoup.recipe @@ -1,50 +1,26 @@ # -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python -from pathlib import Path - class Recipe(recipe.Recipe): name = 'libsoup' - version = '2.60.3' + version = '2.68.3' licenses = [License.LGPLv2Plus] stype = SourceType.TARBALL + btype = BuildType.MESON url = 'gnome://' - tarball_checksum = '1b0dc762f23abe4e0d29b77370e539fd35f31d8e8e0318d6ddccff395be68a22' - autoreconf = True - autoreconf_sh = 'gtkdocize && autoreconf --force --install --verbose' - configure_options = '--without-gnome --disable-more-warnings --disable-vala --with-gssapi=no \ - --disable-always-build-tests --disable-glibtest --disable-installed-tests' - deps = ['libxml2', 'glib', 'glib-networking'] - patches = ['libsoup/0001-Rip-out-sqlite-based-cookie-storage.patch', - 'libsoup/0001-build-Fix-enumtypes-on-MinGW-inside-MSYS-Windows.patch', - 'libsoup/0001-configure.ac-Don-t-check-intltool-version.patch',] + tarball_checksum = '534bb08e35b0ff3702f3adfde87d3441e27c12f9f5ec351f056fe04cba02bafb' + meson_options = {'gnome': 'false', 'vapi': 'disabled', 'tls_check': 'false'} + deps = ['libxml2', 'glib', 'glib-networking', 'libpsl'] + + # sqlite ships with the system on macOS and iOS. Android also ships with + # sqlite3, but it's not available from the NDK; only from Java. + # We also build it on Linux to avoid the potential for bugs with + # use_system_libs and to support cross-linux. + platform_deps = { + Platform.ANDROID: ['sqlite3'], + Platform.WINDOWS: ['sqlite3'], + Platform.LINUX: ['sqlite3'], + } files_libs = ['libsoup-2.4'] files_devel = ['include/libsoup-2.4', 'lib/pkgconfig/libsoup-2.4.pc'] files_typelibs = ['Soup-2.4'] - - - def prepare(self): - if self.config.target_platform != Platform.LINUX: - self.configure_options += ' --disable-gtk-doc' - - if self.config.platform != Platform.WINDOWS: - self.patches += ['libsoup/4b924e57-tld-parser-use-Python-3.patch'] - - if self.config.target_platform != Platform.LINUX or \ - self.config.target_distro_version in \ - [DistroVersion.DEBIAN_SQUEEZE, - DistroVersion.UBUNTU_MAVERICK, - DistroVersion.UBUNTU_LUCID]: - self.deps += [ 'glib-networking' ] - if self.config.target_platform in [Platform.WINDOWS, Platform.IOS]: - self.configure_options += ' --disable-tls-check' - - async def compile(self): - # glib-mkenums has #!/usr/bin/env python3, which looks for `python3`, - # but on Windows Python 3 is `python.exe`. Meson already handles this - # for us, but Autotools can't. - # NOTE: Remove this when the recipe is ported to Meson. - if self.config.platform == Platform.WINDOWS: - with (Path(self.build_dir) / 'libsoup/python3').open('w') as f: - f.write('#!/bin/sh\n"{}" "$@"'.format(self.config.python_exe)) - await super().compile() diff --git a/recipes/libsoup/0001-Rip-out-sqlite-based-cookie-storage.patch b/recipes/libsoup/0001-Rip-out-sqlite-based-cookie-storage.patch deleted file mode 100644 index 7c441c91..00000000 --- a/recipes/libsoup/0001-Rip-out-sqlite-based-cookie-storage.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 0b5f5bfb4a46194490fd04aa8503502ee8db97e1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com> -Date: Fri, 14 Feb 2014 15:05:18 +0100 -Subject: [PATCH] Rip out sqlite-based cookie storage - -We don't need that and it will increase the binary size for no good reason. ---- - configure.ac | 4 ---- - libsoup/Makefile.am | 6 ------ - libsoup/soup-autocleanups.h | 1 - - libsoup/soup-gnome.h | 1 - - libsoup/soup.h | 1 - - 5 files changed, 13 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 3cabf3b..68c5da7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -94,10 +94,6 @@ PKG_CHECK_MODULES(XML, libxml-2.0) - AC_SUBST(XML_CFLAGS) - AC_SUBST(XML_LIBS) - --PKG_CHECK_MODULES(SQLITE, sqlite3) --AC_SUBST(SQLITE_CFLAGS) --AC_SUBST(SQLITE_LIBS) -- - dnl *********************** - dnl *** Check for Win32 *** - dnl *********************** -diff --git a/libsoup/Makefile.am b/libsoup/Makefile.am -index 2022bf3..6ac4909 100644 ---- a/libsoup/Makefile.am -+++ b/libsoup/Makefile.am -@@ -22,7 +22,6 @@ AM_CPPFLAGS = \ - $(SOUP_DEBUG_FLAGS) \ - $(GLIB_CFLAGS) \ - $(XML_CFLAGS) \ -- $(SQLITE_CFLAGS) \ - $(CODE_COVERAGE_CFLAGS) \ - $(KRB5_CFLAGS) - -@@ -42,7 +41,6 @@ soup_headers = \ - soup-content-sniffer.h \ - soup-cookie.h \ - soup-cookie-jar.h \ -- soup-cookie-jar-db.h \ - soup-cookie-jar-text.h \ - soup-date.h \ - soup-form.h \ -@@ -102,7 +100,6 @@ libsoup_2_4_la_LIBADD = \ - $(GLIB_LIBS) \ - $(LIBWS2_32) \ - $(XML_LIBS) \ -- $(SQLITE_LIBS) \ - $(KRB5_LIBS) - - libsoup_2_4_la_SOURCES = \ -@@ -147,7 +144,6 @@ libsoup_2_4_la_SOURCES = \ - soup-converter-wrapper.c \ - soup-cookie.c \ - soup-cookie-jar.c \ -- soup-cookie-jar-db.c \ - soup-cookie-jar-text.c \ - soup-date.c \ - soup-directory-input-stream.h \ -@@ -222,7 +218,6 @@ if BUILD_LIBSOUP_GNOME - libsoupgnomeincludedir = $(includedir)/libsoup-gnome-2.4/libsoup - - libsoupgnomeinclude_HEADERS = \ -- soup-cookie-jar-sqlite.h\ - soup-gnome.h \ - soup-gnome-features.h - -@@ -240,7 +235,6 @@ libsoup_gnome_2_4_la_LIBADD = \ - $(GLIB_LIBS) - - libsoup_gnome_2_4_la_SOURCES = \ -- soup-cookie-jar-sqlite.c \ - soup-gnome-features.c \ - soup-proxy-resolver-gnome.h \ - soup-proxy-resolver-gnome.c \ -diff --git a/libsoup/soup-autocleanups.h b/libsoup/soup-autocleanups.h -index 910abe7..ba50e4b 100644 ---- a/libsoup/soup-autocleanups.h -+++ b/libsoup/soup-autocleanups.h -@@ -38,7 +38,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupContentDecoder, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupContentSniffer, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupCookie, soup_cookie_free) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupCookieJar, g_object_unref) --G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupCookieJarDB, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupCookieJarText, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupDate, soup_date_free) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupLogger, g_object_unref) -diff --git a/libsoup/soup-gnome.h b/libsoup/soup-gnome.h -index a2134a4..6747f3a 100644 ---- a/libsoup/soup-gnome.h -+++ b/libsoup/soup-gnome.h -@@ -8,7 +8,6 @@ - - #include <libsoup/soup.h> - --#include <libsoup/soup-cookie-jar-sqlite.h> - #include <libsoup/soup-gnome-features.h> - - #endif /* SOUP_GNOME_H */ -diff --git a/libsoup/soup.h b/libsoup/soup.h -index 6bedb62..78b8832 100644 ---- a/libsoup/soup.h -+++ b/libsoup/soup.h -@@ -23,7 +23,6 @@ extern "C" { - #include <libsoup/soup-content-sniffer.h> - #include <libsoup/soup-cookie.h> - #include <libsoup/soup-cookie-jar.h> --#include <libsoup/soup-cookie-jar-db.h> - #include <libsoup/soup-cookie-jar-text.h> - #include <libsoup/soup-date.h> - #include <libsoup/soup-enum-types.h> --- -2.11.0 - diff --git a/recipes/libsoup/0001-build-Fix-enumtypes-on-MinGW-inside-MSYS-Windows.patch b/recipes/libsoup/0001-build-Fix-enumtypes-on-MinGW-inside-MSYS-Windows.patch deleted file mode 100644 index dd5966ad..00000000 --- a/recipes/libsoup/0001-build-Fix-enumtypes-on-MinGW-inside-MSYS-Windows.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 606c4aa3ae9630f198377d5bfddd6ede3cffc2f0 Mon Sep 17 00:00:00 2001 -From: Nirbheek Chauhan <nirbheek@centricular.com> -Date: Wed, 7 Mar 2018 23:05:36 +0530 -Subject: [PATCH] build: Fix enumtypes on MinGW inside MSYS Windows - -The glib-mkenums command starts with: - ---fhead "/* Generated by glib-mkenums. [...]" - -The MSYS shell thinks the / is a path, and expands it to the / inside -MSYS, which is C:/MinGW/msys/1.0 and then proceeds to convert the \n -to /n and so on, which totally mangles the file header and leads to an -unusable soup-enum-types.h - -Fix this by adding a space before that, so that it becomes: - ---fhead " /* Generated by glib-mkenums. [...]" - -Which avoids the translation. This broke because glib-mkenums is now -a Python script instead of a Perl script. The aforementioned -translation is only done for arguments passed to non-msys programs -(like python) and not for msys ones (like perl and awk). - ---- - Makefile.glib | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.glib b/Makefile.glib -index 97e94b0..bd6c6c6 100644 ---- a/Makefile.glib -+++ b/Makefile.glib -@@ -202,7 +202,7 @@ $(if $(_glib_enum_types_sources),,$(error Need to define $(_glib_enum_types_sour - - $(1).h.stamp: $(_glib_enum_types_h_sources) Makefile - $$(_GLIB_V_GEN) $$(GLIB_MKENUMS) \ -- --fhead "/* Generated by glib-mkenums. Do not edit */\n\n#ifndef $(_glib_enum_types_guard)\n#define $(_glib_enum_types_guard)\n\n" \ -+ --fhead " /* Generated by glib-mkenums. Do not edit */\n\n#ifndef $(_glib_enum_types_guard)\n#define $(_glib_enum_types_guard)\n\n" \ - $$(GLIB_MKENUMS_H_FLAGS) \ - $$($(_glib_enum_types_prefix)_MKENUMS_H_FLAGS) \ - --fhead "#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ -@@ -219,7 +219,7 @@ $(1).h: $(1).h.stamp - - $(1).c.stamp: $(_glib_enum_types_h_sources) Makefile - $$(_GLIB_V_GEN) $$(GLIB_MKENUMS) \ -- --fhead "/* Generated by glib-mkenums. Do not edit */\n\n#ifdef HAVE_CONFIG_H\n#include <config.h>\n#endif\n\n#include \"$(notdir $(1)).h\"\n\n" \ -+ --fhead " /* Generated by glib-mkenums. Do not edit */\n\n#ifdef HAVE_CONFIG_H\n#include <config.h>\n#endif\n\n#include \"$(notdir $(1)).h\"\n\n" \ - $$(GLIB_MKENUMS_C_FLAGS) \ - $$($(_glib_enum_types_prefix)_MKENUMS_C_FLAGS) \ - --fhead "$$(foreach f,$$(filter-out Makefile,$$(^F)),\n#include \"$$(f)\")\n\n" \ --- -2.12.2.windows.2 - diff --git a/recipes/libsoup/0001-configure.ac-Don-t-check-intltool-version.patch b/recipes/libsoup/0001-configure.ac-Don-t-check-intltool-version.patch deleted file mode 100644 index 7d16bb51..00000000 --- a/recipes/libsoup/0001-configure.ac-Don-t-check-intltool-version.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 935d1879779b745750d8845c03d6bbebe2950eca Mon Sep 17 00:00:00 2001 -From: Justin Kim <justin.kim@collabora.com> -Date: Fri, 23 Feb 2018 23:00:11 +0900 -Subject: [PATCH] configure.ac: Don't check intltool version - -Signed-off-by: Justin Kim <justin.kim@collabora.com> ---- - Makefile.am | 2 +- - configure.ac | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 38d2872..2363d4c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,7 +1,7 @@ - ## Process this file with automake to produce Makefile.in - ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} - --SUBDIRS = libsoup po tests examples docs win32 -+SUBDIRS = libsoup tests examples docs win32 - - EXTRA_DIST = \ - data/effective_tld_names.dat \ -diff --git a/configure.ac b/configure.ac -index ace4add..20518e4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -121,7 +121,6 @@ AM_CONDITIONAL(OS_LINUX, [test $os_linux = yes]) - dnl ************************ - dnl *** gettext/intltool *** - dnl ************************ --IT_PROG_INTLTOOL([0.35.0]) - GETTEXT_PACKAGE=libsoup - AC_SUBST([GETTEXT_PACKAGE]) - AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[The gettext domain name]) --- -2.16.2 - diff --git a/recipes/libsoup/4b924e57-tld-parser-use-Python-3.patch b/recipes/libsoup/4b924e57-tld-parser-use-Python-3.patch deleted file mode 100644 index ed0d1717..00000000 --- a/recipes/libsoup/4b924e57-tld-parser-use-Python-3.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4b924e573da307436169d5ef7e04c0ab85b36ef9 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Wed, 2 Aug 2017 15:17:21 +0100 -Subject: [PATCH] tld-parser: use Python 3 - -The world is moving to Python 3 so do our bit by using Python 3 to run the TLD -parser. - -https://bugzilla.gnome.org/show_bug.cgi?id=785735 ---- - libsoup/tld-parser.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libsoup/tld-parser.py b/libsoup/tld-parser.py -index 5d9d2ba5..a743471a 100755 ---- a/libsoup/tld-parser.py -+++ b/libsoup/tld-parser.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - - # Generate tld rules - # Copyright (C) 2012 Red Hat, Inc. --- -2.18.1 - diff --git a/recipes/sqlite3.recipe b/recipes/sqlite3.recipe new file mode 100644 index 00000000..fed11d38 --- /dev/null +++ b/recipes/sqlite3.recipe @@ -0,0 +1,24 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python +from cerbero.tools.libtool import LibtoolLibrary + + +class Recipe(recipe.Recipe): + name = 'sqlite3' + version = '3310100' + stype = SourceType.TARBALL + btype = BuildType.MESON + url = 'https://sqlite.org/2020/sqlite-amalgamation-%(version)s.zip' + tarball_dirname = 'sqlite-amalgamation-%(version)s' + tarball_checksum = 'f3c79bc9f4162d0b06fa9fe09ee6ccd23bb99ce310b792c5145f87fbcc30efca' + licenses = [License.PublicDomain] + + patches = [name + '/0001-Add-Meson-build-files-based-on-wrapdb.patch'] + + files_libs = ['libsqlite3'] + files_devel = ['include/sqlite3.h', 'lib/pkgconfig/sqlite3.pc'] + + def post_install(self): + libtool_la = LibtoolLibrary('sqlite3', 0, 0, 0, self.config.libdir, + self.config.target_platform) + libtool_la.save() + super().post_install() diff --git a/recipes/sqlite3/0001-Add-Meson-build-files-based-on-wrapdb.patch b/recipes/sqlite3/0001-Add-Meson-build-files-based-on-wrapdb.patch new file mode 100644 index 00000000..91ba176d --- /dev/null +++ b/recipes/sqlite3/0001-Add-Meson-build-files-based-on-wrapdb.patch @@ -0,0 +1,73 @@ +From 95eae741192272a62cbdb84608f8bc175081b9ea Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan <nirbheek@centricular.com> +Date: Tue, 25 Feb 2020 21:46:18 +0530 +Subject: [PATCH] Add Meson build files based on wrapdb + +This is based on meson build files from branch 3250100 revision 1 of +wrapdb: https://wrapdb.mesonbuild.com/sqlite +--- + LICENSE.build | 19 +++++++++++++++++++ + meson.build | 25 +++++++++++++++++++++++++ + 2 files changed, 44 insertions(+) + create mode 100644 LICENSE.build + create mode 100644 meson.build + +diff --git a/LICENSE.build b/LICENSE.build +new file mode 100644 +index 0000000..ec28804 +--- /dev/null ++++ b/LICENSE.build +@@ -0,0 +1,19 @@ ++Copyright (c) 2018 The Meson development team ++ ++Permission is hereby granted, free of charge, to any person obtaining a copy ++of this software and associated documentation files (the "Software"), to deal ++in the Software without restriction, including without limitation the rights ++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++copies of the Software, and to permit persons to whom the Software is ++furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in all ++copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++SOFTWARE. +diff --git a/meson.build b/meson.build +new file mode 100644 +index 0000000..b3b7c66 +--- /dev/null ++++ b/meson.build +@@ -0,0 +1,25 @@ ++project('sqlite3', 'c', version : '3310100', license : 'pd') ++ ++ ++thread_dep = dependency('threads') ++ ++cc = meson.get_compiler('c') ++libdl = cc.find_library('dl', required: false) ++libm = cc.find_library('m', required: false) ++ ++ ++sqinc = include_directories('.') ++sqlib = library('sqlite3', 'sqlite3.c', include_directories: sqinc, ++ dependencies : [thread_dep, libdl, libm], ++ install: true) ++ ++install_headers('sqlite3.h') ++ ++sqlite_dep = declare_dependency(link_with : sqlib, ++ include_directories : sqinc) ++ ++pkg = import('pkgconfig') ++pkg.generate(name: 'sqlite3', ++ description: 'An embedded SQL database engine', ++ version: meson.project_version(), ++ libraries: sqlib) +-- +2.24.1 + |