diff options
author | Vladimír Čunát <v@cunat.cz> | 2022-03-15 09:42:01 +0100 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2022-03-15 09:52:04 +0100 |
commit | f48c1fda6b457520c1214b29992af0c0c9872b6c (patch) | |
tree | 1bb43ae46bf2c035c48361c764ad4c5995881a10 /pkgs/build-support | |
parent | 415d23fb4d2b2823a87d410da9beef8332d82d7b (diff) | |
parent | aa6313a23d749f0d73f91af35a2fe15e74501451 (diff) |
Merge branch 'master' into staging-next
Conflict in pkgs/development/libraries/libvirt/default.nix required manual adjustments. The fetched patch is already in src. I checked that libvirt builds.
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/appimage/default.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix | 26 | ||||
-rw-r--r-- | pkgs/build-support/build-fhs-userenv/env.nix | 26 | ||||
-rwxr-xr-x | pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh | 2 |
4 files changed, 55 insertions, 1 deletions
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix index 4d302156f7076..0bee6ce065ad7 100644 --- a/pkgs/build-support/appimage/default.nix +++ b/pkgs/build-support/appimage/default.nix @@ -68,6 +68,8 @@ rec { xdg-utils iana-etc krb5 + gsettings-desktop-schemas + hicolor-icon-theme # dont show a gtk warning about hicolor not being installed ]; # list of libraries expected in an appimage environment: diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix index 1c4e2b607696b..d0f88df445374 100644 --- a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix +++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix @@ -93,6 +93,32 @@ let paths = [ etcPkg ldconfig ] ++ basePkgs ++ targetPaths; extraOutputsToInstall = [ "out" "lib" "bin" ] ++ extraOutputsToInstall; ignoreCollisions = true; + postBuild = '' + if [[ -d $out/share/gsettings-schemas/ ]]; then + # Recreate the standard schemas directory if its a symlink to make it writable + if [[ -L $out/share/glib-2.0 ]]; then + ln -s $(readlink $out/share/glib-2.0) $out/share/glib-2.0.old + rm -rf $out/share/glib-2.0 + fi + + mkdir -p $out/share/glib-2.0/schemas + + # symlink any schema files or overrides to the standard schema directory + if [[ -e $out/share/glib-2.0.old/schemas ]]; then + ln -fs $out/share/glib-2.0.old/schemas/*.xml $out/share/glib-2.0/schemas + ln -fs $out/share/glib-2.0.old/schemas/*.gsettings-schemas.override $out/share/glib-2.0/schemas + fi + + for d in $out/share/gsettings-schemas/*; do + # Force symlink, in case there are duplicates + ln -fs $d/glib-2.0/schemas/*.xml $out/share/glib-2.0/schemas + ln -fs $d/glib-2.0/schemas/*.gschema.override $out/share/glib-2.0/schemas + done + + # and compile them + ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas + fi + ''; }; staticUsrProfileMulti = buildEnv { diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix index abf577baa2d1f..7251500f76c5a 100644 --- a/pkgs/build-support/build-fhs-userenv/env.nix +++ b/pkgs/build-support/build-fhs-userenv/env.nix @@ -134,6 +134,32 @@ let paths = [ etcPkg ] ++ basePkgs ++ targetPaths; extraOutputsToInstall = [ "out" "lib" "bin" ] ++ extraOutputsToInstall; ignoreCollisions = true; + postBuild = '' + if [[ -d $out/share/gsettings-schemas/ ]]; then + # Recreate the standard schemas directory if its a symlink to make it writable + if [[ -L $out/share/glib-2.0 ]]; then + ln -s $(readlink $out/share/glib-2.0) $out/share/glib-2.0.old + rm -rf $out/share/glib-2.0 + fi + + mkdir -p $out/share/glib-2.0/schemas + + # symlink any schema files or overrides to the standard schema directory + if [[ -e $out/share/glib-2.0.old/schemas ]]; then + ln -fs $out/share/glib-2.0.old/schemas/*.xml $out/share/glib-2.0/schemas + ln -fs $out/share/glib-2.0.old/schemas/*.gsettings-schemas.override $out/share/glib-2.0/schemas + fi + + for d in $out/share/gsettings-schemas/*; do + # Force symlink, in case there are duplicates + ln -fs $d/glib-2.0/schemas/*.xml $out/share/glib-2.0/schemas + ln -fs $d/glib-2.0/schemas/*.gschema.override $out/share/glib-2.0/schemas + done + + # and compile them + ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas + fi + ''; }; staticUsrProfileMulti = buildEnv { diff --git a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh index 2d02767814e04..d2e7882caf6d5 100755 --- a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh +++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh @@ -9,7 +9,7 @@ fi pkgs=$1 tmpfile=$(mktemp /tmp/nuget-to-nix.XXXXXX) -trap 'rm -f "$tmpfile" EXIT +trap "rm -f ${tmpfile}" EXIT echo "{ fetchNuGet }: [" |