summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cerbero/build/recipe.py2
-rw-r--r--cerbero/enums.py1
-rw-r--r--packages/gstreamer-1.0-net.package6
-rw-r--r--recipes/libpsl.recipe20
-rw-r--r--recipes/libpsl/0001-Initial-import-of-meson-build-files-from-upstream.patch356
-rw-r--r--recipes/libpsl/0002-meson-Do-not-build-tests-on-iOS.patch33
-rw-r--r--recipes/libsoup.recipe54
-rw-r--r--recipes/libsoup/0001-Rip-out-sqlite-based-cookie-storage.patch120
-rw-r--r--recipes/libsoup/0001-build-Fix-enumtypes-on-MinGW-inside-MSYS-Windows.patch52
-rw-r--r--recipes/libsoup/0001-configure.ac-Don-t-check-intltool-version.patch39
-rw-r--r--recipes/libsoup/4b924e57-tld-parser-use-Python-3.patch26
-rw-r--r--recipes/sqlite3.recipe24
-rw-r--r--recipes/sqlite3/0001-Add-Meson-build-files-based-on-wrapdb.patch73
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
+