glib: fix loading dylibs through gobject on darwin

This commit is contained in:
Tor Hedin Brønner 2019-10-03 06:17:35 +02:00 committed by worldofpeace
parent 31c4f79289
commit 259556da8a

View File

@ -8,7 +8,7 @@
, doCheck ? config.doCheckByDefault or false , doCheck ? config.doCheckByDefault or false
, coreutils, dbus, libxml2, tzdata , coreutils, dbus, libxml2, tzdata
, desktop-file-utils, shared-mime-info , desktop-file-utils, shared-mime-info
, darwin , darwin, fetchpatch
}: }:
with stdenv.lib; with stdenv.lib;
@ -55,40 +55,46 @@ stdenv.mkDerivation rec {
sha256 = "046sqfmr84blxh4vkipmh8ff7wd19fxmh6lnr5ibchx3l02p49bc"; sha256 = "046sqfmr84blxh4vkipmh8ff7wd19fxmh6lnr5ibchx3l02p49bc";
}; };
patches = optional stdenv.isDarwin ./darwin-compilation.patch patches = optionals stdenv.isDarwin [
++ optional doCheck ./skip-timer-test.patch ./darwin-compilation.patch
++ optionals stdenv.hostPlatform.isMusl [ # fix loading dylibs on darwin
./quark_init_on_demand.patch # Remove on 2.62.1
./gobject_init_on_demand.patch (fetchpatch {
] ++ [ url = "https://gitlab.gnome.org/GNOME/glib/commit/e2409e5e180f1fa369d0e87e38e4d646d9f68791.patch";
./schema-override-variable.patch sha256 = "1dhjwlsqdgnn8fr8pzfrnd63m7pdgf7mizdyn8lwg17ggvq6qsqf";
# Require substituteInPlace in postPatch })
./fix-gio-launch-desktop-path.patch ] ++ optionals stdenv.hostPlatform.isMusl [
./quark_init_on_demand.patch
./gobject_init_on_demand.patch
] ++ [
./schema-override-variable.patch
# Require substituteInPlace in postPatch
./fix-gio-launch-desktop-path.patch
# GLib contains many binaries used for different purposes; # GLib contains many binaries used for different purposes;
# we will install them to different outputs: # we will install them to different outputs:
# 1. Tools for desktop environment ($bin) # 1. Tools for desktop environment ($bin)
# * gapplication (non-darwin) # * gapplication (non-darwin)
# * gdbus # * gdbus
# * gio # * gio
# * gio-launch-desktop (symlink to $out) # * gio-launch-desktop (symlink to $out)
# * gsettings # * gsettings
# 2. Development/build tools ($dev) # 2. Development/build tools ($dev)
# * gdbus-codegen # * gdbus-codegen
# * gio-querymodules # * gio-querymodules
# * glib-compile-resources # * glib-compile-resources
# * glib-compile-schemas # * glib-compile-schemas
# * glib-genmarshal # * glib-genmarshal
# * glib-gettextize # * glib-gettextize
# * glib-mkenums # * glib-mkenums
# * gobject-query # * gobject-query
# * gresource # * gresource
# * gtester # * gtester
# * gtester-report # * gtester-report
# 3. Tools for desktop environment that cannot go to $bin due to $out depending on them ($out) # 3. Tools for desktop environment that cannot go to $bin due to $out depending on them ($out)
# * gio-launch-desktop # * gio-launch-desktop
./split-dev-programs.patch ./split-dev-programs.patch
]; ] ++ optional doCheck ./skip-timer-test.patch;
outputs = [ "bin" "out" "dev" "devdoc" ]; outputs = [ "bin" "out" "dev" "devdoc" ];