summary refs log tree commit diff
path: root/gnu/packages/patches/lierolibre-newer-libconfig.patch
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2017-04-24 00:41:49 +0200
committerMarius Bakke <mbakke@fastmail.com>2017-05-12 15:42:08 +0200
commitffed9eabcc1dd368d28f89728b2b901a180f5e19 (patch)
treec1b5f92391e0cd1b7706df60c7c9f8cf15c5e67f /gnu/packages/patches/lierolibre-newer-libconfig.patch
parentace41d5071b62b49a3bf1cbff00155fa6c85d54d (diff)
downloadguix-ffed9eabcc1dd368d28f89728b2b901a180f5e19.tar.gz
gnu: Add lierolibre.
* gnu/packages/patches/lierolibre-check-unaligned-access.patch,
gnu/packages/patches/lierolibre-is-free-software.patch,
gnu/packages/patches/lierolibre-remove-arch-warning.patch,
gnu/packages/patches/lierolibre-try-building-other-arch.patch,
gnu/packages/patches/lierolibre-newer-libconfig.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/games.scm (lierolibre): New variable.
Diffstat (limited to 'gnu/packages/patches/lierolibre-newer-libconfig.patch')
-rw-r--r--gnu/packages/patches/lierolibre-newer-libconfig.patch190
1 files changed, 190 insertions, 0 deletions
diff --git a/gnu/packages/patches/lierolibre-newer-libconfig.patch b/gnu/packages/patches/lierolibre-newer-libconfig.patch
new file mode 100644
index 0000000000..662d0f90fa
--- /dev/null
+++ b/gnu/packages/patches/lierolibre-newer-libconfig.patch
@@ -0,0 +1,190 @@
+Fix compatibility with newer libconfig.
+
+Patch copied from upstream source repository:
+
+https://gitlab.com/lierolibre/lierolibre/commit/b27e3604aa6bfbfcc50db1000b394d06c87ae2f2
+
+diff --git a/src/common.cpp b/src/common.cpp
+index 2d6ada5..4942b05 100644
+--- a/src/common.cpp
++++ b/src/common.cpp
+@@ -162,7 +162,7 @@ void Texts::loadFromCFG(std::string cfgFilePath)
+ 	const libconfig::Setting &sgmodes = texts["gameModes"];
+ 	for(int i = 0; i < 4; ++i)
+ 	{
+-		gameModes[i] = (char const*)sgmodes["gameModes" + to_string(i)];
++		gameModes[i] = (char const*)sgmodes[("gameModes" + to_string(i)).c_str()];
+ 	}
+ 
+ 	const libconfig::Setting &sgmspec = texts["gameModeSpec"];
+@@ -181,13 +181,13 @@ void Texts::loadFromCFG(std::string cfgFilePath)
+ 	const libconfig::Setting &swstates = texts["weapStates"];
+ 	for(int i = 0; i < 3; ++i)
+ 	{
+-		 weapStates[i] = (char const*)swstates["weapStates" + to_string(i)];
++		 weapStates[i] = (char const*)swstates[("weapStates" + to_string(i)).c_str()];
+ 	}
+ 
+ 	const libconfig::Setting &sknames = texts["keyNames"];
+ 	for(int i = 1; i < 177; ++i) // First key starts at 1
+ 	{
+-		keyNames[i] = (char const*)sknames["keyNames" + to_string(i)];
++		keyNames[i] = (char const*)sknames[("keyNames" + to_string(i)).c_str()];
+ 	}
+ 
+ 	selWeap = (char const*)texts["selWeap"];
+@@ -315,8 +315,8 @@ void Common::loadPaletteFromCFG(std::string cfgFilePath)
+ 	const libconfig::Setting &scanim = palette["colorAnim"];
+ 	for(int i = 0; i < 4; ++i)
+ 	{
+-		colorAnim[i].from = (int)scanim["colorAnim" + to_string(i) + "from"];
+-		colorAnim[i].to = (int)scanim["colorAnim" + to_string(i) + "to"];
++		colorAnim[i].from = (int)scanim[("colorAnim" + to_string(i) + "from").c_str()];
++		colorAnim[i].to = (int)scanim[("colorAnim" + to_string(i) + "to").c_str()];
+ 	}
+ }
+ 
+@@ -383,7 +383,7 @@ void Common::loadMaterialsFromCFG(std::string cfgFilePath)
+ 
+ 	for(int i = 0; i < 256; ++i)
+ 	{
+-		const libconfig::Setting &smflags = smaterials["flags" + to_string(i)];
++		const libconfig::Setting &smflags = smaterials[("flags" + to_string(i)).c_str()];
+ 		materials[i].flags = smflags;
+ 	}
+ }
+diff --git a/src/configCompat.cpp b/src/configCompat.cpp
+index 1aeb262..a72c40f 100644
+--- a/src/configCompat.cpp
++++ b/src/configCompat.cpp
+@@ -160,19 +160,19 @@ void Common::loadConstantsFromCFGVer0(string cfgFilePath)
+ 	const Setting &vconstants = constants["Values"];
+ 	for(int i = 0; i < MaxC; ++i)
+ 	{
+-		C[i] = (int)vconstants[valueConstantsNamesCFGVer0[i]];
++		C[i] = (int)vconstants[valueConstantsNamesCFGVer0[i].c_str()];
+ 	}
+ 
+ 	const Setting &sconstants = constants["Strings"];
+ 	for(int i = 0; i < MaxS; ++i)
+ 	{
+-		S[i]= (char const*)sconstants[stringConstantsNamesCFGVer0[i]];
++		S[i]= (char const*)sconstants[stringConstantsNamesCFGVer0[i].c_str()];
+ 	}
+ 
+ 	const Setting &hconstants = constants["Hacks"];
+ 	for(int i = 0; i < MaxH; ++i)
+ 	{
+-		H[i] = (bool)hconstants[hackConstantsNamesVer0[i]];
++		H[i] = (bool)hconstants[hackConstantsNamesVer0[i].c_str()];
+ 	}
+ }
+ 
+diff --git a/src/configHelper.cpp b/src/configHelper.cpp
+index fcd1f3f..a63bddc 100644
+--- a/src/configHelper.cpp
++++ b/src/configHelper.cpp
+@@ -54,15 +54,11 @@ template Uint8 ConfigHelper::getValue<Uint8, const Setting, int>(const Setting &
+ 
+ template Uint8 ConfigHelper::getValue<Uint8, const Setting, char const*>(const Setting &node, char const* index);
+ 
+-template Uint8 ConfigHelper::getValue<Uint8, const Setting, string>(const Setting &node, string index);
+-
+ // Non-const
+ template Uint8 ConfigHelper::getValue<Uint8, Setting, int>(Setting &node, int index);
+ 
+ template Uint8 ConfigHelper::getValue<Uint8, Setting, char const*>(Setting &node, char const* index);
+ 
+-template Uint8 ConfigHelper::getValue<Uint8, Setting, string>(Setting &node, string index);
+-
+ 
+ // Since we still need specialisation per value type (Setting::Type),
+ // no need to templateify these
+@@ -72,7 +68,7 @@ void ConfigHelper::put(Setting &node, string variable, string value)
+ 	{
+ 		node.add(variable, Setting::TypeString) = value;
+ 	} else {
+-		Setting &var = node[variable];
++		Setting &var = node[variable.c_str()];
+ 		var = value;
+ 	}
+ }
+@@ -83,7 +79,7 @@ void ConfigHelper::put(Setting &node, string variable, int value)
+ 	{
+ 		node.add(variable, Setting::TypeInt) = value;
+ 	} else {
+-		Setting &var = node[variable];
++		Setting &var = node[variable.c_str()];
+ 		var = value;
+ 	}
+ }
+@@ -94,7 +90,7 @@ void ConfigHelper::put(Setting &node, string variable, Uint8 value)
+ 	{
+ 		node.add(variable, Setting::TypeInt) = value;
+ 	} else {
+-		Setting &var = node[variable];
++		Setting &var = node[variable.c_str()];
+ 		var = value;
+ 	}
+ }
+@@ -105,7 +101,7 @@ void ConfigHelper::put(Setting &node, string variable, bool value)
+ 	{
+ 		node.add(variable, Setting::TypeBoolean) = value;
+ 	} else {
+-		Setting &var = node[variable];
++		Setting &var = node[variable.c_str()];
+ 		var = value;
+ 	}
+ }
+@@ -135,6 +131,6 @@ Setting& ConfigHelper::getSubgroup(Setting &node, string groupName)
+ 	{
+ 		node.add(groupName, Setting::TypeGroup);
+ 	}
+-	return node[groupName];
++	return node[groupName.c_str()];
+ }
+ 
+diff --git a/src/constants.cpp b/src/constants.cpp
+index 7fced6a..cf7bbfc 100644
+--- a/src/constants.cpp
++++ b/src/constants.cpp
+@@ -523,19 +523,19 @@ void Common::loadConstantsFromCFG(std::string cfgFilePath)
+ 	const libconfig::Setting &vconstants = constants["Values"];
+ 	for(int i = 0; i < MaxC; ++i)
+ 	{
+-		C[i] = (int)vconstants[valueConstantsNames[i]];
++		C[i] = (int)vconstants[valueConstantsNames[i].c_str()];
+ 	}
+ 
+ 	const libconfig::Setting &sconstants = constants["Strings"];
+ 	for(int i = 0; i < MaxS; ++i)
+ 	{
+-		S[i]= (char const*)sconstants[stringConstantsNames[i]];
++		S[i]= (char const*)sconstants[stringConstantsNames[i].c_str()];
+ 	}
+ 
+ 	const libconfig::Setting &hconstants = constants["Hacks"];
+ 	for(int i = 0; i < MaxH; ++i)
+ 	{
+-		H[i] = (bool)hconstants[hackConstantsNames[i]];
++		H[i] = (bool)hconstants[hackConstantsNames[i].c_str()];
+ 	}
+ }
+ 
+diff --git a/src/gfx/palette.cpp b/src/gfx/palette.cpp
+index 3fd08c4..3d3bf22 100644
+--- a/src/gfx/palette.cpp
++++ b/src/gfx/palette.cpp
+@@ -124,9 +124,9 @@ void Palette::readFromCFG(std::string cfgFilePath)
+ 
+ 	for(int i = 0; i < 256; ++i)
+ 	{
+-		entries[i].r = cfgHelp.getValue<Uint8>(spentries, "entries" + to_string(i) + "r");
+-		entries[i].g = cfgHelp.getValue<Uint8>(spentries, "entries" + to_string(i) + "g");
+-		entries[i].b = cfgHelp.getValue<Uint8>(spentries, "entries" + to_string(i) + "b");
++		entries[i].r = cfgHelp.getValue<Uint8>(spentries, ("entries" + to_string(i) + "r").c_str());
++		entries[i].g = cfgHelp.getValue<Uint8>(spentries, ("entries" + to_string(i) + "g").c_str());
++		entries[i].b = cfgHelp.getValue<Uint8>(spentries, ("entries" + to_string(i) + "b").c_str());
+ 	}
+ }
+