From d77ce49c757cf3fab9cabc465509c728afdb31f9 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Mon, 22 Jan 2018 19:45:12 +0900 Subject: [PATCH] cataclysm-dda{,-git}: fix locale directory PREFIX/share/locale should be searched for translations not only on Linux. --- pkgs/games/cataclysm-dda/default.nix | 2 ++ pkgs/games/cataclysm-dda/git.nix | 2 ++ .../patches/fix_locale_dir.patch | 20 +++++++++++++++++++ .../patches/fix_locale_dir_git.patch | 20 +++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch create mode 100644 pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index c5e17473b490..6ab2b4449b92 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -18,6 +18,8 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ]; + patches = [ ./patches/fix_locale_dir.patch ]; + postPatch = '' patchShebangs . sed -i Makefile \ diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 3162f2ecb259..264dc8b65a07 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Cocoa ]; + patches = [ ./patches/fix_locale_dir_git.patch ]; + postPatch = '' patchShebangs . sed -i Makefile \ diff --git a/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch b/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch new file mode 100644 index 000000000000..775a8ec6007d --- /dev/null +++ b/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch @@ -0,0 +1,20 @@ +diff --git a/src/translations.cpp b/src/translations.cpp +index 6520cfe..49f7b2c 100644 +--- a/src/translations.cpp ++++ b/src/translations.cpp +@@ -72,15 +72,11 @@ void set_language(bool reload_options) + + // Step 2. Bind to gettext domain. + const char *locale_dir; +-#ifdef __linux__ + if (!FILENAMES["base_path"].empty()) { + locale_dir = std::string(FILENAMES["base_path"] + "share/locale").c_str(); + } else { + locale_dir = "lang/mo"; + } +-#else +- locale_dir = "lang/mo"; +-#endif // __linux__ + + bindtextdomain("cataclysm-dda", locale_dir); + bind_textdomain_codeset("cataclysm-dda", "UTF-8"); diff --git a/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch new file mode 100644 index 000000000000..c3140af03c8b --- /dev/null +++ b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch @@ -0,0 +1,20 @@ +diff --git a/src/translations.cpp b/src/translations.cpp +index 3a86291..e6c5f84 100644 +--- a/src/translations.cpp ++++ b/src/translations.cpp +@@ -176,15 +176,11 @@ void set_language() + + // Step 2. Bind to gettext domain. + std::string locale_dir; +-#if (defined __linux__ || (defined MACOSX && !defined TILES)) + if( !FILENAMES["base_path"].empty() ) { + locale_dir = FILENAMES["base_path"] + "share/locale"; + } else { + locale_dir = "lang/mo"; + } +-#else +- locale_dir = "lang/mo"; +-#endif // __linux__ + + const char *locale_dir_char = locale_dir.c_str(); + bindtextdomain( "cataclysm-dda", locale_dir_char );