about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/cataclysm-dda
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-06-12 09:59:45 +0000
committerAlyssa Ross <hi@alyssa.is>2019-06-18 18:14:17 +0000
commitc5571a126859eb658ffd7340cb580f7d91f12bb6 (patch)
tree577573c3bf14d9849246d52daece719a10eaf138 /nixpkgs/pkgs/games/cataclysm-dda
parent828bd4e8ddcbcd354ddfd99f55af69ee8ff5d9e7 (diff)
parent98e3b90b6c8f400ae5438ef868eb992a64b75ce5 (diff)
downloadnixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.gz
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.bz2
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.lz
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.xz
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.zst
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.zip
Merge commit '98e3b90b6c8f400ae5438ef868eb992a64b75ce5'
Diffstat (limited to 'nixpkgs/pkgs/games/cataclysm-dda')
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/common.nix20
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/default.nix41
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/git.nix30
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch22
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch16
5 files changed, 55 insertions, 74 deletions
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/common.nix b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
index b39eb987e00d..3a7b410a04bd 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/common.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchFromGitHub, pkgconfig, gettext, lua, ncurses
+{ stdenv, fetchFromGitHub, pkgconfig, gettext, ncurses, CoreFoundation
 , tiles, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, freetype, Cocoa
 , debug, runtimeShell
 }:
 
 let
-  inherit (stdenv.lib) optionals;
+  inherit (stdenv.lib) optionals optionalString;
 
-  cursesDeps = [ gettext lua ncurses ];
+  cursesDeps = [ gettext ncurses ]
+    ++ optionals stdenv.isDarwin [ CoreFoundation ];
 
   tilesDeps = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf freetype ]
     ++ optionals stdenv.isDarwin [ Cocoa ];
@@ -21,7 +22,7 @@ let
     '';
 
     makeFlags = [
-      "PREFIX=$(out)" "LUA=1" "USE_HOME_DIR=1" "LANGUAGES=all"
+      "PREFIX=$(out)" "USE_HOME_DIR=1" "LANGUAGES=all"
     ] ++ optionals (!debug) [
       "RELEASE=1"
     ] ++ optionals tiles [
@@ -30,8 +31,19 @@ let
       "NATIVE=osx" "CLANG=1"
     ];
 
+    postInstall = optionalString tiles
+    ( if !stdenv.isDarwin
+      then utils.installXDGAppLauncher
+      else utils.installMacOSAppLauncher
+    );
+
     dontStrip = debug;
 
