diff options
Diffstat (limited to 'pkgs/development')
3 files changed, 49 insertions, 39 deletions
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index c6da42738c6ae..ca47b8f6bf916 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -1,5 +1,5 @@ { config, lib, stdenv, fetchurl, gettext, meson, ninja, pkg-config, perl, python3 -, libiconv, zlib, libffi, pcre, libelf, gnome, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45, libxslt +, libiconv, zlib, libffi, pcre2, libelf, gnome, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45, libxslt # use util-linuxMinimal to avoid circular dependency (util-linux, systemd, glib) , util-linuxMinimal ? null , buildPackages @@ -44,11 +44,11 @@ in stdenv.mkDerivation (finalAttrs: { pname = "glib"; - version = "2.72.3"; + version = "2.73.2"; src = fetchurl { url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz"; - sha256 = "Sjmi9iS4US1QDVhAFz7af6hfUcEJBS6ugGrOzoXTRfA="; + sha256 = "Xz7jbjT0qqs5PD49xG+wGzL36tbIjUHX8g2IpJze8dk="; }; patches = optionals stdenv.isDarwin [ @@ -90,6 +90,14 @@ stdenv.mkDerivation (finalAttrs: { # * gio-launch-desktop ./split-dev-programs.patch + # Fix build on Darwin + # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2914 + (fetchpatch { + name = "gio-properly-guard-use-of-utimensat.patch"; + url = "https://gitlab.gnome.org/GNOME/glib/-/commit/7f7171e68a420991b537d3e9e63263a0b2871618.patch"; + sha256 = "kKEqmBqx/RlvFT3eixu+NnM7JXhHb34b9NLRfAt+9h0="; + }) + # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2866 (fetchpatch { name = "tests-skip-g-file-info-test-if-atime-unsupported.patch"; @@ -107,7 +115,9 @@ stdenv.mkDerivation (finalAttrs: { setupHook = ./setup-hook.sh; buildInputs = [ - libelf finalAttrs.setupHook pcre + libelf + finalAttrs.setupHook + pcre2 ] ++ optionals (!stdenv.hostPlatform.isWindows) [ bash gnum4 # install glib-gettextize and m4 macros for other apps to use ] ++ optionals stdenv.isLinux [ diff --git a/pkgs/development/libraries/glib/split-dev-programs.patch b/pkgs/development/libraries/glib/split-dev-programs.patch index 9a949ea1226c0..58e1b6d7dfcf3 100644 --- a/pkgs/development/libraries/glib/split-dev-programs.patch +++ b/pkgs/development/libraries/glib/split-dev-programs.patch @@ -1,8 +1,8 @@ diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build -index 5ea6bae2f..e0b584a86 100644 +index bf25cdaeb..bff7016cc 100644 --- a/gio/gdbus-2.0/codegen/meson.build +++ b/gio/gdbus-2.0/codegen/meson.build -@@ -16,7 +16,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir) +@@ -19,7 +19,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir) # Install gdbus-codegen executable gdbus_codegen = configure_file(input : 'gdbus-codegen.in', output : 'gdbus-codegen', @@ -12,10 +12,10 @@ index 5ea6bae2f..e0b584a86 100644 ) # Provide tools for others when we're a subproject and they use the Meson GNOME module diff --git a/gio/meson.build b/gio/meson.build -index 3535788ab..99c3b48d6 100644 +index ca969309a..68a072714 100644 --- a/gio/meson.build +++ b/gio/meson.build -@@ -831,14 +831,15 @@ pkg.generate(libgio, +@@ -844,14 +844,15 @@ pkg.generate(libgio, variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')), 'schemasdir=' + join_paths('${datadir}', schemas_subdir), 'bindir=' + join_paths('${prefix}', get_option('bindir')), @@ -36,7 +36,7 @@ index 3535788ab..99c3b48d6 100644 'gsettings=' + join_paths('${bindir}', 'gsettings')], version : glib_version, install_dir : glib_pkgconfigreldir, -@@ -939,12 +940,14 @@ executable('gio', gio_tool_sources, +@@ -952,12 +953,14 @@ executable('gio', gio_tool_sources, executable('gresource', 'gresource-tool.c', install : true, @@ -51,27 +51,27 @@ index 3535788ab..99c3b48d6 100644 c_args : gio_c_args, # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, -@@ -953,6 +956,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu +@@ -966,6 +969,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu glib_compile_schemas = executable('glib-compile-schemas', - [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-schemas.c'], + ['glib-compile-schemas.c'], install : true, + install_dir : get_option('devbindir'), # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, - dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep]) -@@ -960,6 +964,7 @@ glib_compile_schemas = executable('glib-compile-schemas', + dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep, gvdb_dep]) +@@ -973,6 +977,7 @@ glib_compile_schemas = executable('glib-compile-schemas', glib_compile_resources = executable('glib-compile-resources', - [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-resources.c'], + [gconstructor_as_data_h, 'glib-compile-resources.c'], install : true, + install_dir : get_option('devbindir'), c_args : gio_c_args, # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, diff --git a/glib/meson.build b/glib/meson.build -index aaf5f00f5..09edd291a 100644 +index 6062c11a1..ce242629a 100644 --- a/glib/meson.build +++ b/glib/meson.build -@@ -375,9 +375,10 @@ pkg.generate(libglib, +@@ -392,9 +392,10 @@ pkg.generate(libglib, subdirs : ['glib-2.0'], extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')), @@ -85,7 +85,7 @@ index aaf5f00f5..09edd291a 100644 version : glib_version, install_dir : glib_pkgconfigreldir, filebase : 'glib-2.0', -@@ -413,6 +414,7 @@ if host_system == 'windows' +@@ -431,6 +432,7 @@ if host_system == 'windows' else gtester = executable('gtester', 'gtester.c', install : true, @@ -93,7 +93,7 @@ index aaf5f00f5..09edd291a 100644 c_args : ['-UG_DISABLE_ASSERT'], include_directories : configinc, dependencies : [libglib_dep]) -@@ -424,7 +426,7 @@ report_conf.set('PYTHON', python_name) +@@ -442,7 +444,7 @@ report_conf.set('PYTHON', python_name) configure_file( input: 'gtester-report.in', output: 'gtester-report', @@ -103,10 +103,10 @@ index aaf5f00f5..09edd291a 100644 install_mode: 'rwxr-xr-x' ) diff --git a/gobject/meson.build b/gobject/meson.build -index 85e283bab..386ad5e4e 100644 +index 07d096f36..865891e8c 100644 --- a/gobject/meson.build +++ b/gobject/meson.build -@@ -75,7 +75,7 @@ foreach tool: python_tools +@@ -79,7 +79,7 @@ foreach tool: python_tools input : tool + '.in', output : tool, configuration : python_tools_conf, @@ -115,7 +115,7 @@ index 85e283bab..386ad5e4e 100644 ) # Set variables for later use -@@ -145,6 +145,7 @@ libgobject_dep = declare_dependency(link_with : libgobject, +@@ -154,6 +154,7 @@ meson.override_dependency('gobject-2.0', libgobject_dep) executable('gobject-query', 'gobject-query.c', install : true, @@ -123,21 +123,8 @@ index 85e283bab..386ad5e4e 100644 dependencies : [libglib_dep, libgobject_dep]) install_data('gobject_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb')) -diff --git a/meson.build b/meson.build -index 484f4c750..c7f9327d9 100644 ---- a/meson.build -+++ b/meson.build -@@ -2122,7 +2122,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'), - output : 'glib-gettextize', - configuration : gettextize_conf) - endif diff --git a/meson_options.txt b/meson_options.txt -index 2c831e37e..5d8928577 100644 +index a52eed9d2..b70b69e35 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -3,6 +3,11 @@ option('runtime_libdir', @@ -152,3 +139,16 @@ index 2c831e37e..5d8928577 100644 option('iconv', type : 'combo', choices : ['auto', 'libc', 'external'], +diff --git a/tools/meson.build b/tools/meson.build +index d550a0e37..cff7fdae5 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'), + output : 'glib-gettextize', + configuration : gettextize_conf) + endif diff --git a/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch b/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch index 681e361896e45..106ba4f99a97c 100644 --- a/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch +++ b/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch @@ -13,7 +13,7 @@ Part-of: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867 --- gio/tests/meson.build | 43 +++++++++++++++++++++++------------------- glib/tests/meson.build | 2 +- - tests/meson.build | 30 +++++++++++++++-------------- + gmodule/tests/meson.build | 30 +++++++++++++++-------------- 3 files changed, 41 insertions(+), 34 deletions(-) diff --git a/gio/tests/meson.build b/gio/tests/meson.build @@ -95,10 +95,10 @@ index 301158e0f..6203ff45e 100644 glib_tests += { 'gutils-user-database' : { 'depends' : [ -diff --git a/tests/meson.build b/tests/meson.build +diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build index c95fa1d00..25144c941 100644 ---- a/tests/meson.build -+++ b/tests/meson.build +--- a/gmodule/tests/meson.build ++++ b/gmodule/tests/meson.build @@ -72,20 +72,22 @@ if ['darwin', 'ios'].contains(host_machine.system()) module_suffix = 'so' endif |