diff --git a/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
index f7e1bedd3e1..d4160b51d68 100644
--- a/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
+++ b/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
@@ -2,10 +2,10 @@
+++ b/gir/cairo-1.0.gir.in
@@ -5,7 +5,7 @@
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-
+
0:
+ if len(patterns) > 0:
--- a/giscanner/utils.py
+++ b/giscanner/utils.py
-@@ -113,17 +113,11 @@
+@@ -116,17 +116,11 @@
if dlname is None:
return None
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 71bff07dd97..2cd3d9bd098 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
-, libintl, cctools, cairo, gnome3
+{ stdenv, fetchurl, glib, flex, bison, meson, ninja, pkgconfig, libffi, python3
+, libintl, cctools, cairo, gnome3, glibcLocales, fetchpatch
, substituteAll, nixStoreDir ? builtins.storeDir
, x11Support ? true
}:
@@ -9,7 +9,7 @@
let
pname = "gobject-introspection";
- version = "1.56.0";
+ version = "1.58.1";
in
with stdenv.lib;
stdenv.mkDerivation rec {
@@ -17,21 +17,22 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
- sha256 = "1y50pbn5qqbcv2h9rkz96wvv5jls2gma9bkqjq6wapmaszx5jw0d";
+ sha256 = "12fzs3044047icdfs7cb2lsmnfi6w6fyhkci3m2rbvf5llgnhm29";
};
- outputs = [ "out" "dev" ];
+ outputs = [ "out" "dev" "man" ];
outputBin = "dev";
- outputMan = "dev"; # tiny pages
- nativeBuildInputs = [ pkgconfig libintl ];
- buildInputs = [ flex bison python setupHook/*move .gir*/ ]
+ LC_ALL = "en_US.UTF-8"; # for tests
+
+ nativeBuildInputs = [ meson ninja pkgconfig libintl glibcLocales ];
+ buildInputs = [ flex bison python3 setupHook/*move .gir*/ ]
++ stdenv.lib.optional stdenv.isDarwin cctools;
propagatedBuildInputs = [ libffi glib ];
- preConfigure = ''
- sed 's|/usr/bin/env ||' -i tools/g-ir-tool-template.in
- '';
+ mesonFlags = [
+ "--datadir=${placeholder "dev"}/share"
+ ];
# outputs TODO: share/gobject-introspection-1.0/tests is needed during build
# by pygobject3 (and maybe others), but it's only searched in $out
@@ -50,7 +51,7 @@ stdenv.mkDerivation rec {
cairoLib = "${getLib cairo}/lib";
});
- doCheck = false; # fails
+ doCheck = true;
passthru = {
updateScript = gnome3.updateScript {
diff --git a/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch b/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch
index 9a1d41cf1e3..9941878c427 100644
--- a/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch
+++ b/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch
@@ -25,12 +25,12 @@ index c93d20c..4d4915d 100644
# Assume ldd output is something vaguely like
#
-@@ -121,7 +137,7 @@ def _resolve_non_libtool(options, binary, libraries):
- m = pattern.search(line)
+@@ -136,7 +152,7 @@ def resolve_from_ldd_output(libraries, output, basename=False):
+ m = pattern.match(word)
if m:
del patterns[library]
-- shlibs.append(m.group(1))
-+ shlibs.append(_sanitize_install_name(m.group(1)))
+- shlibs.append(m.group())
++ shlibs.append(_sanitize_install_name(m.group()))
break
- if len(patterns) > 0:
+ if len(patterns) > 0:
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b52e781111d..c91e83c4fb0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9901,7 +9901,6 @@ with pkgs;
gobjectIntrospection = callPackage ../development/libraries/gobject-introspection {
nixStoreDir = config.nix.storeDir or builtins.storeDir;
inherit (darwin) cctools;
- python = python2;
};
goocanvas = callPackage ../development/libraries/goocanvas { };