forked from mirrors/nixpkgs
cataclysm-dda{,-git}: fix locale directory
PREFIX/share/locale should be searched for translations not only on Linux.
This commit is contained in:
parent
7287a9e91d
commit
d77ce49c75
|
@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ]
|
buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ]
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
|
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
|
||||||
|
|
||||||
|
patches = [ ./patches/fix_locale_dir.patch ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
sed -i Makefile \
|
sed -i Makefile \
|
||||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ]
|
buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ]
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Cocoa ];
|
++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Cocoa ];
|
||||||
|
|
||||||
|
patches = [ ./patches/fix_locale_dir_git.patch ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
sed -i Makefile \
|
sed -i Makefile \
|
||||||
|
|
20
pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
Normal file
20
pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
Normal file
|
@ -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");
|
20
pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
Normal file
20
pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
Normal file
|
@ -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 );
|
Loading…
Reference in a new issue