summary refs log tree commit diff
path: root/pkgs/games/cataclysm-dda
diff options
context:
space:
mode:
authorMitsuhiro Nakamura <m.nacamura@gmail.com>2018-01-22 19:45:12 +0900
committerMitsuhiro Nakamura <m.nacamura@gmail.com>2018-01-22 22:37:02 +0900
commitd77ce49c757cf3fab9cabc465509c728afdb31f9 (patch)
treea5bf7486d3c962415cc90e9902e5aa6a525a7835 /pkgs/games/cataclysm-dda
parent7287a9e91d9702fbec8899e7f6ffad7551a0f269 (diff)
downloadnixpkgs-d77ce49c757cf3fab9cabc465509c728afdb31f9.tar
nixpkgs-d77ce49c757cf3fab9cabc465509c728afdb31f9.tar.gz
nixpkgs-d77ce49c757cf3fab9cabc465509c728afdb31f9.tar.bz2
nixpkgs-d77ce49c757cf3fab9cabc465509c728afdb31f9.tar.lz
nixpkgs-d77ce49c757cf3fab9cabc465509c728afdb31f9.tar.xz
nixpkgs-d77ce49c757cf3fab9cabc465509c728afdb31f9.tar.zst
nixpkgs-d77ce49c757cf3fab9cabc465509c728afdb31f9.zip
cataclysm-dda{,-git}: fix locale directory
PREFIX/share/locale should be searched for translations not only on Linux.
Diffstat (limited to 'pkgs/games/cataclysm-dda')
-rw-r--r--pkgs/games/cataclysm-dda/default.nix2
-rw-r--r--pkgs/games/cataclysm-dda/git.nix2
-rw-r--r--pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch20
-rw-r--r--pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch20
4 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix
index c5e17473b49..6ab2b4449b9 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 3162f2ecb25..264dc8b65a0 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 00000000000..775a8ec6007
--- /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 00000000000..c3140af03c8
--- /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 );