diff options
author | L. E. Segovia <amy@centricular.com> | 2024-08-26 19:53:10 -0300 |
---|---|---|
committer | L. E. Segovia <amy@centricular.com> | 2024-09-10 11:10:41 -0300 |
commit | 67cdf40498b542dcd8777eb1853831d77a4fe28f (patch) | |
tree | 8f1f8ac3d5c1cd47d132b10e9cd394eebb532f47 /recipes | |
parent | 0b8520fafefeea92ceb13517eb9837b37bd3b53b (diff) |
libsoup: update to 3.6.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1149>
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/libsoup.recipe | 22 | ||||
-rw-r--r-- | recipes/libsoup/0001-Workaround-MinGW-build-werror.patch | 30 | ||||
-rw-r--r-- | recipes/nghttp2.recipe | 39 | ||||
-rw-r--r-- | recipes/nghttp2/0001-Expose-NGHTTP2_STATICLIB-on-the-pkg-config-file.patch | 39 |
4 files changed, 87 insertions, 43 deletions
diff --git a/recipes/libsoup.recipe b/recipes/libsoup.recipe index c5672f55..63960d53 100644 --- a/recipes/libsoup.recipe +++ b/recipes/libsoup.recipe @@ -4,18 +4,14 @@ from cerbero.tools.libtool import LibtoolLibrary class Recipe(recipe.Recipe): name = 'libsoup' - version = '2.74.3' + version = '3.6.0' licenses = [License.LGPLv2Plus] stype = SourceType.TARBALL btype = BuildType.MESON url = 'gnome://' - tarball_checksum = 'e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13' - meson_options = {'gnome': 'false', 'vapi': 'disabled', 'tls_check': 'false', 'tests' : 'false'} - deps = ['libxml2', 'glib', 'glib-networking', 'libpsl'] - - patches = [ - 'libsoup/0001-Workaround-MinGW-build-werror.patch', - ] + tarball_checksum = '62959f791e8e8442f8c13cedac8c4919d78f9120d5bb5301be67a5e53318b4a3' + meson_options = {'vapi': 'disabled', 'tls_check': 'false', 'tests' : 'false'} + deps = ['libxml2', 'glib', 'glib-networking', 'libpsl', 'nghttp2'] # 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. @@ -27,17 +23,17 @@ class Recipe(recipe.Recipe): Platform.LINUX: ['sqlite3'], } - files_libs = ['libsoup-2.4'] - files_devel = ['include/libsoup-2.4', '%(libdir)s/pkgconfig/libsoup-2.4.pc'] - files_typelibs = ['Soup-2.4'] + files_libs = ['libsoup-3.0'] + files_devel = ['include/libsoup-3.0', '%(libdir)s/pkgconfig/libsoup-3.0.pc'] + files_typelibs = ['Soup-3.0'] def post_install(self): soup_deps = ['gio-2.0', 'gmodule-2.0', 'gobject-2.0', 'glib-2.0', - 'ffi', 'xml2', 'psl', 'z'] + 'ffi', 'xml2', 'psl', 'z', 'nghttp2'] if self.config.target_platform not in (Platform.IOS, Platform.DARWIN): soup_deps += ['sqlite3'] # Meson does not generate la files - LibtoolLibrary('soup-2.4', None, None, None, + LibtoolLibrary('soup-3.0', None, None, None, self.config.libdir, self.config.target_platform, deps=soup_deps).save() super().post_install() diff --git a/recipes/libsoup/0001-Workaround-MinGW-build-werror.patch b/recipes/libsoup/0001-Workaround-MinGW-build-werror.patch deleted file mode 100644 index c19aa713..00000000 --- a/recipes/libsoup/0001-Workaround-MinGW-build-werror.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 2aeb31086b665eac6dc70c5259056d9c1eb819ea Mon Sep 17 00:00:00 2001 -From: Seungha Yang <seungha@centricular.com> -Date: Tue, 9 Jul 2024 22:53:11 +0900 -Subject: [PATCH] Workaround MinGW build werror - -../libsoup/soup-socket.c:1325:29: error: -passing argument 4 of 'setsockopt' from incompatible pointer type [-Wincompatible-pointer-types] ---- - meson.build | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/meson.build b/meson.build -index 130f813..b00f3e8 100644 ---- a/meson.build -+++ b/meson.build -@@ -70,6 +70,11 @@ else - '-Wno-format-zero-length', - ] - -+ if host_system == 'windows' -+ # setsockopt() argument type mismatch -+ test_cflags += ['-Wno-incompatible-pointer-types'] -+ endif -+ - common_flags += cc.get_supported_arguments(test_cflags) - endif - --- -2.44.0.windows.1 - diff --git a/recipes/nghttp2.recipe b/recipes/nghttp2.recipe new file mode 100644 index 00000000..deada987 --- /dev/null +++ b/recipes/nghttp2.recipe @@ -0,0 +1,39 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+
+from cerbero.tools.libtool import LibtoolLibrary
+
+
+class Recipe(recipe.Recipe):
+ name = 'nghttp2'
+ version = '1.61.0'
+ licenses = [{License.MIT: ['COPYING']}]
+ stype = SourceType.TARBALL
+ btype = BuildType.CMAKE
+ url = 'https://github.com/nghttp2/nghttp2/releases/download/v1.61.0/%(name)s-%(version)s.tar.gz'
+ tarball_checksum = 'aa7594c846e56a22fbf3d6e260e472268808d3b49d5e0ed339f589e9cc9d484c'
+ cmake_generator = 'ninja'
+ can_msvc = True
+ configure_options = ' -DENABLE_LIB_ONLY=ON -DENABLE_DOC=OFF -DWITH_LIBXML2=OFF -DWITH_JEMALLOC=OFF -DBUILD_STATIC_LIBS=ON '
+ library_type = LibraryType.STATIC
+
+ files_libs = ['libnghttp2']
+ files_devel = ['include/nghttp2/nghttp2.h', '%(libdir)s/pkgconfig/libnghttp2.pc']
+
+ patches = [
+ f'{name}/0001-Expose-NGHTTP2_STATICLIB-on-the-pkg-config-file.patch'
+ ]
+
+ def prepare(self):
+ # Although it can build both types of library, the static ones
+ # have the `_static` suffix and throw off FilesProvider
+ if self.using_msvc():
+ self.configure_options += ' -DBUILD_SHARED_LIBS=OFF '
+ self.library_type = LibraryType.STATIC
+ else:
+ self.library_type = LibraryType.BOTH
+
+ def post_install(self):
+ libtool_la = LibtoolLibrary('nghttp2', None, None, None, self.config.libdir,
+ self.config.target_platform)
+ libtool_la.save()
+ super().post_install()
diff --git a/recipes/nghttp2/0001-Expose-NGHTTP2_STATICLIB-on-the-pkg-config-file.patch b/recipes/nghttp2/0001-Expose-NGHTTP2_STATICLIB-on-the-pkg-config-file.patch new file mode 100644 index 00000000..e4db4547 --- /dev/null +++ b/recipes/nghttp2/0001-Expose-NGHTTP2_STATICLIB-on-the-pkg-config-file.patch @@ -0,0 +1,39 @@ +From b5fc31efb6c100da399c3660f3ad313b223142cc Mon Sep 17 00:00:00 2001 +From: "L. E. Segovia" <amy@centricular.com> +Date: Tue, 27 Aug 2024 21:13:41 -0300 +Subject: [PATCH] Expose NGHTTP2_STATICLIB on the pkg-config file + +--- + CMakeLists.txt | 5 +++++ + lib/libnghttp2.pc.in | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d500bb4..47c6d43 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -393,6 +393,11 @@ set(exec_prefix "${CMAKE_INSTALL_PREFIX}") + set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}") + set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}") + set(VERSION "${PACKAGE_VERSION}") ++if(BUILD_SHARED_LIBS OR NOT WIN32) ++ set(DEFINE_EXPORT) ++else() ++ set(DEFINE_EXPORT "-DNGHTTP2_STATICLIB") ++endif() + # For init scripts and systemd service file (in contrib/) + set(bindir "${CMAKE_INSTALL_FULL_BINDIR}") + set(sbindir "${CMAKE_INSTALL_FULL_SBINDIR}") +diff --git a/lib/libnghttp2.pc.in b/lib/libnghttp2.pc.in +index da6938f..2820c84 100644 +--- a/lib/libnghttp2.pc.in ++++ b/lib/libnghttp2.pc.in +@@ -30,4 +30,4 @@ Description: HTTP/2 C library + URL: https://github.com/tatsuhiro-t/nghttp2 + Version: @VERSION@ + Libs: -L${libdir} -lnghttp2 +-Cflags: -I${includedir} ++Cflags: -I${includedir} @DEFINE_EXPORT@ +-- +2.44.0.windows.1 + |