+    # https://hydra.nixos.org/build/65193254
+    # src/weather_data.cpp:203:1: fatal error: opening dependency file obj/tiles/weather_data.d: No such file or directory
+    # make: *** [Makefile:687: obj/tiles/weather_data.o] Error 1
+    enableParallelBuilding = false;
+
     meta = with stdenv.lib; {
       description = "A free, post apocalyptic, zombie infested rogue-like";
       longDescription = ''
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/default.nix b/nixpkgs/pkgs/games/cataclysm-dda/default.nix
index 3ddac8f3fc7a..84a70c275a2f 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/default.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/default.nix
@@ -1,50 +1,33 @@
-{ stdenv, callPackage, ncurses
-, tiles ? true, Cocoa, libicns
+{ stdenv, callPackage, lua, CoreFoundation
+, tiles ? true, Cocoa
 , debug ? false
 }:
 
 let
-  inherit (stdenv.lib) optionals optionalString;
-  inherit (callPackage ./common.nix { inherit tiles Cocoa debug; }) common utils;
-  inherit (utils) fetchFromCleverRaven installMacOSAppLauncher;
+  inherit (callPackage ./common.nix { inherit tiles CoreFoundation Cocoa debug; }) common utils;
+  inherit (utils) fetchFromCleverRaven;
 in
 
 stdenv.mkDerivation (common // rec {
-  version = "0.C";
+  version = "0.D";
   name = "cataclysm-dda-${version}";
 
   src = fetchFromCleverRaven {
     rev = "${version}";
-    sha256 = "03sdzsk4qdq99qckq0axbsvg1apn6xizscd8pwp5w6kq2fyj5xkv";
+    sha256 = "00zzhx1mh1qjq668cga5nbrxp2qk6b82j5ak65skhgnlr6ii4ysc";
   };
 
-  nativeBuildInputs = common.nativeBuildInputs
-    ++ optionals (tiles && stdenv.isDarwin) [ libicns ];
+  buildInputs = common.buildInputs ++ [ lua ];
 
   patches = [ ./patches/fix_locale_dir.patch ];
 
-  makeFlags = common.makeFlags
-    ++ optionals stdenv.isDarwin [
-    "OSX_MIN=10.6"  # SDL for macOS only supports deploying on 10.6 and above
-  ] ++ optionals stdenv.cc.isGNU [
-    "WARNINGS+=-Wno-deprecated-declarations"
-    "WARNINGS+=-Wno-ignored-attributes"
-  ] ++ optionals stdenv.cc.isClang [
-    "WARNINGS+=-Wno-inconsistent-missing-override"
-  ];
-
-  NIX_CFLAGS_COMPILE = optionalString stdenv.cc.isClang "-Wno-user-defined-warnings";
-
-  postBuild = optionalString (tiles && stdenv.isDarwin) ''
-    # iconutil on macOS is not available in nixpkgs
-    png2icns data/osx/AppIcon.icns data/osx/AppIcon.iconset/*
+  postPatch = common.postPatch + ''
+    substituteInPlace lua/autoexec.lua --replace "/usr/share" "$out/share"
   '';
 
-  postInstall = optionalString (tiles && stdenv.isDarwin)
-    installMacOSAppLauncher;
-
-  # Disable, possible problems with hydra
-  #enableParallelBuilding = true;
+  makeFlags = common.makeFlags ++ [
+    "LUA=1"
+  ];
 
   meta = with stdenv.lib.maintainers; common.meta // {
     maintainers = common.meta.maintainers ++ [ skeidel ];
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/git.nix b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
index c8f031d31942..b872e95d5896 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/git.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
@@ -1,43 +1,29 @@
-{ stdenv, callPackage
-, tiles ? true, Cocoa, CoreFoundation
+{ stdenv, callPackage, CoreFoundation
+, tiles ? true, Cocoa
 , debug ? false
 }:
 
 let
-  inherit (stdenv.lib) optionals optionalString substring;
-  inherit (callPackage ./common.nix { inherit tiles Cocoa debug; }) common utils;
-  inherit (utils) fetchFromCleverRaven installXDGAppLauncher installMacOSAppLauncher;
+  inherit (stdenv.lib) substring;
+  inherit (callPackage ./common.nix { inherit tiles CoreFoundation Cocoa debug; }) common utils;
+  inherit (utils) fetchFromCleverRaven;
 in
 
 stdenv.mkDerivation (common // rec {
-  version = "2018-07-15";
+  version = "2019-05-03";
   name = "cataclysm-dda-git-${version}";
 
   src = fetchFromCleverRaven {
-    rev = "e1e5d81";
-    sha256 = "198wfj8l1p8xlwicj92cq237pzv2ha9pcf240y7ijhjpmlc9jkr1";
+    rev = "65a05026e7306b5d1228dc6ed885c43447f128b5";
+    sha256 = "18yn0h6b4j9lx67sq1d886la3l6l7bqsnwj6mw2khidssiy18y0n";
   };
 
-  buildInputs = common.buildInputs
-    ++ optionals stdenv.isDarwin [ CoreFoundation ];
-
   patches = [ ./patches/fix_locale_dir_git.patch ];
 
   makeFlags = common.makeFlags ++ [
     "VERSION=git-${version}-${substring 0 8 src.rev}"
   ];
 
-  postInstall = optionalString tiles
-  ( if !stdenv.isDarwin
-    then installXDGAppLauncher
-    else installMacOSAppLauncher
-  );
-
-  # https://hydra.nixos.org/build/65193254
-  # src/weather_data.cpp:203:1: fatal error: opening dependency file obj/tiles/weather_data.d: No such file or directory
-  # make: *** [Makefile:687: obj/tiles/weather_data.o] Error 1
-  enableParallelBuilding = false;
-
   meta = with stdenv.lib.maintainers; common.meta // {
     maintainers = common.meta.maintainers ++ [ rardiol ];
   };
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
index 775a8ec6007d..60a3dc457453 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
+++ b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
@@ -1,20 +1,20 @@
 diff --git a/src/translations.cpp b/src/translations.cpp
-index 6520cfe..49f7b2c 100644
+index 2585b7ec56..7bb005823c 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();
+@@ -195,14 +195,12 @@ void set_language()
+     auto env = getenv( "LANGUAGE" );
+     locale_dir = std::string( FILENAMES["base_path"] + "lang/mo/" + ( env ? env : "none" ) +
+                               "/LC_MESSAGES/cataclysm-dda.mo" );
+-#elif (defined __linux__ || (defined MACOSX && !defined TILES))
++#else
+     if( !FILENAMES["base_path"].empty() ) {
+         locale_dir = FILENAMES["base_path"] + "share/locale";
      } else {
          locale_dir = "lang/mo";
      }
 -#else
 -    locale_dir = "lang/mo";
--#endif // __linux__
+ #endif
  
-     bindtextdomain("cataclysm-dda", locale_dir);
-     bind_textdomain_codeset("cataclysm-dda", "UTF-8");
+     const char *locale_dir_char = locale_dir.c_str();
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
index c3140af03c8b..1b92c8816614 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
+++ b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
@@ -1,12 +1,13 @@
 diff --git a/src/translations.cpp b/src/translations.cpp
-index 3a86291..e6c5f84 100644
+index 0068a35785..c8034cbeac 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))
+@@ -202,14 +202,12 @@ void set_language()
+     auto env = getenv( "LANGUAGE" );
+     locale_dir = std::string( FILENAMES["base_path"] + "lang/mo/" + ( env ? env : "none" ) +
+                               "/LC_MESSAGES/cataclysm-dda.mo" );
+-#elif (defined(__linux__) || (defined(MACOSX) && !defined(TILES)))
++#else
      if( !FILENAMES["base_path"].empty() ) {
          locale_dir = FILENAMES["base_path"] + "share/locale";
      } else {
@@ -14,7 +15,6 @@ index 3a86291..e6c5f84 100644
      }
 -#else
 -    locale_dir = "lang/mo";
--#endif // __linux__
+ #endif
  
      const char *locale_dir_char = locale_dir.c_str();
-     bindtextdomain( "cataclysm-dda", locale_dir_char );