nixpkgs/pkgs/development/libraries/glib/split-dev-programs.patch
Jan Tojnar 350d4c7d1d glib: fix pkg-config tests
These have been introduced in GLib 2.77.0:
ade79bcb50

We missed them failing during the update because they are not build as a part of the main `glib` derivation.
2023-12-16 20:10:09 +01:00

215 lines
8.0 KiB
Diff

diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build
index 65faae9b2..4297513d4 100644
--- a/gio/gdbus-2.0/codegen/meson.build
+++ b/gio/gdbus-2.0/codegen/meson.build
@@ -20,7 +20,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir)
# Install gdbus-codegen executable
gdbus_codegen = configure_file(input : 'gdbus-codegen.in',
output : 'gdbus-codegen',
- install_dir : get_option('bindir'),
+ install_dir : get_option('devbindir'),
install_tag : 'bin-devel',
configuration : gdbus_codegen_conf
)
diff --git a/gio/meson.build b/gio/meson.build
index 75686bb3e..2f1a73482 100644
--- a/gio/meson.build
+++ b/gio/meson.build
@@ -882,14 +882,15 @@ pkg.generate(libgio,
'schemasdir=' + '${datadir}' / schemas_subdir,
'dtdsdir=' + '${datadir}' / dtds_subdir,
'bindir=' + '${prefix}' / get_option('bindir'),
+ 'devbindir=' + get_option('devbindir'),
'giomoduledir=' + pkgconfig_giomodulesdir,
'gio=' + '${bindir}' / 'gio',
- 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules',
- 'glib_compile_schemas=' + pkgconfig_multiarch_bindir / 'glib-compile-schemas',
- 'glib_compile_resources=' + '${bindir}' / 'glib-compile-resources',
+ 'gio_querymodules=' + '${devbindir}' / 'gio-querymodules',
+ 'glib_compile_schemas=' + '${devbindir}' / 'glib-compile-schemas',
+ 'glib_compile_resources=' + '${devbindir}' / 'glib-compile-resources',
'gdbus=' + '${bindir}' /'gdbus',
- 'gdbus_codegen=' + '${bindir}' / 'gdbus-codegen',
- 'gresource=' + '${bindir}' / 'gresource',
+ 'gdbus_codegen=' + '${devbindir}' / 'gdbus-codegen',
+ 'gresource=' + '${devbindir}' / 'gresource',
'gsettings=' + '${bindir}' / 'gsettings',
],
version : glib_version,
@@ -992,6 +993,7 @@ executable('gio', gio_tool_sources,
executable('gresource', 'gresource-tool.c',
install : true,
+ install_dir : get_option('devbindir'),
install_tag : 'bin',
# intl.lib is not compatible with SAFESEH
link_args : noseh_link_args,
@@ -999,7 +1001,7 @@ executable('gresource', 'gresource-tool.c',
gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c',
install : true,
- install_dir : multiarch_bindir,
+ install_dir : get_option('devbindir'),
install_tag : 'bin',
c_args : gio_c_args,
# intl.lib is not compatible with SAFESEH
@@ -1009,7 +1011,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
glib_compile_schemas = executable('glib-compile-schemas',
['glib-compile-schemas.c'],
install : true,
- install_dir : multiarch_bindir,
+ install_dir : get_option('devbindir'),
install_tag : 'bin',
# intl.lib is not compatible with SAFESEH
link_args : noseh_link_args,
@@ -1018,6 +1020,7 @@ glib_compile_schemas = executable('glib-compile-schemas',
glib_compile_resources = executable('glib-compile-resources',
[gconstructor_as_data_h, 'glib-compile-resources.c'],
install : true,
+ install_dir : get_option('devbindir'),
install_tag : 'bin-devel',
c_args : gio_c_args,
# intl.lib is not compatible with SAFESEH
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
index 4ef3343ab..2a0a6b56b 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -1131,16 +1131,18 @@ if have_bash and have_pkg_config
gio_binaries = [
'gio',
- 'glib-compile-resources',
'gdbus',
- 'gdbus-codegen',
- 'gresource',
'gsettings',
]
- gio_multiarch_binaries = [
+ gio_dev_binaries = [
+ 'glib-compile-resources',
+ 'gdbus-codegen',
+ 'gresource',
'gio-querymodules',
'glib-compile-schemas',
]
+ gio_multiarch_binaries = [
+ ]
foreach binary: gio_binaries
pkg_config_tests += [
@@ -1149,6 +1151,13 @@ if have_bash and have_pkg_config
prefix / get_option('bindir') / binary)
]
endforeach
+ foreach binary: gio_dev_binaries
+ pkg_config_tests += [
+ 'test "$(pkg-config --variable=@0@ gio-2.0)" = "@1@"'.format(
+ binary.underscorify(),
+ prefix / get_option('devbindir') / binary)
+ ]
+ endforeach
foreach binary: gio_multiarch_binaries
pkg_config_tests += [
diff --git a/glib/meson.build b/glib/meson.build
index c26a35e42..38effe12a 100644
--- a/glib/meson.build
+++ b/glib/meson.build
@@ -447,9 +447,10 @@ pkg.generate(libglib,
variables : [
'bindir=' + '${prefix}' / get_option('bindir'),
'datadir=' + '${prefix}' / get_option('datadir'),
- 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal',
- 'gobject_query=' + '${bindir}' / 'gobject-query',
- 'glib_mkenums=' + '${bindir}' / 'glib-mkenums',
+ 'devbindir=' + get_option('devbindir'),
+ 'glib_genmarshal=' + '${devbindir}' / 'glib-genmarshal',
+ 'gobject_query=' + '${devbindir}' / 'gobject-query',
+ 'glib_mkenums=' + '${devbindir}' / 'glib-mkenums',
'glib_valgrind_suppressions=' + '${datadir}' /
valgrind_suppression_file_install_subdir /
fs.name(valgrind_suppression_file),
@@ -490,6 +491,7 @@ if host_system == 'windows'
else
gtester = executable('gtester', 'gtester.c',
install : true,
+ install_dir : get_option('devbindir'),
install_tag : 'bin-devel',
c_args : ['-UG_DISABLE_ASSERT'],
include_directories : configinc,
@@ -505,7 +507,7 @@ report_conf.set('PYTHON', python_name)
configure_file(
input: 'gtester-report.in',
output: 'gtester-report',
- install_dir: get_option('bindir'),
+ install_dir: get_option('devbindir'),
install_tag : 'bin-devel',
configuration: report_conf,
install_mode: 'rwxr-xr-x'
diff --git a/glib/tests/meson.build b/glib/tests/meson.build
index 09ecd5ab3..9748d4122 100644
--- a/glib/tests/meson.build
+++ b/glib/tests/meson.build
@@ -508,9 +508,9 @@ if have_bash and have_pkg_config
'test "$(pkg-config --variable=datadir glib-2.0)" = "@0@"'.format(
prefix / get_option('datadir')),
'test "$(pkg-config --variable=gobject_query glib-2.0)" = "@0@"'.format(
- prefix / get_option('bindir') / 'gobject-query'),
+ prefix / get_option('devbindir') / 'gobject-query'),
'test "$(pkg-config --variable=glib_mkenums glib-2.0)" = "@0@"'.format(
- prefix / get_option('bindir') / 'glib-mkenums'),
+ prefix / get_option('devbindir') / 'glib-mkenums'),
'test "$(pkg-config --variable=glib_valgrind_suppressions glib-2.0)" = "@0@"'.format(
prefix / get_option('datadir') /
valgrind_suppression_file_install_subdir / fs.name(valgrind_suppression_file)),
diff --git a/gobject/meson.build b/gobject/meson.build
index 2129aaf8a..da8462428 100644
--- a/gobject/meson.build
+++ b/gobject/meson.build
@@ -94,7 +94,7 @@ foreach tool: python_tools
input : tool + '.in',
output : tool,
configuration : python_tools_conf,
- install_dir : glib_bindir,
+ install_dir : get_option('devbindir'),
install_tag : 'bin-devel',
)
@@ -172,6 +172,7 @@ meson.override_dependency('gobject-2.0', libgobject_dep)
gobject_query = executable('gobject-query', 'gobject-query.c',
install : true,
+ install_dir : get_option('devbindir'),
install_tag : 'bin-devel',
dependencies : [libglib_dep, libgobject_dep])
diff --git a/meson_options.txt b/meson_options.txt
index 517d5757c..198cc1b3c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -4,6 +4,11 @@ option('runtime_libdir',
description : 'install runtime libraries relative to libdir',
deprecated: true)
+option('devbindir',
+ type : 'string',
+ value : '',
+ description : 'bindir for development tools')
+
option('charsetalias_dir',
type : 'string',
value : '',
diff --git a/tools/meson.build b/tools/meson.build
index 257312ebf..f8315392b 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -8,7 +8,7 @@ if have_sh
gettextize_conf.set('datarootdir', glib_datadir)
gettextize_conf.set('datadir', glib_datadir)
configure_file(input : 'glib-gettextize.in',
- install_dir : glib_bindir,
+ install_dir : get_option('devbindir'),
install_tag : 'bin-devel',
output : 'glib-gettextize',
configuration : gettextize_conf)