about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2015-03-09 17:14:27 +0300
committerNikolay Amiantov <ab@fmap.me>2015-03-09 17:29:43 +0300
commit3e395b71da1f99eb5ace8d99adb4b1f76424c3d6 (patch)
tree71e368f25872963cc34d3122d86811b0bdbd1a8a /pkgs/build-support
parente3ab3df26e418c8f964b57e990144572a86580d0 (diff)
downloadnixlib-3e395b71da1f99eb5ace8d99adb4b1f76424c3d6.tar
nixlib-3e395b71da1f99eb5ace8d99adb4b1f76424c3d6.tar.gz
nixlib-3e395b71da1f99eb5ace8d99adb4b1f76424c3d6.tar.bz2
nixlib-3e395b71da1f99eb5ace8d99adb4b1f76424c3d6.tar.lz
nixlib-3e395b71da1f99eb5ace8d99adb4b1f76424c3d6.tar.xz
nixlib-3e395b71da1f99eb5ace8d99adb4b1f76424c3d6.tar.zst
nixlib-3e395b71da1f99eb5ace8d99adb4b1f76424c3d6.zip
chroot-env: add locales, refactor environment
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/env.nix5
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/load.sh.in8
-rwxr-xr-xpkgs/build-support/build-fhs-userenv/chroot-user.rb12
3 files changed, 16 insertions, 9 deletions
diff --git a/pkgs/build-support/build-fhs-chrootenv/env.nix b/pkgs/build-support/build-fhs-chrootenv/env.nix
index a50917a96cd2..d80e2869e5e6 100644
--- a/pkgs/build-support/build-fhs-chrootenv/env.nix
+++ b/pkgs/build-support/build-fhs-chrootenv/env.nix
@@ -62,7 +62,7 @@ let
       chosenGcc
       bashInteractive coreutils less shadow su
       gawk diffutils findutils gnused gnugrep
-      gnutar gzip bzip2 xz
+      gnutar gzip bzip2 xz glibcLocales
     ];
 
   # Compose a global profile for the chroot environment
@@ -72,6 +72,9 @@ let
       mkdir -p $out/etc
       cat >> $out/etc/profile << "EOF"
       export PS1='${name}-chrootenv:\u@\h:\w\$ '
+      export LOCALE_ARCHIVE='/usr/lib${if is64Bit then "64" else ""}/locale/locale-archive'
+      export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib:/lib32:/lib64
+      export PATH='/bin:/sbin'
       ${profile}
       EOF
     '';
diff --git a/pkgs/build-support/build-fhs-chrootenv/load.sh.in b/pkgs/build-support/build-fhs-chrootenv/load.sh.in
index 6089fa275855..99da20c34b21 100644
--- a/pkgs/build-support/build-fhs-chrootenv/load.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/load.sh.in
@@ -3,4 +3,10 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Enter the LFS chroot environment
-sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="$HOME" PATH="/bin:/sbin" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" /bin/bash --login
+sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i \
+     TERM="$TERM" \
+     DISPLAY="$DISPLAY" \
+     HOME="$HOME" \
+     XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \
+     LANG="$LANG" \
+     /bin/bash --login
diff --git a/pkgs/build-support/build-fhs-userenv/chroot-user.rb b/pkgs/build-support/build-fhs-userenv/chroot-user.rb
index 7a066f1bc84f..35608bd3eb60 100755
--- a/pkgs/build-support/build-fhs-userenv/chroot-user.rb
+++ b/pkgs/build-support/build-fhs-userenv/chroot-user.rb
@@ -116,13 +116,11 @@ if $cpid == 0
   link_swdir.call swdir, Pathname.new('')
 
   # New environment
-  oldenv = ENV.to_h
-  ENV.replace({ 'PS1' => oldenv['PS1'],
-                'TERM' => oldenv['TERM'],
-                'DISPLAY' => oldenv['DISPLAY'],
-                'HOME' => oldenv['HOME'],
-                'PATH' => '/bin:/sbin',
-                'XDG_RUNTIME_DIR' => oldenv['XDG_RUNTIME_DIR'],
+  ENV.replace({ 'TERM' => ENV['TERM'],
+                'DISPLAY' => ENV['DISPLAY'],
+                'HOME' => ENV['HOME'],
+                'XDG_RUNTIME_DIR' => ENV['XDG_RUNTIME_DIR'],
+                'LANG' => ENV['LANG'],
               })
 
   # Finally, exec!