From 27ec2df59eb0d69883f696b217994157f837cd3f Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 21:42:20 +0900 Subject: [PATCH 1/7] cataclysm-dda{,-git}: clean up - Remove cmath include (introduced by 97c484a) since the current gcc/clang works fine without it. - Suppress known compiler warnings instead of removing -Werror flag. --- pkgs/games/cataclysm-dda/default.nix | 10 +++++----- pkgs/games/cataclysm-dda/git.nix | 5 ----- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index be6f3265430..541b174cc6a 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -22,11 +22,6 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . - sed -i Makefile \ - -e 's,-Werror,,g' - - sed '1i#include ' \ - -i src/{crafting,skill,weather_data,melee,vehicle,overmap,iuse_actor}.cpp ''; makeFlags = [ @@ -35,6 +30,11 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" "OSX_MIN=10.6" # SDL for macOS only supports deploying on 10.6 and above + ] ++ stdenv.lib.optionals stdenv.cc.isGNU [ + "WARNINGS+=-Wno-deprecated-declarations" + "WARNINGS+=-Wno-ignored-attributes" + ] ++ stdenv.lib.optionals stdenv.cc.isClang [ + "WARNINGS+=-Wno-inconsistent-missing-override" ]; postBuild = stdenv.lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 3d8ec7d6844..ac2c1f9fdb1 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -21,11 +21,6 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . - sed -i Makefile \ - -e 's,-Werror,,g' - - sed '1i#include ' \ - -i src/{crafting,skill,weather_data,melee,vehicle,overmap,iuse_actor}.cpp ''; makeFlags = [ From 18618fae96156dfb4c5b18c4cf7c4def6c0c169a Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Thu, 8 Feb 2018 13:47:11 +0900 Subject: [PATCH 2/7] cataclysm-dda: require ncurses5 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22ce05089f8..d4a9c94f140 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18250,6 +18250,7 @@ with pkgs; cataclysm-dda = callPackage ../games/cataclysm-dda { inherit (darwin.apple_sdk.frameworks) Cocoa; + ncurses = ncurses5; }; cataclysm-dda-git = callPackage ../games/cataclysm-dda/git.nix { From 9ef3f90de79113c4cf6718c6fc6f18fc6aaf7ad8 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Sat, 27 Jan 2018 22:25:59 +0900 Subject: [PATCH 3/7] cataclysm-dda{,-git}: update homepage --- pkgs/games/cataclysm-dda/default.nix | 2 +- pkgs/games/cataclysm-dda/git.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index 541b174cc6a..c1b68e4ddba 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { substances or radiation, now more closely resemble insects, birds or fish than their original form. ''; - homepage = http://en.cataclysmdda.com/; + homepage = http://cataclysmdda.org/; license = licenses.cc-by-sa-30; maintainers = [ maintainers.skeidel ]; platforms = platforms.unix; diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index ac2c1f9fdb1..504a738c8b3 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { substances or radiation, now more closely resemble insects, birds or fish than their original form. ''; - homepage = http://en.cataclysmdda.com/; + homepage = http://cataclysmdda.org/; license = licenses.cc-by-sa-30; platforms = platforms.unix; }; From 5c325869dff36a3b5ec807fe145877ea483c05e1 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 21:47:51 +0900 Subject: [PATCH 4/7] cataclysm-dda-git: differentiate the version display from 0.C Previously the version shown in the title was 0.C, not distinguishable from the stable version. --- pkgs/games/cataclysm-dda/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 504a738c8b3..9f3ac07ec6b 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1" "LANGUAGES=all" + "VERSION=git-${version}-${stdenv.lib.substring 0 8 src.rev}" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" ]; From f3014ad8cc4013be896b131e30fbade07076807a Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 21:47:51 +0900 Subject: [PATCH 5/7] cataclysm-dda-git: install the launcher for Linux desktop environments --- pkgs/games/cataclysm-dda/git.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 9f3ac07ec6b..0f6f5fd7b5e 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . + sed -i data/xdg/com.cataclysmdda.cataclysm-dda.desktop \ + -e "s,\(Exec=\)\(cataclysm-tiles\),\1$out/bin/\2," ''; makeFlags = [ @@ -31,7 +33,10 @@ stdenv.mkDerivation rec { "NATIVE=osx CLANG=1" ]; - postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) '' + install -D -m 444 data/xdg/com.cataclysmdda.cataclysm-dda.desktop -T $out/share/applications/cataclysm-dda.desktop + install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps + '' + stdenv.lib.optionalString stdenv.isDarwin '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources From 289c8df4e53759287d47662a95d5dd2565c30ff9 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 17:58:19 +0900 Subject: [PATCH 6/7] cataclysm-dda-{,git}: support the console (no tiles) version You can install the console version with `cataclysm-dda{,-git}.override { tiles = false; }`. --- pkgs/games/cataclysm-dda/default.nix | 17 ++++++++++------- pkgs/games/cataclysm-dda/git.nix | 16 ++++++++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index c1b68e4ddba..ae662232ba8 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -1,5 +1,5 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, Cocoa, libicns }: +SDL2_mixer, freetype, gettext, Cocoa, libicns, tiles ? true }: stdenv.mkDerivation rec { version = "0.C"; @@ -13,10 +13,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ] - ++ stdenv.lib.optionals stdenv.isDarwin [ libicns ]; + ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ libicns ]; - buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ] - ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ]; + buildInputs = [ ncurses lua gettext ] + ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir.patch ]; @@ -25,8 +26,10 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1" + "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" # "LANGUAGES=all" # vanilla C:DDA installs all translations even without this flag! + ] ++ stdenv.lib.optionals tiles [ + "TILES=1 SOUND=1" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" "OSX_MIN=10.6" # SDL for macOS only supports deploying on 10.6 and above @@ -37,12 +40,12 @@ stdenv.mkDerivation rec { "WARNINGS+=-Wno-inconsistent-missing-override" ]; - postBuild = stdenv.lib.optionalString stdenv.isDarwin '' + postBuild = stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' # iconutil on macOS is not available in nixpkgs png2icns data/osx/AppIcon.icns data/osx/AppIcon.iconset/* ''; - postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + postInstall = stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 0f6f5fd7b5e..bad2338b2b8 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -1,5 +1,5 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa }: +SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa, tiles ? true }: stdenv.mkDerivation rec { version = "2017-12-09"; @@ -14,8 +14,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Cocoa ]; + buildInputs = [ ncurses lua gettext ] + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation ] + ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir_git.patch ]; @@ -26,17 +28,19 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1" + "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" "LANGUAGES=all" "VERSION=git-${version}-${stdenv.lib.substring 0 8 src.rev}" + ] ++ stdenv.lib.optionals tiles [ + "TILES=1 SOUND=1" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" ]; - postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postInstall = stdenv.lib.optionalString (tiles && !stdenv.isDarwin) '' install -D -m 444 data/xdg/com.cataclysmdda.cataclysm-dda.desktop -T $out/share/applications/cataclysm-dda.desktop install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources From a2df3ee29340cff2a92dd9dd9540f2761c806fc4 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Wed, 7 Feb 2018 00:01:15 +0900 Subject: [PATCH 7/7] cataclysm-dda{,-git}: styling --- pkgs/games/cataclysm-dda/default.nix | 30 ++++++++++++++---------- pkgs/games/cataclysm-dda/git.nix | 34 ++++++++++++++++------------ 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index ae662232ba8..a3adec38401 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -1,5 +1,6 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, Cocoa, libicns, tiles ? true }: +SDL2_mixer, freetype, gettext, Cocoa, libicns, +tiles ? true }: stdenv.mkDerivation rec { version = "0.C"; @@ -15,9 +16,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ libicns ]; - buildInputs = [ ncurses lua gettext ] - ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] - ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; + buildInputs = with stdenv.lib; [ ncurses lua gettext ] + ++ optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir.patch ]; @@ -25,18 +26,23 @@ stdenv.mkDerivation rec { patchShebangs . ''; - makeFlags = [ - "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" + makeFlags = with stdenv.lib; [ + "PREFIX=$(out)" + "LUA=1" + "RELEASE=1" + "USE_HOME_DIR=1" # "LANGUAGES=all" # vanilla C:DDA installs all translations even without this flag! - ] ++ stdenv.lib.optionals tiles [ - "TILES=1 SOUND=1" - ] ++ stdenv.lib.optionals stdenv.isDarwin [ - "NATIVE=osx CLANG=1" + ] ++ optionals tiles [ + "TILES=1" + "SOUND=1" + ] ++ optionals stdenv.isDarwin [ + "NATIVE=osx" + "CLANG=1" "OSX_MIN=10.6" # SDL for macOS only supports deploying on 10.6 and above - ] ++ stdenv.lib.optionals stdenv.cc.isGNU [ + ] ++ optionals stdenv.cc.isGNU [ "WARNINGS+=-Wno-deprecated-declarations" "WARNINGS+=-Wno-ignored-attributes" - ] ++ stdenv.lib.optionals stdenv.cc.isClang [ + ] ++ optionals stdenv.cc.isClang [ "WARNINGS+=-Wno-inconsistent-missing-override" ]; diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index bad2338b2b8..fcc2481cb69 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -1,5 +1,6 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa, tiles ? true }: +SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa, +tiles ? true }: stdenv.mkDerivation rec { version = "2017-12-09"; @@ -14,10 +15,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses lua gettext ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation ] - ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] - ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; + buildInputs = with stdenv.lib; [ ncurses lua gettext ] + ++ optionals stdenv.isDarwin [ CoreFoundation ] + ++ optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir_git.patch ]; @@ -27,20 +28,25 @@ stdenv.mkDerivation rec { -e "s,\(Exec=\)\(cataclysm-tiles\),\1$out/bin/\2," ''; - makeFlags = [ - "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" + makeFlags = with stdenv.lib; [ + "PREFIX=$(out)" + "LUA=1" + "RELEASE=1" + "USE_HOME_DIR=1" "LANGUAGES=all" - "VERSION=git-${version}-${stdenv.lib.substring 0 8 src.rev}" - ] ++ stdenv.lib.optionals tiles [ - "TILES=1 SOUND=1" - ] ++ stdenv.lib.optionals stdenv.isDarwin [ - "NATIVE=osx CLANG=1" + "VERSION=git-${version}-${substring 0 8 src.rev}" + ] ++ optionals tiles [ + "TILES=1" + "SOUND=1" + ] ++ optionals stdenv.isDarwin [ + "NATIVE=osx" + "CLANG=1" ]; - postInstall = stdenv.lib.optionalString (tiles && !stdenv.isDarwin) '' + postInstall = with stdenv.lib; optionalString (tiles && !stdenv.isDarwin) '' install -D -m 444 data/xdg/com.cataclysmdda.cataclysm-dda.desktop -T $out/share/applications/cataclysm-dda.desktop install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps - '' + stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' + '' + optionalString (tiles && stdenv.isDarwin) '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources