From owner-svn-ports-head@freebsd.org Sat Mar 3 22:40:57 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6D48CF42858; Sat, 3 Mar 2018 22:40:57 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1DC697A4D0; Sat, 3 Mar 2018 22:40:57 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 16DE14CA5; Sat, 3 Mar 2018 22:40:57 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w23Meu2k001326; Sat, 3 Mar 2018 22:40:56 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w23MeuDM001324; Sat, 3 Mar 2018 22:40:56 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201803032240.w23MeuDM001324@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Sat, 3 Mar 2018 22:40:56 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r463538 - in head/games/spring: . files X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in head/games/spring: . files X-SVN-Commit-Revision: 463538 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Mar 2018 22:40:57 -0000 Author: jbeich Date: Sat Mar 3 22:40:56 2018 New Revision: 463538 URL: https://svnweb.freebsd.org/changeset/ports/463538 Log: games/spring: unbreak with boost 1.66 PR: 224124 Obtained from: upstream Approved by: portmgr blanket Added: head/games/spring/files/patch-boost-1.66 (contents, props changed) Modified: head/games/spring/Makefile (contents, props changed) Modified: head/games/spring/Makefile ============================================================================== --- head/games/spring/Makefile Sat Mar 3 22:40:28 2018 (r463537) +++ head/games/spring/Makefile Sat Mar 3 22:40:56 2018 (r463538) @@ -14,8 +14,6 @@ COMMENT= Project aiming to create a new and versatile LICENSE= GPLv2 -BROKEN= fails to build with boost 1.66, see bug 224124 - LIB_DEPENDS= libfreetype.so:print/freetype2 \ libboost_thread.so:devel/boost-libs \ libIL.so:graphics/devil \ Added: head/games/spring/files/patch-boost-1.66 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/games/spring/files/patch-boost-1.66 Sat Mar 3 22:40:56 2018 (r463538) @@ -0,0 +1,184 @@ +https://github.com/spring/spring/commit/a61970779994 +https://github.com/spring/spring/commit/f2f84f38e04a +https://github.com/spring/spring/commit/318c003c7273 +https://github.com/spring/spring/commit/5048e2a3446c + +--- rts/Net/AutohostInterface.cpp.orig 2014-10-07 20:09:51 UTC ++++ rts/Net/AutohostInterface.cpp +@@ -116,68 +116,60 @@ std::string AutohostInterface::TryBindSocket( + const std::string& remoteIP, int remotePort, + const std::string& localIP, int localPort) + { +- std::string errorMsg = ""; ++ std::string errorMsg; + + ip::address localAddr; + ip::address remoteAddr; + boost::system::error_code err; ++ + try { + socket.open(ip::udp::v6(), err); // test IP v6 support ++ + const bool supportsIPv6 = !err; + + remoteAddr = netcode::WrapIP(remoteIP, &err); +- if (err) { ++ ++ if (err) + throw std::runtime_error("Failed to parse address " + remoteIP + ": " + err.message()); +- } + +- if (!supportsIPv6 && remoteAddr.is_v6()) { ++ if (!supportsIPv6 && remoteAddr.is_v6()) + throw std::runtime_error("IP v6 not supported, can not use address " + remoteAddr.to_string()); +- } + + if (localIP.empty()) { + // use the "any" address as local "from" + if (remoteAddr.is_v6()) { + localAddr = ip::address_v6::any(); + } else { +- if (supportsIPv6) { +- socket.close(); +- } ++ socket.close(); + socket.open(ip::udp::v4()); ++ + localAddr = ip::address_v4::any(); + } + } else { + localAddr = netcode::WrapIP(localIP, &err); +- if (err) { ++ ++ if (err) + throw std::runtime_error("Failed to parse local IP " + localIP + ": " + err.message()); +- } +- if (localAddr.is_v6() != remoteAddr.is_v6()) { ++ ++ if (localAddr.is_v6() != remoteAddr.is_v6()) + throw std::runtime_error("Local IP " + localAddr.to_string() + " and remote IP " + remoteAddr.to_string() + " are IP v4/v6 mixed"); +- } + } + + socket.bind(ip::udp::endpoint(localAddr, localPort)); +- +- boost::asio::socket_base::non_blocking_io command(true); +- socket.io_control(command); +- +- // A similar, slighly less verbose message is already in GameServer +- //LOG("Connecting (UDP) to IP (v%i) %s Port %i", +- // (remoteAddr.is_v6() ? 6 : 4), remoteAddr.c_str(), remotePort); ++ socket.non_blocking(true); + socket.connect(ip::udp::endpoint(remoteAddr, remotePort)); +- } catch (const std::runtime_error& ex) { // includes also boost::system::system_error, as it inherits from runtime_error ++ } catch (const std::runtime_error& ex) { ++ // also includes asio::system_error, inherits from runtime_error + socket.close(); + errorMsg = ex.what(); +- if (errorMsg.empty()) { ++ ++ if (errorMsg.empty()) + errorMsg = "Unknown problem"; +- } + } + + return errorMsg; + } + +-AutohostInterface::~AutohostInterface() +-{ +-} + + void AutohostInterface::SendStart() + { +--- rts/Net/AutohostInterface.h.orig 2014-10-07 20:09:51 UTC ++++ rts/Net/AutohostInterface.h +@@ -28,7 +28,7 @@ class AutohostInterface (public) + */ + AutohostInterface(const std::string& remoteIP, int remotePort, + const std::string& localIP = "", int localPort = 0); +- virtual ~AutohostInterface(); ++ virtual ~AutohostInterface() {} + + bool IsInitialized() const { return initialized; } + +--- rts/System/FileSystem/Archives/SevenZipArchive.cpp.orig 2014-10-07 20:09:51 UTC ++++ rts/System/FileSystem/Archives/SevenZipArchive.cpp +@@ -3,7 +3,6 @@ + #include "SevenZipArchive.h" + + #include +-#include + #include + #include //memcpy + +@@ -86,7 +85,7 @@ IArchive* CSevenZipArchiveFactory::DoCreateArchive(con + return new CSevenZipArchive(filePath); + } + +-const char* CSevenZipArchive::GetErrorStr(int err) ++static inline const char* GetErrorStr(int err) + { + switch(err) { + case SZ_OK: +@@ -108,6 +107,27 @@ const char* CSevenZipArchive::GetErrorStr(int err) + } + + ++static inline std::string GetSystemErrorStr(WRes wres) ++{ ++#ifdef USE_WINDOWS_FILE ++ LPSTR messageBuffer = nullptr; ++ size_t size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, ++ NULL, wres, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); ++ ++ std::string errorstr(messageBuffer, size); ++ ++ //Free the buffer. ++ LocalFree(messageBuffer); ++#else ++ std::string errorstr(strerror(wres)); ++#endif ++ ++ return errorstr; ++} ++ ++ ++ ++ + CSevenZipArchive::CSevenZipArchive(const std::string& name): + CBufferedArchive(name, false), + blockIndex(0xFFFFFFFF), +@@ -126,9 +146,8 @@ CSevenZipArchive::CSevenZipArchive(const std::string& + + WRes wres = InFile_Open(&archiveStream.file, name.c_str()); + if (wres) { +- boost::system::error_code e(wres, boost::system::get_system_category()); + LOG_L(L_ERROR, "Error opening \"%s\": %s (%i)", +- name.c_str(), e.message().c_str(), e.value()); ++ name.c_str(), GetSystemErrorStr(wres).c_str(), (int) wres); + return; + } + +--- rts/System/FileSystem/Archives/SevenZipArchive.h.orig 2014-10-07 20:09:51 UTC ++++ rts/System/FileSystem/Archives/SevenZipArchive.h +@@ -95,7 +95,6 @@ class CSevenZipArchive : public CBufferedArchive (priv + int packedSize; + }; + int GetFileName(const CSzArEx* db, int i); +- const char* GetErrorStr(int res); + + std::vector fileData; + UInt16 *tempBuf; +--- rts/System/Net/UDPListener.cpp.orig 2014-10-07 20:09:51.000000000 +0000 ++++ rts/System/Net/UDPListener.cpp +@@ -34,8 +34,7 @@ UDPListener::UDPListener(int port, const std::string& + const std::string err = TryBindSocket(port, &socket, ip); + + if (err.empty()) { +- boost::asio::socket_base::non_blocking_io socketCommand(true); +- socket->io_control(socketCommand); ++ socket->non_blocking(true); + + mySocket = socket; + SetAcceptingConnections(true);