summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2015-06-22 19:03:12 +0300
committerTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2015-06-22 19:03:12 +0300
commitfc4be77491859281f5bfd44ad04fd54161a11d05 (patch)
tree4dbe4eb459b85888cdaf5330d57de0fd4ce019ea /pkgs/tools/misc
parent6881cd2c3aad274e10f8b7ebb80a5d491a518e8a (diff)
downloadnixlib-fc4be77491859281f5bfd44ad04fd54161a11d05.tar
nixlib-fc4be77491859281f5bfd44ad04fd54161a11d05.tar.gz
nixlib-fc4be77491859281f5bfd44ad04fd54161a11d05.tar.bz2
nixlib-fc4be77491859281f5bfd44ad04fd54161a11d05.tar.lz
nixlib-fc4be77491859281f5bfd44ad04fd54161a11d05.tar.xz
nixlib-fc4be77491859281f5bfd44ad04fd54161a11d05.tar.zst
nixlib-fc4be77491859281f5bfd44ad04fd54161a11d05.zip
calamares: Patch out all file references to /usr
This makes the timezone selection page as well as the keyboard layout
selection page work correctly.
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/calamares/default.nix22
1 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index c8fe39f6a7a9..e2b8c70c6e27 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchgit, cmake, qt5, polkit_qt5, libyamlcpp, python, boost, parted
-, extra-cmake-modules, kconfig, ki18n, kcoreaddons, solid, utillinux, libatasmart }:
+, extra-cmake-modules, kconfig, ki18n, kcoreaddons, solid, utillinux, libatasmart
+, ckbcomp, glibc, tzdata, xkeyboard_config }:
 
 stdenv.mkDerivation rec {
   name = "calamares-${version}";
@@ -22,6 +23,25 @@ stdenv.mkDerivation rec {
     "-DWITH_PARTITIONMANAGER=1"
   ];
 
+  patchPhase = ''
+      sed -e "s,/usr/bin/calamares,$out/bin/calamares," \
+          -i calamares.desktop \
+          -i com.github.calamares.calamares.policy
+
+      sed -e 's,/usr/share/zoneinfo,${tzdata}/share/zoneinfo,' \
+          -i src/modules/locale/timezonewidget/localeconst.h \
+          -i src/modules/locale/SetTimezoneJob.cpp
+
+      sed -e 's,/usr/share/i18n/locales,${glibc}/share/i18n/locales,' \
+          -i src/modules/locale/timezonewidget/localeconst.h
+
+      sed -e 's,/usr/share/X11/xkb/rules/base.lst,${xkeyboard_config}/share/X11/xkb/rules/base.lst,' \
+          -i src/modules/keyboard/keyboardwidget/keyboardglobal.h
+
+      sed -e 's,"ckbcomp","${ckbcomp}/bin/ckbcomp",' \
+          -i src/modules/keyboard/keyboardwidget/keyboardpreview.cpp
+  '';
+
   preInstall = ''
     substituteInPlace cmake_install.cmake --replace "${polkit_qt5}" "$out"
   '';