summaryrefslogtreecommitdiff
path: root/recipes
diff options
context:
space:
mode:
authorL. E. Segovia <amy@centricular.com>2024-08-26 19:53:10 -0300
committerL. E. Segovia <amy@centricular.com>2024-09-10 11:10:41 -0300
commit67cdf40498b542dcd8777eb1853831d77a4fe28f (patch)
tree8f1f8ac3d5c1cd47d132b10e9cd394eebb532f47 /recipes
parent0b8520fafefeea92ceb13517eb9837b37bd3b53b (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.recipe22
-rw-r--r--recipes/libsoup/0001-Workaround-MinGW-build-werror.patch30
-rw-r--r--recipes/nghttp2.recipe39
-rw-r--r--recipes/nghttp2/0001-Expose-NGHTTP2_STATICLIB-on-the-pkg-config-file.patch39
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
+