[packages/vcmi] - up to 0.99, still doesn't build with boost 1.70

baggins baggins at pld-linux.org
Sat Apr 20 10:00:49 CEST 2019


commit d0515a20848240d2a7b81d546d427dd0e9a9b432
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Apr 20 10:00:13 2019 +0200

    - up to 0.99, still doesn't build with boost 1.70

 boost-1.58.patch | 50 ------------------------------------
 boost-1.66.patch | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cxx.patch        | 67 ------------------------------------------------
 ffmpeg3.patch    | 52 -------------------------------------
 vcmi.spec        | 12 +++------
 5 files changed, 82 insertions(+), 177 deletions(-)
---
diff --git a/vcmi.spec b/vcmi.spec
index 96d39bf..1c668c4 100644
--- a/vcmi.spec
+++ b/vcmi.spec
@@ -1,16 +1,14 @@
 Summary:	Heroes 3: WoG recreated
 Name:		vcmi
-Version:	0.98
-Release:	7
+Version:	0.99
+Release:	1
 License:	GPL v2+
 Group:		X11/Applications/Games
 Source0:	https://github.com/vcmi/vcmi/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	6a69e52a3380358220eba67332b097c6
+# Source0-md5:	686c2a0283184add785d50b447db806f
 Source1:	http://download.vcmi.eu/core.zip
 # Source1-md5:	5cf75d588cc53b93aceb809a6068ae37
-Patch0:		boost-1.58.patch
-Patch1:		ffmpeg3.patch
-Patch2:		cxx.patch
+Patch0:		boost-1.66.patch
 URL:		http://www.vcmi.eu/
 BuildRequires:	Qt5Network-devel
 BuildRequires:	qt5-build
@@ -38,8 +36,6 @@ H3 engine rewrie (not another mod) with new possibilities.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
 
 %build
 install -d build
