anchor.diff:      rm $out/lib/libregress-1.0${stdenv.targetPlatform.extensions.sharedLibrary}
     '';
   
  +  setupHook = ./setup-hook.sh;
  +
     passthru = {
       updateScript = gnome3.updateScript {
         packageName = pname;
  
positive.code:     "-Dcairo=disabled"
    ];
  
    # outputs TODO: share/gobject-introspection-1.0/tests is needed during build
    # by pygobject3 (and maybe others), but it's only searched in $out
  
    setupHook = ./setup-hook.sh;
  
    patches = [
      (substituteAll {
        src = ./test_shlibs.patch;
        inherit nixStoreDir;
      })
      (substituteAll {
        src = ./absolute_shlib_path.patch;
        inherit nixStoreDir;
      })
    ] ++ stdenv.lib.optional x11Support # https://github.com/NixOS/nixpkgs/issues/34080
      (substituteAll {
        src = ./absolute_gir_path.patch;
        cairoLib = "${getLib cairo}/lib";
      });
  
    doCheck = !stdenv.isAarch64;
  
    preBuild = ''
      # Our gobject-introspection patches make the shared library paths absolute
  
negative.code: { stdenv
  , fetchurl
  , glib
  , flex
  , bison
  , meson
  , ninja
  , pkg-config
  , libffi
  , python3
  , libintl
  , cctools
  , cairo
  , gnome3
  , glibcLocales
  , substituteAll
  , nixStoreDir ? builtins.storeDir
  , x11Support ? true
  }:
  
  # now that gobject-introspection creates large .gir files (eg gtk3 case)
  # it may be worth thinking about using multiple derivation outputs
  # In that case its about 6MB which could be separated
  
  stdenv.mkDerivation rec {
    pname = "gobject-introspection";
    version = "1.64.1";
  
    # outputs TODO: share/gobject-introspection-1.0/tests is needed during build
    # by pygobject3 (and maybe others), but it's only searched in $out
    outputs = [ "out" "dev" "man" ];
    outputBin = "dev";
  
    src = fetchurl {
      url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
      sha256 = "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0";
    };
  
    patches = [
      (substituteAll {
        src = ./test_shlibs.patch;
        inherit nixStoreDir;
      })
  
      (substituteAll {
        src = ./absolute_shlib_path.patch;
        inherit nixStoreDir;
      })
    ] ++ stdenv.lib.optionals x11Support [
      # https://github.com/NixOS/nixpkgs/issues/34080
      (substituteAll {
        src = ./absolute_gir_path.patch;
        cairoLib = "${stdenv.lib.getLib cairo}/lib";
      })
    ];
  
    nativeBuildInputs = [
      meson
      ninja
      pkg-config
      libintl
      glibcLocales
    ];
  
    buildInputs = [
      flex
      bison
      python3
      setupHook /*move .gir*/
    ] ++ stdenv.lib.optionals stdenv.isDarwin [
      cctools
    ];
  
    propagatedBuildInputs = [
      libffi
      glib
    ];
  
    mesonFlags = [
      "--datadir=${placeholder "dev"}/share"
  