Files
gentoo/dev-libs/json-c/files/json-c-0.19-meson.patch
Sam James 1563e826d7 dev-libs/json-c: port to meson
As promised in 695f090a78.

Signed-off-by: Sam James <sam@gentoo.org>
2026-07-18 06:49:54 +01:00

69 lines
2.1 KiB
Diff

https://github.com/json-c/json-c/commit/56a0e3f478c879c6a3f07b2ca6efa1ad2130d0e6
From 56a0e3f478c879c6a3f07b2ca6efa1ad2130d0e6 Mon Sep 17 00:00:00 2001
From: Tyler Erickson <tyler.erickson@seagate.com>
Date: Mon, 13 Jul 2026 15:48:20 -0600
Subject: [PATCH] fix installing json-c headers with meson and missing
pkgconfig file
This commit fixes the install path for json-c headers when running `meson install`.
Previously some showed in /usr/include/ rather than /usr/include/json-c
This also adds generating the pkgconfig .pc file for this project.
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
---
meson.build | 31 ++++++++++++++++++++++++++++---
1 file changed, 28 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index d64f3be216..ebc9e462dc 100644
--- a/meson.build
+++ b/meson.build
@@ -265,12 +265,37 @@ libjson = library('json-c',
jsonc_dep = declare_dependency(link_with: libjson, include_directories: inc)
meson.override_dependency('json-c', jsonc_dep)
-# Install headers
-install_headers(
+# Install headers into json-c/ subdirectory (matches CMake layout)
+installed_headers = [
'arraylist.h', 'debug.h', 'json_c_version.h', 'json_inttypes.h',
'json_object.h', 'json_object_iterator.h', 'json_tokener.h',
'json_types.h', 'json_util.h', 'json_visit.h', 'linkhash.h',
'printbuf.h', json_configure_header, json_header
+]
+
+if not get_option('disable_json_pointer')
+ installed_headers += ['json_pointer.h']
+ if not get_option('disable_json_patch')
+ installed_headers += ['json_patch.h']
+ endif
+endif
+
+install_headers(installed_headers, subdir: 'json-c')
+
+# pkg-config file
+configure_file(
+ input: 'json-c.pc.in',
+ output: 'json-c.pc',
+ install: true,
+ install_dir: get_option('libdir') / 'pkgconfig',
+ configuration: {
+ 'prefix': get_option('prefix'),
+ 'exec_prefix': get_option('prefix'),
+ 'libdir': get_option('libdir'),
+ 'includedir': get_option('includedir'),
+ 'VERSION': meson.project_version(),
+ 'LIBS': '',
+ }
)
# Optional apps
@@ -281,4 +306,4 @@ endif
# Optional tests
if get_option('buildtype') == 'debug'
subdir('tests')
-endif
+endif