diff --git a/boost-1.58.patch b/boost-1.58.patch
deleted file mode 100644
index 854e505..0000000
--- a/boost-1.58.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From aa00fdbd0e99b2beec382c7677a64d962b748dcb Mon Sep 17 00:00:00 2001
-From: Rohit Nirmal <rohitnirmal9 at gmail.com>
-Date: Wed, 6 May 2015 19:16:51 -0500
-Subject: [PATCH] Fix building with Boost 1.58.
-
----
- CCallback.cpp             | 2 +-
- lib/CArtHandler.cpp       | 2 +-
- lib/CGameInfoCallback.cpp | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/CCallback.cpp b/CCallback.cpp
-index 8009bc7..da280db 100644
---- a/CCallback.cpp
-+++ b/CCallback.cpp
-@@ -80,7 +80,7 @@ void CCallback::recruitCreatures(const CGDwelling *obj, const CArmedInstance * d
- 
- bool CCallback::dismissCreature(const CArmedInstance *obj, SlotID stackPos)
- {
--	if(((player>=0)  &&  obj->tempOwner != player) || (obj->stacksCount()<2  && obj->needsLastStack()))
-+	if((player && obj->tempOwner != player) || (obj->stacksCount()<2  && obj->needsLastStack()))
- 		return false;
- 
- 	DisbandCreature pack(stackPos,obj->id);
-diff --git a/lib/CArtHandler.cpp b/lib/CArtHandler.cpp
-index 2d9dd01..0026a66 100644
---- a/lib/CArtHandler.cpp
-+++ b/lib/CArtHandler.cpp
-@@ -671,7 +671,7 @@ boost::optional<std::vector<CArtifact*>&> CArtHandler::listFromClass( CArtifact:
- 	case CArtifact::ART_RELIC:
- 		return relics;
- 	default: //special artifacts should not be erased
--		return nullptr;
-+		return boost::optional<std::vector<CArtifact*>&>();
- 	}
- }
- 
-diff --git a/lib/CGameInfoCallback.cpp b/lib/CGameInfoCallback.cpp
-index 051bb9c..2a59b96 100644
---- a/lib/CGameInfoCallback.cpp
-+++ b/lib/CGameInfoCallback.cpp
-@@ -403,7 +403,7 @@ std::vector <const CGObjectInstance * > CGameInfoCallback::getVisitableObjs(int3
- 
- 	for(const CGObjectInstance * obj : t->visitableObjects)
- 	{
--		if(player < nullptr || obj->ID != Obj::EVENT) //hide events from players
-+		if(player || obj->ID != Obj::EVENT) //hide events from players
- 			ret.push_back(obj);
- 	}
- 
diff --git a/boost-1.66.patch b/boost-1.66.patch
new file mode 100644
index 0000000..2bf9190
--- /dev/null
+++ b/boost-1.66.patch
@@ -0,0 +1,78 @@
+From 83c6ffbda0f373848e11b81f128647bfcaed024f Mon Sep 17 00:00:00 2001
+From: Raphnalor <37222713+Raphnalor at users.noreply.github.com>
+Date: Sun, 11 Mar 2018 16:02:20 +0300
+Subject: [PATCH] Reflect changes in boost::asio released in Boost 1.66. (#428)
+
+The service template parameters are disabled by default for now.
+Use BOOST_ASIO_ENABLE_OLD_SERVICES macro to enable the old interface.
+---
+ lib/serializer/Connection.cpp | 3 +++
+ lib/serializer/Connection.h   | 6 ++++++
+ server/CVCMIServer.cpp        | 3 +++
+ server/CVCMIServer.h          | 8 +++++++-
+ 4 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/lib/serializer/Connection.cpp b/lib/serializer/Connection.cpp
+index 0a842d1d3..ae1810e8b 100644
+--- a/lib/serializer/Connection.cpp
++++ b/lib/serializer/Connection.cpp
+@@ -14,6 +14,9 @@
+ #include "../mapping/CMap.h"
+ #include "../CGameState.h"
+ 
++#if BOOST_VERSION >= 106600
++#define BOOST_ASIO_ENABLE_OLD_SERVICES
++#endif
+ #include <boost/asio.hpp>
+ 
+ using namespace boost;
+diff --git a/lib/serializer/Connection.h b/lib/serializer/Connection.h
+index b6ceee7a0..cb134e2b6 100644
+--- a/lib/serializer/Connection.h
++++ b/lib/serializer/Connection.h
+@@ -22,7 +22,13 @@ namespace boost
+ 		{
+ 			class tcp;
+ 		}
++
++#if BOOST_VERSION >= 106600  // Boost version >= 1.66
++		class io_context;
++		typedef io_context io_service;
++#else
+ 		class io_service;
++#endif
+ 
+ 		template <typename Protocol> class stream_socket_service;
+ 		template <typename Protocol,typename StreamSocketService>
+diff --git a/server/CVCMIServer.cpp b/server/CVCMIServer.cpp
+index b077607be..d459a8e95 100644
+--- a/server/CVCMIServer.cpp
++++ b/server/CVCMIServer.cpp
+@@ -9,5 +9,8 @@
+ #include "StdInc.h"
+ 
++#if BOOST_VERSION >= 106600
++#define BOOST_ASIO_ENABLE_OLD_SERVICES
++#endif
+ #include <boost/asio.hpp>
+ 
+ #include "../lib/filesystem/Filesystem.h"
+diff --git a/server/CVCMIServer.h b/server/CVCMIServer.h
+index 6fa7ad5bb..ad9951f64 100644
+--- a/server/CVCMIServer.h
++++ b/server/CVCMIServer.h
+@@ -26,7 +26,13 @@ namespace boost
+ 		{
+ 			class tcp;
+ 		}
+-		class io_service;
++
++#if BOOST_VERSION >= 106600  // Boost version >= 1.66
++		class io_context;
++		typedef io_context io_service;
++#else
++		class io_service;
++#endif
+ 
+ 		template <typename Protocol> class stream_socket_service;
+ 		template <typename Protocol,typename StreamSocketService>
diff --git a/cxx.patch b/cxx.patch
deleted file mode 100644
index aeed7b6..0000000
--- a/cxx.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- vcmi-0.98/lib/Connection.cpp~	2015-04-01 07:34:22.000000000 +0000
-+++ vcmi-0.98/lib/Connection.cpp	2016-05-28 17:54:42.579831336 +0000
-@@ -440,7 +440,7 @@
- 		return typeDescr;  //type found, return ptr to structure
- 
- 	//type not found - add it to the list and return given ID
--	auto newType = make_shared<TypeDescriptor>();
-+	auto newType = std::make_shared<TypeDescriptor>();
- 	newType->typeID = typeInfos.size() + 1;
- 	newType->name = type->name();
- 	typeInfos[type] = newType;
---- vcmi-0.98/client/Client.cpp~	2015-04-01 07:34:22.000000000 +0000
-+++ vcmi-0.98/client/Client.cpp	2016-05-28 18:01:35.421105201 +0000
-@@ -451,7 +451,7 @@
- 			}
- 			else 
- 			{
--				installNewPlayerInterface(make_shared<CPlayerInterface>(color), color);
-+				installNewPlayerInterface(std::make_shared<CPlayerInterface>(color), color);
- 				humanPlayers++;
- 			}
- 		}
-@@ -467,7 +467,7 @@
- 		if(!gNoGUI)
- 		{
- 			boost::unique_lock<boost::recursive_mutex> un(*LOCPLINT->pim);
--			auto p = make_shared<CPlayerInterface>(PlayerColor::NEUTRAL);
-+			auto p = std::make_shared<CPlayerInterface>(PlayerColor::NEUTRAL);
- 			p->observerInDuelMode = true;
- 			installNewPlayerInterface(p, boost::none);
- 			GH.curInt = p.get();
-@@ -550,7 +550,7 @@
- 			else
- 			{
- 				assert(isHuman);
--				nInt = make_shared<CPlayerInterface>(pid);
-+				nInt = std::make_shared<CPlayerInterface>(pid);
- 			}
- 
- 			nInt->dllName = dllname;
-@@ -620,7 +620,7 @@
- 			else
- 			{
- 				assert(isHuman);
--				nInt = make_shared<CPlayerInterface>(pid);
-+				nInt = std::make_shared<CPlayerInterface>(pid);
- 			}
- 
- 			nInt->dllName = dllname;
-@@ -866,7 +866,7 @@
- 	playerint[colorUsed] = gameInterface;
- 
- 	logGlobal->traceStream() << boost::format("\tInitializing the interface for player %s") % colorUsed;
--	auto cb = make_shared<CCallback>(gs, color, this);
-+	auto cb = std::make_shared<CCallback>(gs, color, this);
- 	callbacks[colorUsed] = cb;
- 	battleCallbacks[colorUsed] = cb;
- 	gameInterface->init(cb);
-@@ -887,7 +887,7 @@
- 	if(needCallback)
- 	{
- 		logGlobal->traceStream() << boost::format("\tInitializing the battle interface for player %s") % *color;
--		auto cbc = make_shared<CBattleCallback>(gs, color, this);
-+		auto cbc = std::make_shared<CBattleCallback>(gs, color, this);
- 		battleCallbacks[colorUsed] = cbc;
- 		battleInterface->init(cbc);
- 	}
diff --git a/ffmpeg3.patch b/ffmpeg3.patch
deleted file mode 100644
index 919d31e..0000000
--- a/ffmpeg3.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -ur vcmi-0.98.orig/client/CVideoHandler.cpp vcmi-0.98/client/CVideoHandler.cpp
---- vcmi-0.98.orig/client/CVideoHandler.cpp	2015-04-01 09:34:22.000000000 +0200
-+++ vcmi-0.98/client/CVideoHandler.cpp	2016-03-29 01:45:43.689696331 +0200
-@@ -155,7 +155,7 @@
- 	}
- 
- 	// Allocate video frame
--	frame = avcodec_alloc_frame();
-+	frame = av_frame_alloc();
- 	
- 	//setup scaling
- 	
-@@ -201,21 +201,21 @@
- #endif
- 	{ // Convert the image into YUV format that SDL uses
- 		sws = sws_getContext(codecContext->width, codecContext->height, codecContext->pix_fmt, 
--							 pos.w, pos.h, PIX_FMT_YUV420P, 
-+							 pos.w, pos.h, AV_PIX_FMT_YUV420P, 
- 							 SWS_BICUBIC, nullptr, nullptr, nullptr);
- 	}
- 	else
- 	{
- 
--		PixelFormat screenFormat = PIX_FMT_NONE;
-+		AVPixelFormat screenFormat = AV_PIX_FMT_NONE;
- 		if (screen->format->Bshift > screen->format->Rshift)
- 		{
- 			// this a BGR surface
- 			switch (screen->format->BytesPerPixel)
- 			{
--				case 2: screenFormat = PIX_FMT_BGR565; break;
--				case 3: screenFormat = PIX_FMT_BGR24; break;
--				case 4: screenFormat = PIX_FMT_BGR32; break;
-+				case 2: screenFormat = AV_PIX_FMT_BGR565; break;
-+				case 3: screenFormat = AV_PIX_FMT_BGR24; break;
-+				case 4: screenFormat = AV_PIX_FMT_BGR32; break;
- 				default: return false;
- 			}
- 		}
-@@ -224,9 +224,9 @@
- 			// this a RGB surface
- 			switch (screen->format->BytesPerPixel)
- 			{
--				case 2: screenFormat = PIX_FMT_RGB565; break;
--				case 3: screenFormat = PIX_FMT_RGB24; break;
--				case 4: screenFormat = PIX_FMT_RGB32; break;
-+				case 2: screenFormat = AV_PIX_FMT_RGB565; break;
-+				case 3: screenFormat = AV_PIX_FMT_RGB24; break;
-+				case 4: screenFormat = AV_PIX_FMT_RGB32; break;
- 				default: return false;
- 			}
- 		}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/vcmi.git/commitdiff/7423bc77077754586c754559d5145e3a754ebe05



More information about the pld-cvs-commit mailing list