mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-12 04:35:41 +03:00
cataclysm-dda: 0.G -> 0.H
Release announcement: https://cataclysmdda.org/releases/#0h-release-herbert Changelog: https://github.com/CleverRaven/Cataclysm-DDA/blob/0.H-RELEASE/data/changelog.txt
This commit is contained in:
parent
b69edc44cc
commit
cd321ca9a4
7 changed files with 25 additions and 100 deletions
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, runtimeShell, pkg-config, gettext, ncurses, CoreFoundation
|
{ lib, stdenv, runtimeShell, pkg-config, gettext, ncurses
|
||||||
, tiles, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, freetype, Cocoa, zlib
|
, tiles, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, freetype, zlib
|
||||||
, debug
|
, debug
|
||||||
, useXdgDir
|
, useXdgDir
|
||||||
}:
|
}:
|
||||||
|
@ -10,7 +10,7 @@ let
|
||||||
commonDeps = [
|
commonDeps = [
|
||||||
gettext
|
gettext
|
||||||
zlib
|
zlib
|
||||||
] ++ optionals stdenv.hostPlatform.isDarwin [ CoreFoundation ];
|
];
|
||||||
|
|
||||||
cursesDeps = commonDeps ++ [ ncurses ];
|
cursesDeps = commonDeps ++ [ ncurses ];
|
||||||
|
|
||||||
|
@ -22,8 +22,7 @@ let
|
||||||
SDL2_mixer
|
SDL2_mixer
|
||||||
SDL2_ttf
|
SDL2_ttf
|
||||||
freetype
|
freetype
|
||||||
]
|
];
|
||||||
++ optionals stdenv.hostPlatform.isDarwin [ Cocoa ];
|
|
||||||
|
|
||||||
patchDesktopFile = ''
|
patchDesktopFile = ''
|
||||||
substituteInPlace $out/share/applications/org.cataclysmdda.CataclysmDDA.desktop \
|
substituteInPlace $out/share/applications/org.cataclysmdda.CataclysmDDA.desktop \
|
||||||
|
|
|
@ -1,20 +1,16 @@
|
||||||
{ newScope, darwin }:
|
{ newScope }:
|
||||||
|
|
||||||
let
|
let
|
||||||
callPackage = newScope self;
|
callPackage = newScope self;
|
||||||
|
|
||||||
stable = rec {
|
stable = rec {
|
||||||
tiles = callPackage ./stable.nix {
|
tiles = callPackage ./stable.nix { };
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa;
|
|
||||||
};
|
|
||||||
|
|
||||||
curses = tiles.override { tiles = false; };
|
curses = tiles.override { tiles = false; };
|
||||||
};
|
};
|
||||||
|
|
||||||
git = rec {
|
git = rec {
|
||||||
tiles = callPackage ./git.nix {
|
tiles = callPackage ./git.nix { };
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa;
|
|
||||||
};
|
|
||||||
|
|
||||||
curses = tiles.override { tiles = false; };
|
curses = tiles.override { tiles = false; };
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, callPackage, CoreFoundation, fetchFromGitHub, fetchpatch, pkgs, wrapCDDA, attachPkgs
|
{ lib, callPackage, fetchFromGitHub, fetchpatch, pkgs, wrapCDDA, attachPkgs
|
||||||
, tiles ? true, Cocoa
|
, tiles ? true
|
||||||
, debug ? false
|
, debug ? false
|
||||||
, useXdgDir ? false
|
, useXdgDir ? false
|
||||||
, version ? "2024-07-28"
|
, version ? "2024-07-28"
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
common = callPackage ./common.nix {
|
common = callPackage ./common.nix {
|
||||||
inherit CoreFoundation tiles Cocoa debug useXdgDir;
|
inherit tiles debug useXdgDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
self = common.overrideAttrs (common: rec {
|
self = common.overrideAttrs (common: rec {
|
||||||
|
@ -24,7 +24,7 @@ let
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Unconditionally look for translation files in $out/share/locale
|
# Unconditionally look for translation files in $out/share/locale
|
||||||
./locale-path-git.patch
|
./locale-path.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
makeFlags = common.makeFlags ++ [
|
makeFlags = common.makeFlags ++ [
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
diff --git a/src/debug.cpp b/src/debug.cpp
|
|
||||||
index fa63a3b..1e8f554 100644
|
|
||||||
--- a/src/debug.cpp
|
|
||||||
+++ b/src/debug.cpp
|
|
||||||
@@ -1494,6 +1494,14 @@ std::string game_info::operating_system()
|
|
||||||
}
|
|
||||||
|
|
||||||
#if !defined(__CYGWIN__) && !defined (__ANDROID__) && ( defined (__linux__) || defined(unix) || defined(__unix__) || defined(__unix) || ( defined(__APPLE__) && defined(__MACH__) ) || defined(BSD) ) // linux; unix; MacOs; BSD
|
|
||||||
+ //
|
|
||||||
+class FILEDeleter
|
|
||||||
+{
|
|
||||||
+ public:
|
|
||||||
+ void operator()( FILE *f ) const noexcept {
|
|
||||||
+ pclose( f );
|
|
||||||
+ }
|
|
||||||
+};
|
|
||||||
/** Execute a command with the shell by using `popen()`.
|
|
||||||
* @param command The full command to execute.
|
|
||||||
* @note The output buffer is limited to 512 characters.
|
|
||||||
@@ -1504,7 +1512,7 @@ static std::string shell_exec( const std::string &command )
|
|
||||||
std::vector<char> buffer( 512 );
|
|
||||||
std::string output;
|
|
||||||
try {
|
|
||||||
- std::unique_ptr<FILE, decltype( &pclose )> pipe( popen( command.c_str(), "r" ), pclose );
|
|
||||||
+ std::unique_ptr<FILE, FILEDeleter> pipe( popen( command.c_str(), "r" ) );
|
|
||||||
if( pipe ) {
|
|
||||||
while( fgets( buffer.data(), buffer.size(), pipe.get() ) != nullptr ) {
|
|
||||||
output += buffer.data();
|
|
|
@ -1,17 +0,0 @@
|
||||||
diff --git a/src/translations.cpp b/src/translations.cpp
|
|
||||||
--- a/src/translations.cpp
|
|
||||||
+++ b/src/translations.cpp
|
|
||||||
@@ -52,13 +52,11 @@ std::string locale_dir()
|
|
||||||
#define CATA_IS_ON_BSD
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if !defined(__ANDROID__) && ((defined(__linux__) || defined(CATA_IS_ON_BSD) || (defined(MACOSX) && !defined(TILES))))
|
|
||||||
if( !PATH_INFO::base_path().empty() ) {
|
|
||||||
loc_dir = PATH_INFO::base_path() + "share/locale";
|
|
||||||
} else {
|
|
||||||
loc_dir = PATH_INFO::langdir();
|
|
||||||
}
|
|
||||||
-#endif
|
|
||||||
#endif // LOCALIZE
|
|
||||||
return loc_dir;
|
|
||||||
}
|
|
|
@ -1,12 +1,11 @@
|
||||||
diff --git a/src/translations.cpp b/src/translations.cpp
|
diff --git a/src/translations.cpp b/src/translations.cpp
|
||||||
index 76bdfd0..6dd6109 100644
|
|
||||||
--- a/src/translations.cpp
|
--- a/src/translations.cpp
|
||||||
+++ b/src/translations.cpp
|
+++ b/src/translations.cpp
|
||||||
@@ -61,13 +61,11 @@ std::string locale_dir()
|
@@ -52,13 +52,11 @@ std::string locale_dir()
|
||||||
#define BSD
|
#define CATA_IS_ON_BSD
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
-#if !defined(__ANDROID__) && ((defined(__linux__) || defined(BSD) || (defined(MACOSX) && !defined(TILES))))
|
-#if !defined(__ANDROID__) && ((defined(__linux__) || defined(CATA_IS_ON_BSD) || (defined(MACOSX) && !defined(TILES))))
|
||||||
if( !PATH_INFO::base_path().empty() ) {
|
if( !PATH_INFO::base_path().empty() ) {
|
||||||
loc_dir = PATH_INFO::base_path() + "share/locale";
|
loc_dir = PATH_INFO::base_path() + "share/locale";
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,66 +1,42 @@
|
||||||
{ lib
|
{ lib
|
||||||
, callPackage
|
, callPackage
|
||||||
, CoreFoundation
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, pkgs
|
, pkgs
|
||||||
, wrapCDDA
|
, wrapCDDA
|
||||||
, attachPkgs
|
, attachPkgs
|
||||||
, tiles ? true
|
, tiles ? true
|
||||||
, Cocoa
|
|
||||||
, debug ? false
|
, debug ? false
|
||||||
, useXdgDir ? false
|
, useXdgDir ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
common = callPackage ./common.nix {
|
common = callPackage ./common.nix {
|
||||||
inherit CoreFoundation tiles Cocoa debug useXdgDir;
|
inherit tiles debug useXdgDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
self = common.overrideAttrs (common: rec {
|
self = common.overrideAttrs (common: rec {
|
||||||
version = "0.G";
|
version = "0.H";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "CleverRaven";
|
owner = "CleverRaven";
|
||||||
repo = "Cataclysm-DDA";
|
repo = "Cataclysm-DDA";
|
||||||
rev = version;
|
tag = "${version}-RELEASE";
|
||||||
sha256 = "sha256-Hda0dVVHNeZ8MV5CaCbSpdOCG2iqQEEmXdh16vwIBXk=";
|
sha256 = "sha256-ZCD5qgqYSX7sS+Tc1oNYq9soYwNUUuWamY2uXfLjGoY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
# fix compilation of the vendored flatbuffers under gcc14
|
||||||
|
(fetchpatch {
|
||||||
|
name = "fix-flatbuffers-with-gcc14";
|
||||||
|
url = "https://github.com/CleverRaven/Cataclysm-DDA/commit/1400b1018ff37196bd24ba4365bd50beb571ac14.patch";
|
||||||
|
hash = "sha256-H0jct6lSQxu48eOZ4f8HICxo89qX49Ksw+Xwwtp7iFM=";
|
||||||
|
})
|
||||||
# Unconditionally look for translation files in $out/share/locale
|
# Unconditionally look for translation files in $out/share/locale
|
||||||
./locale-path.patch
|
./locale-path.patch
|
||||||
# Fixes for failing build with GCC 13, remove on updating next release after 0.G
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://sources.debian.org/data/main/c/cataclysm-dda/0.G-4/debian/patches/gcc13-dangling-reference-warning.patch";
|
|
||||||
hash = "sha256-9nPbyz49IYBOVHqr7jzCIyS8z/SQgpK4EjEz1fruIPE=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://sources.debian.org/data/main/c/cataclysm-dda/0.G-4/debian/patches/gcc13-cstdint.patch";
|
|
||||||
hash = "sha256-8IBW2OzAHVgEJZoViQ490n37sl31hA55ePuqDL/lil0=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://sources.debian.org/data/main/c/cataclysm-dda/0.G-4/debian/patches/gcc13-keyword-requires.patch";
|
|
||||||
hash = "sha256-8yvHh0YKC7AC/qzia7AZAfMewMC0RiSepMXpOkMXRd8=";
|
|
||||||
})
|
|
||||||
# Fix build w/ glibc-2.39
|
|
||||||
# From https://github.com/BrettDong/Cataclysm-DDA/commit/9b206e2dc969ad79345596e03c3980bd155d2f48
|
|
||||||
./glibc-2.39.diff
|
|
||||||
];
|
|
||||||
|
|
||||||
makeFlags = common.makeFlags ++ [
|
|
||||||
# Makefile declares version as 0.F, with no minor release number
|
|
||||||
"VERSION=${version}"
|
|
||||||
];
|
|
||||||
|
|
||||||
env.NIX_CFLAGS_COMPILE = toString [
|
|
||||||
# Needed with GCC 12
|
|
||||||
"-Wno-error=array-bounds"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = common.meta // {
|
meta = common.meta // {
|
||||||
maintainers = with lib.maintainers;
|
|
||||||
common.meta.maintainers;
|
|
||||||
changelog = "https://github.com/CleverRaven/Cataclysm-DDA/blob/${version}/data/changelog.txt";
|
changelog = "https://github.com/CleverRaven/Cataclysm-DDA/blob/${version}/data/changelog.txt";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue