summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2022-10-29 14:57:36 +0200
committerGitHub <noreply@github.com>2022-10-29 14:57:36 +0200
commitdd86663a262ab8150c1b7c6e5cf2a573cd35a9f8 (patch)
tree169cb9aca2715b4108026714811b457d679c21f9
parent87f4cc0cc5784fa8c4b57d3309d85f07ae1381d8 (diff)
parent1bab4177ac5dc56369910b03ab3cc37a231bf3cb (diff)
downloadnixpkgs-dd86663a262ab8150c1b7c6e5cf2a573cd35a9f8.tar
nixpkgs-dd86663a262ab8150c1b7c6e5cf2a573cd35a9f8.tar.gz
nixpkgs-dd86663a262ab8150c1b7c6e5cf2a573cd35a9f8.tar.bz2
nixpkgs-dd86663a262ab8150c1b7c6e5cf2a573cd35a9f8.tar.lz
nixpkgs-dd86663a262ab8150c1b7c6e5cf2a573cd35a9f8.tar.xz
nixpkgs-dd86663a262ab8150c1b7c6e5cf2a573cd35a9f8.tar.zst
nixpkgs-dd86663a262ab8150c1b7c6e5cf2a573cd35a9f8.zip
Merge pull request #197754 from jtojnar/gnome-staging
More GNOME updates (staging)
-rw-r--r--pkgs/development/libraries/glib/default.nix71
-rw-r--r--pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch141
-rw-r--r--pkgs/development/libraries/tracker/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix1
4 files changed, 31 insertions, 186 deletions
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 45d8ee69a02..8e3d1a45dbe 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -7,11 +7,9 @@
 # this is just for tests (not in the closure of any regular package)
 , coreutils, dbus, libxml2, tzdata
 , desktop-file-utils, shared-mime-info
-, darwin, fetchpatch
+, darwin
 }:
 
-with lib;
-
 assert stdenv.isLinux -> util-linuxMinimal != null;
 
 # TODO:
@@ -40,20 +38,22 @@ let
     done
     ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true
   '';
+
+  buildDocs = stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isStatic;
 in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "glib";
-  version = "2.74.0";
+  version = "2.74.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz";
-    sha256 = "NlLH8HLXsDGmte3WI/d+vF3NKuaYWYq8yJ/znKda3TA=";
+    sha256 = "CrmBYY0dtHhF5WQXsNfBI/gaNCeyuck/Wkb/W7uWSWQ=";
   };
 
-  patches = optionals stdenv.isDarwin [
+  patches = lib.optionals stdenv.isDarwin [
     ./darwin-compilation.patch
-  ] ++ optionals stdenv.hostPlatform.isMusl [
+  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
     ./quark_init_on_demand.patch
     ./gobject_init_on_demand.patch
   ] ++ [
@@ -90,29 +90,8 @@ 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";
-      url = "https://gitlab.gnome.org/qyliss/glib/-/commit/339a06d66685107280ca6bdca5da5d96b8222fb5.patch";
-      sha256 = "sha256-/NdFkuiJvyass3jTDEJPeciA2Lwe53IUd3kAnKAvTaw=";
-    })
-    # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867
-    ./tests-skip-shared-libs-if-default_library-static.patch
-
-    # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2921
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/glib/-/commit/f0dd96c28751f15d0703b384bfc7c314af01caa8.patch";
-      sha256 = "sha256-8ucHS6ZnJuP6ajGb4/L8QfhC49FTQG1kAGHVdww/YYE=";
-    })
-
+    # Disable flaky test.
+    # https://gitlab.gnome.org/GNOME/glib/-/issues/820
     ./skip-timer-test.patch
   ];
 
@@ -124,14 +103,14 @@ stdenv.mkDerivation (finalAttrs: {
     libelf
     finalAttrs.setupHook
     pcre2
-  ] ++ optionals (!stdenv.hostPlatform.isWindows) [
+  ] ++ lib.optionals (!stdenv.hostPlatform.isWindows) [
     bash gnum4 # install glib-gettextize and m4 macros for other apps to use
-  ] ++ optionals stdenv.isLinux [
+  ] ++ lib.optionals stdenv.isLinux [
     libselinux
     util-linuxMinimal # for libmount
-  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     AppKit Carbon Cocoa CoreFoundation CoreServices Foundation
-  ]) ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
+  ]) ++ lib.optionals buildDocs [
     # Note: this needs to be both in buildInputs and nativeBuildInputs. The
     # Meson gtkdoc module uses find_program to look it up (-> build dep), but
     # glib's own Meson configuration uses the host pkg-config to find its
@@ -147,10 +126,18 @@ stdenv.mkDerivation (finalAttrs: {
   strictDeps = true;
 
   nativeBuildInputs = [
-    (buildPackages.meson.override {
-      withDarwinFrameworksGtkDocPatch = stdenv.isDarwin;
-    })
-    ninja pkg-config perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 libxml2 libxslt
+    meson
+    ninja
+    pkg-config
+    perl
+    python3
+    gettext
+  ] ++ lib.optionals buildDocs [
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_45
+    libxml2
+    libxslt
   ];
 
   propagatedBuildInputs = [ zlib libffi gettext libiconv ];
@@ -158,10 +145,10 @@ stdenv.mkDerivation (finalAttrs: {
   mesonFlags = [
     # Avoid the need for gobject introspection binaries in PATH in cross-compiling case.
     # Instead we just copy them over from the native output.
-    "-Dgtk_doc=${boolToString (stdenv.hostPlatform == stdenv.buildPlatform)}"
+    "-Dgtk_doc=${lib.boolToString buildDocs}"
     "-Dnls=enabled"
     "-Ddevbindir=${placeholder "dev"}/bin"
-  ] ++ optionals (!stdenv.isDarwin) [
+  ] ++ lib.optionals (!stdenv.isDarwin) [
     "-Dman=true"                # broken on Darwin
   ];
 
@@ -215,7 +202,7 @@ stdenv.mkDerivation (finalAttrs: {
     for i in $dev/bin/*; do
       moveToOutput "share/bash-completion/completions/''${i##*/}" "$dev"
     done
-  '' + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+  '' + lib.optionalString (!buildDocs) ''
     cp -r ${buildPackages.glib.devdoc} $devdoc
   '';
 
@@ -230,7 +217,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   checkInputs = [ tzdata desktop-file-utils shared-mime-info ];
 
-  preCheck = optionalString finalAttrs.doCheck or config.doCheckByDefault or false ''
+  preCheck = lib.optionalString finalAttrs.doCheck or config.doCheckByDefault or false ''
     export LD_LIBRARY_PATH="$NIX_BUILD_TOP/glib-${finalAttrs.version}/glib/.libs''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
     export TZDIR="${tzdata}/share/zoneinfo"
     export XDG_CACHE_HOME="$TMP"
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
deleted file mode 100644
index 106ba4f99a9..00000000000
--- a/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From b804e4b82cd8e85631112d935543c62ef56783e5 Mon Sep 17 00:00:00 2001
-From: Alyssa Ross <hi@alyssa.is>
-Date: Tue, 23 Aug 2022 13:13:44 +0000
-Subject: [PATCH] tests: skip shared libs if default_library=static
-
-Otherwise, the build will fail when the toolchain is static-only, even
-with -Ddefault_library=static.  I talked to a Meson developer in their
-IRC channel, who told me that the correct fix was to ensure that
-shared_library is only used if default_library != static.
-
-Part-of: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867
-[Backported to 2.72.3]
----
- gio/tests/meson.build  | 43 +++++++++++++++++++++++-------------------
- glib/tests/meson.build |  2 +-
- gmodule/tests/meson.build      | 30 +++++++++++++++--------------
- 3 files changed, 41 insertions(+), 34 deletions(-)
-
-diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index 3ed23a5f2..7b1aba80d 100644
---- a/gio/tests/meson.build
-+++ b/gio/tests/meson.build
-@@ -203,7 +203,7 @@ if host_machine.system() != 'windows'
-   }
- 
-   # LD_PRELOAD modules don't work so well with AddressSanitizer
--  if have_rtld_next and get_option('b_sanitize') == 'none'
-+  if have_rtld_next and get_option('default_library') != 'static' and get_option('b_sanitize') == 'none'
-     gio_tests += {
-       'gsocketclient-slow' : {
-         'depends' : [
-@@ -607,24 +607,26 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
- 
-   compiler_type = '--compiler=@0@'.format(cc.get_id())
- 
--  plugin_resources_c = custom_target('plugin-resources.c',
--    input : 'test4.gresource.xml',
--    output : 'plugin-resources.c',
--    command : [glib_compile_resources,
--               compiler_type,
--               '--target=@OUTPUT@',
--               '--sourcedir=' + meson.current_source_dir(),
--               '--internal',
--               '--generate-source',
--               '--c-name', '_g_plugin',
--               '@INPUT@'])
-+  if get_option('default_library') != 'static'
-+    plugin_resources_c = custom_target('plugin-resources.c',
-+      input : 'test4.gresource.xml',
-+      output : 'plugin-resources.c',
-+      command : [glib_compile_resources,
-+                 compiler_type,
-+                 '--target=@OUTPUT@',
-+                 '--sourcedir=' + meson.current_source_dir(),
-+                 '--internal',
-+                 '--generate-source',
-+                 '--c-name', '_g_plugin',
-+                 '@INPUT@'])
- 
--  shared_module('resourceplugin', 'resourceplugin.c', plugin_resources_c,
--    link_args : export_dynamic_ldflags,
--    dependencies : common_gio_tests_deps,
--    install_dir : installed_tests_execdir,
--    install : installed_tests_enabled
--  )
-+    shared_module('resourceplugin', 'resourceplugin.c', plugin_resources_c,
-+      link_args : export_dynamic_ldflags,
-+      dependencies : common_gio_tests_deps,
-+      install_dir : installed_tests_execdir,
-+      install : installed_tests_enabled
-+    )
-+  endif
- 
-   # referenced by test2.gresource.xml
-   big_test_resource = custom_target(
-@@ -917,4 +919,7 @@ if installed_tests_enabled
- endif
- 
- subdir('services')
--subdir('modules')
-+
-+if get_option('default_library') != 'static'
-+  subdir('modules')
-+endif
-diff --git a/glib/tests/meson.build b/glib/tests/meson.build
-index 301158e0f..6203ff45e 100644
---- a/glib/tests/meson.build
-+++ b/glib/tests/meson.build
-@@ -172,7 +172,7 @@ else
-     'include' : {},
-     'unix' : {},
-   }
--  if have_rtld_next
-+  if have_rtld_next and get_option('default_library') != 'static'
-     glib_tests += {
-       'gutils-user-database' : {
-         'depends' : [
-diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build
-index c95fa1d00..25144c941 100644
---- 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
- 
--foreach module : ['moduletestplugin_a', 'moduletestplugin_b']
--  shared_module(module + '_plugin', 'lib@0@.c'.format(module),
--    dependencies : [libglib_dep, libgmodule_dep],
--    install_dir : installed_tests_execdir,
--    install : installed_tests_enabled,
--    name_suffix : module_suffix
--  )
--  shared_library(module + '_library', 'lib@0@.c'.format(module),
--    dependencies : [libglib_dep, libgmodule_dep],
--    install_dir : installed_tests_execdir,
--    install : installed_tests_enabled,
--    name_suffix : module_suffix
--  )
--endforeach
-+if get_option('default_library') != 'static'
-+  foreach module : ['moduletestplugin_a', 'moduletestplugin_b']
-+    shared_module(module + '_plugin', 'lib@0@.c'.format(module),
-+      dependencies : [libglib_dep, libgmodule_dep],
-+      install_dir : installed_tests_execdir,
-+      install : installed_tests_enabled,
-+      name_suffix : module_suffix
-+    )
-+    shared_library(module + '_library', 'lib@0@.c'.format(module),
-+      dependencies : [libglib_dep, libgmodule_dep],
-+      install_dir : installed_tests_execdir,
-+      install : installed_tests_enabled,
-+      name_suffix : module_suffix
-+    )
-+  endforeach
-+endif
- 
- common_c_args = test_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS']
- common_deps = [libm, thread_dep, libglib_dep]
--- 
-2.37.1
-
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 2c4422d7a1f..40744f987c8 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tracker";
-  version = "3.4.0";
+  version = "3.4.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "s7OAyVcdfHQjtfQB5KLy143kcUOwNessEoHiQjxZIYs=";
+    sha256 = "6p1BqfucK0KtgPwsgjJ7XHE9WUyWmwnhpJvmP7dPT64=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 866fa303148..9fef483ff0e 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -5,7 +5,6 @@
 , pkg-config
 , python3
 , substituteAll
-, withDarwinFrameworksGtkDocPatch ? false
 }:
 
 python3.pkgs.buildPythonApplication rec {