about summary refs log tree commit diff
path: root/pkgs/build-support/build-fhsenv-bubblewrap
diff options
context:
space:
mode:
authorlelgenio <lelgenio@disroot.org>2023-05-06 22:03:42 -0300
committerlelgenio <lelgenio@disroot.org>2023-05-08 18:56:51 -0300
commit8aafc553aeeb7383a0f9066540a5db27e1558876 (patch)
tree0ec2b423bf8a7e092b7e7ad66887a5b4d831df8a /pkgs/build-support/build-fhsenv-bubblewrap
parent11fc1f224f53576457787d6c68ae192a0c26f279 (diff)
buildFHSEnv: use default values as fallback for XDG_DATA_DIRS
Diffstat (limited to 'pkgs/build-support/build-fhsenv-bubblewrap')
-rw-r--r--pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix13
1 files changed, 13 insertions, 0 deletions
diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix
index 305a959a35dd4..2d927c7df7317 100644
--- a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix
+++ b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix
@@ -76,6 +76,19 @@ let
     # XDG_DATA_DIRS is used by pressure-vessel (steam proton) and vulkan loaders to find the corresponding icd
     export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
 
+    # Following XDG spec [1], XDG_DATA_DIRS should default to "/usr/local/share:/usr/share".
+    # In nix, it is commonly set without containing these values, so we add them as fallback.
+    #
+    # [1] <https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>
+    case ":$XDG_DATA_DIRS:" in
+      *:/usr/local/share:*) ;;
+      *) export XDG_DATA_DIRS="$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/usr/local/share" ;;
+    esac
+    case ":$XDG_DATA_DIRS:" in
+      *:/usr/share:*) ;;
+      *) export XDG_DATA_DIRS="$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/usr/share" ;;
+    esac
+
     # Force compilers and other tools to look in default search paths
     unset NIX_ENFORCE_PURITY
     export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1