diff --git a/.gitignore b/.gitignore index 536c311..2c3947f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /cataclysm-dda-0.E.tar.gz /cataclysm-dda-0.E-2.tar.gz /cataclysm-dda-0.E-3.tar.gz +/Cataclysm-DDA-0.F-2.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 2db118f..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# cataclysm-dda - -The cataclysm-dda package \ No newline at end of file diff --git a/cataclysm-dda-constexpr.patch b/cataclysm-dda-constexpr.patch new file mode 100644 index 0000000..c89adc0 --- /dev/null +++ b/cataclysm-dda-constexpr.patch @@ -0,0 +1,47 @@ +diff --git a/tests/catch/catch.hpp b/tests/catch/catch.hpp +index 32701b2bd7..883b2fc96d 100644 +--- a/tests/catch/catch.hpp ++++ b/tests/catch/catch.hpp +@@ -8047,7 +8047,7 @@ namespace Catch { + static bool isSet; + static struct sigaction oldSigActions[]; + static stack_t oldSigStack; +- static char altStackMem[]; ++ static char *altStackMem; + + static void handleSignal( int sig ); + +@@ -10826,7 +10826,7 @@ namespace Catch { + + // 32kb for the alternate stack seems to be sufficient. However, this value + // is experimentally determined, so that's not guaranteed. +- static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; ++ static std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; + + static SignalDefs signalDefs[] = { + { SIGINT, "SIGINT - Terminal interrupt signal" }, +@@ -10851,6 +10851,7 @@ namespace Catch { + } + + FatalConditionHandler::FatalConditionHandler() { ++ altStackMem = new char[sigStackSize]; + isSet = true; + stack_t sigStack; + sigStack.ss_sp = altStackMem; +@@ -10868,6 +10869,7 @@ namespace Catch { + + FatalConditionHandler::~FatalConditionHandler() { + reset(); ++ delete[] altStackMem; + } + + void FatalConditionHandler::reset() { +@@ -10885,7 +10887,7 @@ namespace Catch { + bool FatalConditionHandler::isSet = false; + struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {}; + stack_t FatalConditionHandler::oldSigStack = {}; +- char FatalConditionHandler::altStackMem[sigStackSize] = {}; ++ char *FatalConditionHandler::altStackMem; + + } // namespace Catch + diff --git a/cataclysm-dda-gcc11.patch b/cataclysm-dda-gcc11.patch deleted file mode 100644 index 1ad8453..0000000 --- a/cataclysm-dda-gcc11.patch +++ /dev/null @@ -1,202 +0,0 @@ -diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp -index 0b59272..a7dc11e 100644 ---- a/src/activity_item_handling.cpp -+++ b/src/activity_item_handling.cpp -@@ -1146,7 +1146,7 @@ static activity_reason_info find_base_construction( - - //we can't immediately build it, looking for pre-req - used.insert( idx ); -- cata::optional reason; -+ cata::optional reason = { }; - construction_id pre_req_idx( -1 ); - //first step: try only constructions with the same description - //second step: try all constructions -diff --git a/src/avatar.cpp b/src/avatar.cpp -index 6c17505..4d33e34 100644 ---- a/src/avatar.cpp -+++ b/src/avatar.cpp -@@ -416,7 +416,7 @@ bool avatar::read( item &it, const bool continuous ) - // special guidebook effect: print a misc. hint when read - if( reader != this ) { - add_msg( m_info, fail_messages[0] ); -- dynamic_cast( reader )->say( get_hint() ); -+ dynamic_cast( *reader ).say( get_hint() ); - } else { - add_msg( m_info, get_hint() ); - } -diff --git a/src/avatar_action.cpp b/src/avatar_action.cpp -index 1a7149c..728e51d 100644 ---- a/src/avatar_action.cpp -+++ b/src/avatar_action.cpp -@@ -595,7 +595,7 @@ void avatar_action::autoattack( avatar &you, map &m ) - if( !c->is_npc() ) { - return false; - } -- return !dynamic_cast( c )->is_enemy(); -+ return !dynamic_cast( *c ).is_enemy(); - } ), critters.end() ); - if( critters.empty() ) { - add_msg( m_info, _( "No hostile creature in reach. Waiting a turn." ) ); -diff --git a/src/item.cpp b/src/item.cpp -index 635b56c..194df4d 100644 ---- a/src/item.cpp -+++ b/src/item.cpp -@@ -7799,13 +7799,13 @@ units::volume item::get_total_capacity() const - // future then this probably warrants a new method on use_function to - // access this information generically. - if( is_bandolier() ) { -- result += dynamic_cast -- ( type->get_use( "bandolier" )->get_actor_ptr() )->max_stored_volume(); -+ result += dynamic_cast -+ ( *type->get_use( "bandolier" )->get_actor_ptr() ).max_stored_volume(); - } - - if( is_holster() ) { -- result += dynamic_cast -- ( type->get_use( "holster" )->get_actor_ptr() )->max_stored_volume(); -+ result += dynamic_cast -+ ( *type->get_use( "holster" )->get_actor_ptr() ).max_stored_volume(); - } - - return result; -diff --git a/src/bionics.cpp b/src/bionics.cpp -index ea39bbd..0b2a356 100644 ---- a/src/bionics.cpp -+++ b/src/bionics.cpp -@@ -1290,7 +1290,7 @@ void Character::heat_emission( int b, int fuel_energy ) - const int heat_spread = std::max( heat_prod / 10 - heat_level, 1 ); - g->m.emit_field( pos(), hotness, heat_spread ); - } -- for( const std::pair &bp : bio.info().occupied_bodyparts ) { -+ for( const std::pair &bp : bio.info().occupied_bodyparts ) { - add_effect( effect_heating_bionic, 2_seconds, bp.first, false, heat_prod ); - } - } -diff --git a/src/item.cpp b/src/item.cpp -index 194df4d..5918105 100644 ---- a/src/item.cpp -+++ b/src/item.cpp -@@ -3185,7 +3185,7 @@ void item::final_info( std::vector &info, const iteminfo_query *parts, - info.push_back( iteminfo( "DESCRIPTION", - _( "Environmental Protection: " ), - iteminfo::no_newline ) ); -- for( const std::pair< body_part, size_t > &element : bid->env_protec ) { -+ for( const std::pair &element : bid->env_protec ) { - info.push_back( iteminfo( "CBM", body_part_name_as_heading( element.first, 1 ), - " ", iteminfo::no_newline, element.second ) ); - } -@@ -3195,7 +3195,7 @@ void item::final_info( std::vector &info, const iteminfo_query *parts, - info.push_back( iteminfo( "DESCRIPTION", - _( "Bash Protection: " ), - iteminfo::no_newline ) ); -- for( const std::pair< body_part, size_t > &element : bid->bash_protec ) { -+ for( const std::pair &element : bid->bash_protec ) { - info.push_back( iteminfo( "CBM", body_part_name_as_heading( element.first, 1 ), - " ", iteminfo::no_newline, element.second ) ); - } -@@ -3204,7 +3204,7 @@ void item::final_info( std::vector &info, const iteminfo_query *parts, - info.push_back( iteminfo( "DESCRIPTION", - _( "Cut Protection: " ), - iteminfo::no_newline ) ); -- for( const std::pair< body_part, size_t > &element : bid->cut_protec ) { -+ for( const std::pair &element : bid->cut_protec ) { - info.push_back( iteminfo( "CBM", body_part_name_as_heading( element.first, 1 ), - " ", iteminfo::no_newline, element.second ) ); - } -diff --git a/src/monster.cpp b/src/monster.cpp -index d3c4599..3d56924 100644 ---- a/src/monster.cpp -+++ b/src/monster.cpp -@@ -2055,7 +2055,7 @@ void monster::process_turn() - { - decrement_summon_timer(); - if( !is_hallucination() ) { -- for( const std::pair &e : type->emit_fields ) { -+ for( const std::pair &e : type->emit_fields ) { - if( !calendar::once_every( e.second ) ) { - continue; - } -diff --git a/src/monstergenerator.cpp b/src/monstergenerator.cpp -index f11ba0e..8a371fa 100644 ---- a/src/monstergenerator.cpp -+++ b/src/monstergenerator.cpp -@@ -1177,7 +1177,7 @@ void MonsterGenerator::check_monster_definitions() const - } - } - -- for( const std::pair &e : mon.emit_fields ) { -+ for( const std::pair &e : mon.emit_fields ) { - const emit_id emid = e.first; - if( !emid.is_valid() ) { - debugmsg( "monster %s has invalid emit source %s", mon.id.c_str(), emid.c_str() ); -diff --git a/src/recipe.cpp b/src/recipe.cpp -index cc7b022..a89c13d 100644 ---- a/src/recipe.cpp -+++ b/src/recipe.cpp -@@ -274,7 +274,7 @@ void recipe::load( const JsonObject &jo, const std::string &src ) - for( JsonArray cur : jneeds.get_array( "skills" ) ) { - skills_blueprint[skill_id( cur.get_string( 0 ) )] = cur.get_int( 1 ); - } -- for( const std::pair &p : skills_blueprint ) { -+ for( const std::pair &p : skills_blueprint ) { - const auto it = required_skills.find( p.first ); - if( it == required_skills.end() ) { - required_skills.emplace( p ); -@@ -667,7 +667,7 @@ void recipe::check_blueprint_requirements() - - jsout.member( "skills" ); - jsout.start_array( /*wrap=*/!total_reqs.skills.empty() ); -- for( const std::pair &p : total_reqs.skills ) { -+ for( const std::pair &p : total_reqs.skills ) { - jsout.start_array(); - jsout.write( p.first ); - jsout.write( p.second ); -diff --git a/tests/crafting_test.cpp b/tests/crafting_test.cpp -index 1cc0996..3ef4d8d 100644 ---- a/tests/crafting_test.cpp -+++ b/tests/crafting_test.cpp -@@ -124,7 +124,7 @@ TEST_CASE( "available_recipes", "[recipes]" ) - - GIVEN( "a recipe that can be automatically learned" ) { - WHEN( "the player has lower skill" ) { -- for( const std::pair &skl : r->required_skills ) { -+ for( const std::pair &skl : r->required_skills ) { - dummy.set_skill_level( skl.first, skl.second - 1 ); - } - -@@ -134,7 +134,7 @@ TEST_CASE( "available_recipes", "[recipes]" ) - } - WHEN( "the player has just the skill that's required" ) { - dummy.set_skill_level( r->skill_used, r->difficulty ); -- for( const std::pair &skl : r->required_skills ) { -+ for( const std::pair &skl : r->required_skills ) { - dummy.set_skill_level( skl.first, skl.second ); - } - -@@ -143,7 +143,7 @@ TEST_CASE( "available_recipes", "[recipes]" ) - - AND_WHEN( "his skill rusts" ) { - dummy.set_skill_level( r->skill_used, 0 ); -- for( const std::pair &skl : r->required_skills ) { -+ for( const std::pair &skl : r->required_skills ) { - dummy.set_skill_level( skl.first, 0 ); - } - -@@ -167,7 +167,7 @@ TEST_CASE( "available_recipes", "[recipes]" ) - dummy.set_skill_level( r->skill_used, 2 ); - // Secondary skills are just set to be what the autolearn requires - // but the primary is not -- for( const std::pair &skl : r->required_skills ) { -+ for( const std::pair &skl : r->required_skills ) { - dummy.set_skill_level( skl.first, skl.second ); - } - -@@ -287,7 +287,7 @@ static void prep_craft( const recipe_id &rid, const std::vector &tools, - const recipe &r = rid.obj(); - - // Ensure adequate skill for all "required" skills -- for( const std::pair &skl : r.required_skills ) { -+ for( const std::pair &skl : r.required_skills ) { - g->u.set_skill_level( skl.first, skl.second ); - } - // and just in case "used" skill difficulty is higher, set that too diff --git a/cataclysm-dda.spec b/cataclysm-dda.spec index 036b233..2f2fa08 100644 --- a/cataclysm-dda.spec +++ b/cataclysm-dda.spec @@ -7,14 +7,15 @@ %endif Name: cataclysm-dda -Version: 0.E.3 -Release: 2%{?dist} +Version: 0.F.2 +Release: 1%{?dist} Summary: Turn-based survival game set in a post-apocalyptic world License: CC-BY-SA URL: http://cataclysmdda.org -Source0: https://github.com/CleverRaven/Cataclysm-DDA/archive/0.E-3/%{name}-0.E-3.tar.gz -Patch0: cataclysm-dda-gcc11.patch +# https://github.com/CleverRaven/Cataclysm-DDA/archive/refs/tags/0.F-2.tar.gz +Source0: Cataclysm-DDA-0.F-2.tar.gz +Patch0: cataclysm-dda-constexpr.patch # Due virtual memory exhausted and build fail ExcludeArch: i686 @@ -90,7 +91,7 @@ Data files for %{name}-tiles. %prep -%autosetup -n Cataclysm-DDA-0.E-3 -p1 +%autosetup -n Cataclysm-DDA-0.F-2 -p1 %build @@ -106,6 +107,7 @@ Data files for %{name}-tiles. %make_build \ PREFIX=%{_prefix} \ USE_HOME_DIR=1 \ + PCH=0 \ %if %{with release_build} RELEASE=1 \ %{nil} @@ -127,6 +129,7 @@ Data files for %{name}-tiles. %make_install \ PREFIX=%{_prefix} \ USE_HOME_DIR=1 \ + PCH=0 \ %if %{with release_build} RELEASE=1 \ %{nil} @@ -143,14 +146,11 @@ Data files for %{name}-tiles. %{nil} %endif -# Install desktop file, icon and appdata manifest -install -m 0644 -Dp data/xdg/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop -install -m 0644 -Dp data/xdg/%{name}.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg -install -m 0644 -Dp data/xdg/%{name}.appdata.xml %{buildroot}%{_metainfodir}/%{name}.appdata.xml - ### FIXME: Remove bundled fonts ### * This for next builds and requires some testing # rm -r %{buildroot}%{_datadir}/%{name}/font +# Bug is currently preventing Terminus from working +rm %{buildroot}%{_datadir}/%{name}/font/Terminus.ttf rm -r %{buildroot}%{_datadir}/%{name}/font/terminus.fon \ %{buildroot}%{_datadir}/%{name}/LICENSE-OFL-Terminus-Font.txt @@ -199,8 +199,8 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %changelog -* Wed Jul 21 2021 Fedora Release Engineering - 0.E.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +# Wed Nov 17 2021 Dennis Payne - 0.F.2-1 +- Update to the latest build * Sun Apr 18 2021 Artem Polishchuk - 0.E.3-1 - build(update): 0.E-3 diff --git a/sources b/sources index dcfe7fb..6ccd3bc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cataclysm-dda-0.E-3.tar.gz) = 6d8c330c01a1f9ca4708f424da67ad08117b71db5ba24ad86718d22140bf911ddd49d54460fbb8d58d20478a75df3b79479841dd8b160a8557dd8e34ac63a7c5 +SHA512 (Cataclysm-DDA-0.F-2.tar.gz) = 31425be7381815462aff48c08c89f02734bb3caff70e151b1b9fe0f5fd2e1a9ae5dbcfab6910dd2ea7788cbecd21db4f89757c07d5fb72538c531b64e6f9bde3