diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-01-30 11:49:23 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-01-30 11:49:23 +0000 |
commit | 840a65e2af3f2cc7527e723a28f6e627a9592fb7 (patch) | |
tree | 66e124d9e55317fe43e1af9984e75c156df5cb29 /dev-libs/folks/files/folks-0.15.6-implicit-decl.patch | |
parent | 73e3b099187df1c4f2df056e45f345a56d2535aa (diff) |
gentoo auto-resync : 30:01:2024 - 11:49:23
Diffstat (limited to 'dev-libs/folks/files/folks-0.15.6-implicit-decl.patch')
-rw-r--r-- | dev-libs/folks/files/folks-0.15.6-implicit-decl.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch new file mode 100644 index 000000000000..f61d655343e4 --- /dev/null +++ b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch @@ -0,0 +1,61 @@ +From 127bacf86b7ef639c37dd07afc0bf848c005c3c2 Mon Sep 17 00:00:00 2001 +From: Mohammed Anas <triallax@tutanota.com> +Date: Sun, 14 Jan 2024 03:27:31 +0000 +Subject: [PATCH] build: add missing API declaration -include to dummy and EDS + backends + +In 7a9c8133468c1f8eb7fbb0e68a6a7e061b9452fb, the original +`-include redeclare-internal-api.h` was added for autotools. It is +necessary due to vala internals that require guaranteeing a private +ABI's prototype is available when compiling folks, even though vala +doesn't generate that prototype. + +During the port to meson, this `-include` was dropped. + +Without it, `-Werror=implicit-function-declaration` will cause folks to +fail to compile. Implicit function declarations are a terrible feature +-- they were part of c89, but c99 removed them without a deprecation +because they were too dangerous to use, notable in a language that +doesn't like to remove features even *with* a deprecation. + +For over two decades, compilers have, by default, allowed this invalid C +anyways, on the grounds that it commonly existed, but modern compilers +are finally starting to enforce this. It will become a fatal error by +default in gcc 14, and clang 16. + +Folks got this right all the way back in 2013; it disappeared by +accident. Let's restore it as originally intended. +--- +Upstream: https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68 + + backends/dummy/lib/meson.build | 1 + + backends/eds/lib/meson.build | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/backends/dummy/lib/meson.build b/backends/dummy/lib/meson.build +index 32448f35..eacc0e7a 100644 +--- a/backends/dummy/lib/meson.build ++++ b/backends/dummy/lib/meson.build +@@ -23,6 +23,7 @@ dummy_backendlib_vala_flags = [ + + dummy_backendlib_c_flags = [ + '-include', 'config.h', ++ '-include', 'folks/redeclare-internal-api.h', + '-DBACKEND_NAME="@0@"'.format(dummy_backend_name), + '-DG_LOG_DOMAIN="@0@"'.format(dummy_backend_name), + ] +diff --git a/backends/eds/lib/meson.build b/backends/eds/lib/meson.build +index 3e3db84c..68d803b3 100644 +--- a/backends/eds/lib/meson.build ++++ b/backends/eds/lib/meson.build +@@ -40,6 +40,7 @@ endif + + eds_backendlib_c_flags = [ + '-include', 'config.h', ++ '-include', 'folks/redeclare-internal-api.h', + '-DBACKEND_NAME="@0@"'.format(eds_backend_name), + '-DG_LOG_DOMAIN="@0@"'.format(eds_backend_name), + ] +-- +GitLab + |