From fc4be77491859281f5bfd44ad04fd54161a11d05 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Mon, 22 Jun 2015 19:03:12 +0300 Subject: [PATCH] calamares: Patch out all file references to /usr This makes the timezone selection page as well as the keyboard layout selection page work correctly. --- pkgs/tools/misc/calamares/default.nix | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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" '';