Date: Thu, 5 Jul 2018 09:57:07 +0000 (UTC) From: Guido Falsi <madpilot@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r473959 - in head/games/0ad: . files Message-ID: <201807050957.w659v7ZE038175@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: madpilot Date: Thu Jul 5 09:57:06 2018 New Revision: 473959 URL: https://svnweb.freebsd.org/changeset/ports/473959 Log: - Update 0ad to Alpha 23 Ken Wood - Make build verbose - Rename patches to follow new naming convention - New version requires WxGTK 3.0 minimum - Add missing dependency on desktop-file-utils Added: head/games/0ad/files/patch-build_premake_extern__libs5.lua - copied, changed from r473958, head/games/0ad/files/patch-build__premake__extern_libs4.lua head/games/0ad/files/patch-build_premake_premake5.lua - copied, changed from r473958, head/games/0ad/files/patch-build__premake__premake4.lua head/games/0ad/files/patch-build_workspaces_update-workspaces.sh - copied unchanged from r473958, head/games/0ad/files/patch-build__workspaces__update-workspaces.sh head/games/0ad/files/patch-libraries_source_fcollada_src_FCollada_FUtils_FUStringBuilder.hpp - copied unchanged from r473958, head/games/0ad/files/patch-libraries__source__fcollada__src__FCollada__FUtils__FUStringBuilder.hpp head/games/0ad/files/patch-libraries_source_fcollada_src_Makefile - copied unchanged from r473958, head/games/0ad/files/patch-libraries__source__fcollada__src__Makefile head/games/0ad/files/patch-libraries_source_spidermonkey_FixpsutilFreeBSD.diff - copied, changed from r473958, head/games/0ad/files/psutil.diff head/games/0ad/files/patch-libraries_source_spidermonkey_build.sh - copied, changed from r473958, head/games/0ad/files/patch-libraries__source__spidermonkey__build.sh head/games/0ad/files/patch-source_tools_atlas_AtlasObject_AtlasObjectImpl.cpp (contents, props changed) head/games/0ad/files/patch-source_tools_atlas_AtlasUI_CustomControls_MapDialog_MapDialog.cpp (contents, props changed) head/games/0ad/files/patch-source_tools_atlas_AtlasUI_ScenarioEditor_ScenarioEditor.cpp (contents, props changed) Deleted: head/games/0ad/files/patch-build__premake__extern_libs4.lua head/games/0ad/files/patch-build__premake__premake4.lua head/games/0ad/files/patch-build__workspaces__update-workspaces.sh head/games/0ad/files/patch-libraries__source__fcollada__src__FCollada__FUtils__FUStringBuilder.hpp head/games/0ad/files/patch-libraries__source__fcollada__src__Makefile head/games/0ad/files/patch-libraries__source__spidermonkey__build.sh head/games/0ad/files/patch-source_lobby_XmppClient.cpp head/games/0ad/files/psutil.diff Modified: head/games/0ad/Makefile head/games/0ad/distinfo Modified: head/games/0ad/Makefile ============================================================================== --- head/games/0ad/Makefile Thu Jul 5 09:37:37 2018 (r473958) +++ head/games/0ad/Makefile Thu Jul 5 09:57:06 2018 (r473959) @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= 0ad -PORTVERSION= 0.0.22 -PORTREVISION= 10 +PORTVERSION= 0.0.23 CATEGORIES= games MASTER_SITES= http://releases.wildfiregames.com/ \ SF/zero-ad/releases @@ -24,13 +23,14 @@ LIB_DEPENDS= libboost_thread.so:devel/boost-libs \ libminiupnpc.so:net/miniupnpc \ libnspr4.so:devel/nspr \ libenet.so:net/enet \ - libtiff.so:graphics/tiff + libtiff.so:graphics/tiff \ + libsodium.so:security/libsodium WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-alpha BUILD_WRKSRC= ${WRKSRC}/build/workspaces/gcc -MAKE_ARGS= config=release +MAKE_ARGS= config=release verbose=1 CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1 -USES= compiler:c++11-lib dos2unix gmake iconv jpeg openal:al \ +USES= compiler:c++11-lib desktop-file-utils dos2unix gmake iconv jpeg openal:al \ pkgconfig python:build tar:xz USE_GNOME= libxml2 gtk20 USE_GL= gl @@ -40,7 +40,7 @@ BUNDLE_LIBS= yes DOS2UNIX_REGEX= .*\.([ch]p{0,2}|make) BINARY_ALIAS= python=${PYTHON_CMD} -USE_WX= 2.8+ +USE_WX= 3.0+ WX_COMPS= wx:lib MAKE_ENV+= JOBS=${_MAKE_JOBS} @@ -56,28 +56,26 @@ PORTDATA= * post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ -e 's|%%CC%%|${CC}|' \ - ${WRKSRC}/build/premake/premake4.lua + ${WRKSRC}/build/premake/premake5.lua ${WRKSRC}/build/premake/extern_libs5.lua .if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == gcc @${REINPLACE_CMD} -e '1055,1251s/-rdynamic/-lssp_nonshared &/' \ -e '1441s/"execinfo",/& "ssp_nonshared",/' \ - ${WRKSRC}/build/premake/premake4.lua + ${WRKSRC}/build/premake/premake5.lua .endif @${REINPLACE_CMD} 's,^\(Exec=\)/usr/local,\1${PREFIX},' \ ${WRKSRC}/build/resources/0ad.desktop @${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|' \ ${WRKSRC}/build/resources/0ad.sh - @${CP} ${FILESDIR}/psutil.diff ${WRKSRC}/libraries/source/spidermonkey/ pre-build: - (cd ${WRKSRC}/build/workspaces && ${SETENV} ${MAKE_ENV} ./update-workspaces.sh ${0ADSDLARG} --bindir=${PREFIX}/bin --datadir=${DATADIR} --libdir=${PREFIX}/lib/${PORTNAME}) + (cd ${WRKSRC}/build/workspaces && ${SETENV} ${MAKE_ENV} ./update-workspaces.sh --bindir=${PREFIX}/bin --datadir=${DATADIR} --libdir=${PREFIX}/lib/${PORTNAME}) do-install: ${INSTALL_PROGRAM} ${WRKSRC}/binaries/system/pyrogenesis ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/build/resources/0ad.sh ${STAGEDIR}${PREFIX}/bin/0ad ${INSTALL_PROGRAM} ${WRKSRC}/binaries/system/ActorEditor ${STAGEDIR}${PREFIX}/bin ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME} - (cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libAtlasUI.so libCollada.so libnvcore.so libnvimage.so libnvmath.so libnvtt.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}) - (cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libmozjs38-ps-release.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}) + (cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libAtlasUI.so libCollada.so libmozjs38-ps-release.so libnvcore.so libnvimage.so libnvmath.so libnvtt.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}) ${INSTALL_DATA} ${WRKSRC}/build/resources/0ad.desktop ${STAGEDIR}${PREFIX}/share/applications ${INSTALL_DATA} ${WRKSRC}/build/resources/0ad.png ${STAGEDIR}${PREFIX}/share/pixmaps ${MKDIR} ${STAGEDIR}${DATADIR} Modified: head/games/0ad/distinfo ============================================================================== --- head/games/0ad/distinfo Thu Jul 5 09:37:37 2018 (r473958) +++ head/games/0ad/distinfo Thu Jul 5 09:57:06 2018 (r473959) @@ -1,5 +1,5 @@ -TIMESTAMP = 1501175300 -SHA256 (0ad-0.0.22-alpha-unix-build.tar.xz) = fddd36df4fd32b5b31fd8871bc5ed3ec71a921de79517fb6199ba7571ec9f5b1 -SIZE (0ad-0.0.22-alpha-unix-build.tar.xz) = 29199308 -SHA256 (0ad-0.0.22-alpha-unix-data.tar.xz) = 4c32cd0a346815cd260357d55d5a61430f670c78a2fa7a321957c0e4559a766e -SIZE (0ad-0.0.22-alpha-unix-data.tar.xz) = 632555792 +TIMESTAMP = 1530535030 +SHA256 (0ad-0.0.23-alpha-unix-build.tar.xz) = cfa1e3b6989466961451c95a96c19c274cd373ce6d98f83836e6f862c9d3e163 +SIZE (0ad-0.0.23-alpha-unix-build.tar.xz) = 31907988 +SHA256 (0ad-0.0.23-alpha-unix-data.tar.xz) = fdbf774637252dbedf339fbe29b77d7d585ab53a9a5ddede56dd7b8fda66d8ac +SIZE (0ad-0.0.23-alpha-unix-data.tar.xz) = 691973492 Copied and modified: head/games/0ad/files/patch-build_premake_extern__libs5.lua (from r473958, head/games/0ad/files/patch-build__premake__extern_libs4.lua) ============================================================================== --- head/games/0ad/files/patch-build__premake__extern_libs4.lua Thu Jul 5 09:37:37 2018 (r473958, copy source) +++ head/games/0ad/files/patch-build_premake_extern__libs5.lua Thu Jul 5 09:57:06 2018 (r473959) @@ -1,16 +1,16 @@ ---- build/premake/extern_libs4.lua.orig 2015-11-19 23:47:41 UTC -+++ build/premake/extern_libs4.lua -@@ -237,7 +237,7 @@ extern_lib_defs = { +--- build/premake/extern_libs5.lua.orig 2018-04-29 15:44:48 UTC ++++ build/premake/extern_libs5.lua +@@ -191,7 +191,7 @@ extern_lib_defs = { end -- TODO: This actually applies to most libraries we use on BSDs, make this a global setting. - if os.is("bsd") then -- includedirs { "/usr/local/include" } -+ includedirs { "%%LOCALBASE%%/include" } + if os.istarget("bsd") then +- sysincludedirs { "/usr/local/include" } ++ sysincludedirs { "%%LOCALBASE%%/include" } end end, link_settings = function() -@@ -347,9 +347,6 @@ extern_lib_defs = { - elseif os.is("macosx") then +@@ -301,9 +301,6 @@ extern_lib_defs = { + elseif os.istarget("macosx") then add_default_include_paths("iconv") defines { "LIBICONV_STATIC" } - elseif os.getversion().description == "FreeBSD" then Copied and modified: head/games/0ad/files/patch-build_premake_premake5.lua (from r473958, head/games/0ad/files/patch-build__premake__premake4.lua) ============================================================================== --- head/games/0ad/files/patch-build__premake__premake4.lua Thu Jul 5 09:37:37 2018 (r473958, copy source) +++ head/games/0ad/files/patch-build_premake_premake5.lua Thu Jul 5 09:57:06 2018 (r473959) @@ -1,7 +1,7 @@ ---- build/premake/premake4.lua.orig 2017-07-06 17:29:49 UTC -+++ build/premake/premake4.lua -@@ -388,11 +388,11 @@ function project_add_x11_dirs() - includedirs { +--- build/premake/premake5.lua.orig 2018-04-22 18:14:45 UTC ++++ build/premake/premake5.lua +@@ -376,11 +376,11 @@ function project_add_x11_dirs() + sysincludedirs { "/usr/X11R6/include/X11", "/usr/X11R6/include", - "/usr/local/include/X11", Copied: head/games/0ad/files/patch-build_workspaces_update-workspaces.sh (from r473958, head/games/0ad/files/patch-build__workspaces__update-workspaces.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/games/0ad/files/patch-build_workspaces_update-workspaces.sh Thu Jul 5 09:57:06 2018 (r473959, copy of r473958, head/games/0ad/files/patch-build__workspaces__update-workspaces.sh) @@ -0,0 +1,13 @@ +--- build/workspaces/update-workspaces.sh.orig 2014-09-20 19:02:24 UTC ++++ build/workspaces/update-workspaces.sh +@@ -1,10 +1,5 @@ + #!/bin/sh + +-if [ "$(id -u)" = "0" ]; then +- echo "Running as root will mess up file permissions. Aborting ..." 1>&2 +- exit 1 +-fi +- + die() + { + echo ERROR: $* Copied: head/games/0ad/files/patch-libraries_source_fcollada_src_FCollada_FUtils_FUStringBuilder.hpp (from r473958, head/games/0ad/files/patch-libraries__source__fcollada__src__FCollada__FUtils__FUStringBuilder.hpp) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/games/0ad/files/patch-libraries_source_fcollada_src_FCollada_FUtils_FUStringBuilder.hpp Thu Jul 5 09:57:06 2018 (r473959, copy of r473958, head/games/0ad/files/patch-libraries__source__fcollada__src__FCollada__FUtils__FUStringBuilder.hpp) @@ -0,0 +1,157 @@ +--- libraries/source/fcollada/src/FCollada/FUtils/FUStringBuilder.hpp.orig 2017-07-28 19:57:27 UTC ++++ libraries/source/fcollada/src/FCollada/FUtils/FUStringBuilder.hpp +@@ -26,63 +26,6 @@ + #define SAFE_DELETE_ARRAY(ptr) if (ptr != NULL) { delete [] ptr; ptr = NULL; } + #endif + +-template <class Char, class FloatType> +-void FloatToString(FloatType f, Char* sz) +-{ +- Char* buffer = sz + 1; +- static const int digitCount = 6; +- int decimal, sign; +- +- // ecvt rounds the string for us: http://www.datafocus.com/docs/man3/ecvt.3.asp +- char* end = ecvt(f, digitCount, &decimal, &sign); +- +- if (sign != 0) (*buffer++) = '-'; +- int count = digitCount; +- if (decimal > digitCount) +- { +- // We use the scientific notation: P.MeX +- (*buffer++) = (*end++); // P is one character. +- (*buffer++) = '.'; +- +- // Mantissa (cleaned for zeroes) +- for (--count; count > 0; --count) if (end[count - 1] != '0') break; +- for (int i = 0; i < count; ++i) (*buffer++) = (*end++); +- if (buffer[-1] == '.') --buffer; +- +- // Exponent +- (*buffer++) = 'e'; +- uint32 exponent = decimal - 1; // X +- if (exponent >= 10) (*buffer++) = (Char) ('0' + (exponent / 10)); +- (*buffer++) = (Char) ('0' + (exponent % 10)); +- (*buffer) = 0; +- return; +- } +- else if (decimal > 0) +- { +- // Simple number: A.B +- for (int i = 0; i < decimal; ++i) (*buffer++) = (*end++); +- if (decimal < digitCount) (*buffer++) = '.'; +- count = digitCount - decimal; +- } +- else if (decimal < -digitCount) +- { +- // What case is this? +- decimal = count = 0; +- } +- else if (decimal < 0 || (decimal == 0 && *end != '0')) +- { +- // Tiny number: 0.Me-X +- (*buffer++) = '0'; (*buffer++) = '.'; +- for (int i = 0; i < -decimal; ++i) (*buffer++) = '0'; +- count = digitCount + decimal; +- } +- for (; count > 0; --count) if (end[count - 1] != '0') break; +- for (int i = 0; i < count; ++i) (*buffer++) = (*end++); +- if (decimal == 0 && count == 0) (*buffer++) = '0'; +- if (buffer[-1] == '.') --buffer; +- (*buffer) = 0; +-} +- + template <class Char> + FUStringBuilderT<Char>::FUStringBuilderT(const String& sz) + { +@@ -234,53 +177,50 @@ void FUStringBuilderT<Char>::append(const FUStringBuil + template <class Char> + void FUStringBuilderT<Char>::append(float f) + { +-#ifdef WIN32 +- // use <float.h> _isnan method to detect the 1.#IND00 NaN. +- if (f != std::numeric_limits<float>::infinity() && f != -std::numeric_limits<float>::infinity() && f != std::numeric_limits<float>::quiet_NaN() && f != std::numeric_limits<float>::signaling_NaN() && !_isnan((double)f)) +-#else +- if (f != std::numeric_limits<float>::infinity() && f != -std::numeric_limits<float>::infinity() && f != std::numeric_limits<float>::quiet_NaN() && f != std::numeric_limits<float>::signaling_NaN()) +-#endif +- { +- if (IsEquivalent(f, 0.0f, std::numeric_limits<float>::epsilon())) append((Char)'0'); +- else +- { +- Char sz[128]; +- FloatToString(f, sz); +- append(sz + 1); +- } +- } +- else if (f == std::numeric_limits<float>::infinity()) +- { append((Char)'I'); append((Char)'N'); append((Char)'F'); } +- else if (f == -std::numeric_limits<float>::infinity()) +- { append((Char)'-'); append((Char)'I'); append((Char)'N'); append((Char)'F'); } +- else +- { append((Char)'N'); append((Char)'a'); append((Char)'N'); } ++ append((double)f); + } + + template <class Char> + void FUStringBuilderT<Char>::append(double f) + { +-#ifdef WIN32 +- // use <float.h> _isnan method to detect the .#IND00 NaN. +- if (f != std::numeric_limits<float>::infinity() && f != -std::numeric_limits<float>::infinity() && f != std::numeric_limits<float>::quiet_NaN() && f != std::numeric_limits<float>::signaling_NaN() && !_isnan(f)) +-#else +- if (f != std::numeric_limits<float>::infinity() && f != -std::numeric_limits<float>::infinity() && f != std::numeric_limits<float>::quiet_NaN() && f != std::numeric_limits<float>::signaling_NaN()) +-#endif +- { +- if (IsEquivalent(f, 0.0, std::numeric_limits<double>::epsilon())) append((Char)'0'); +- else +- { +- Char sz[128]; +- FloatToString(f, sz); +- append(sz + 1); +- } ++ if (f == -std::numeric_limits<double>::infinity()) { ++ append("-INF"); ++ return; ++ } else if (f == std::numeric_limits<double>::infinity()) { ++ append("INF"); ++ return; ++ } else if (f != f) { ++ append("NaN"); ++ return; ++ } else if (-std::numeric_limits<double>::epsilon() < f && f < std::numeric_limits<double>::epsilon()) { ++ append("0.0E0"); ++ return; + } +- else if (f == std::numeric_limits<double>::infinity()) +- { append((Char)'I'); append((Char)'N'); append((Char)'F'); } +- else if (f == -std::numeric_limits<double>::infinity()) +- { append((Char)'-'); append((Char)'I'); append((Char)'N'); append((Char)'F'); } ++ ++ if (f < 0.0) { ++ f = -f; ++ append('-'); ++ } ++ ++ int e = 0; ++// e = floor(log10(f)); ++// f = f / pow(10.0, e); ++ ++ if (f < 1.0) ++ for (; f < 1.0; f *= 10.0) ++ e--; + else +- { append((Char)'N'); append((Char)'a'); append((Char)'N'); } ++ for (; f >= 10.0; f /= 10.0) ++ e++; ++ ++ char tmp[10]; ++ sprintf(tmp, "%.6g", f); ++ append(tmp); ++ if (tmp[1] == 0) // only one digit, add missing part according canonical representation ++ append(".0"); ++ ++ sprintf(tmp, "E%d", e); ++ append(tmp); + } + + template <class Char> Copied: head/games/0ad/files/patch-libraries_source_fcollada_src_Makefile (from r473958, head/games/0ad/files/patch-libraries__source__fcollada__src__Makefile) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/games/0ad/files/patch-libraries_source_fcollada_src_Makefile Thu Jul 5 09:57:06 2018 (r473959, copy of r473958, head/games/0ad/files/patch-libraries__source__fcollada__src__Makefile) @@ -0,0 +1,11 @@ +--- libraries/source/fcollada/src/Makefile.orig 2014-09-24 14:39:28 UTC ++++ libraries/source/fcollada/src/Makefile +@@ -227,7 +227,7 @@ OBJECTS_ALL = $(OBJECTS_DEBUG) $(OBJECTS_RELEASE) $(OB + all: output/libFColladaSD.a output/libFColladaSR.a install + + output_dirs: +- bash -c 'mkdir -p output/{debug,release,test}/{FCollada/{FCDocument,FMath,FUtils,FColladaTest/{FCTestAssetManagement,FCTestExportImport,FCTestXRef}},FColladaPlugins/FArchiveXML}' ++ csh -c 'mkdir -p output/{debug,release,test}/{FCollada/{FCDocument,FMath,FUtils,FColladaTest/{FCTestAssetManagement,FCTestExportImport,FCTestXRef}},FColladaPlugins/FArchiveXML}' + + test: FCollada/FColladaTest/ output/FColladaTest + ( cd FCollada/FColladaTest/ ; ../../output/FColladaTest ) Copied and modified: head/games/0ad/files/patch-libraries_source_spidermonkey_FixpsutilFreeBSD.diff (from r473958, head/games/0ad/files/psutil.diff) ============================================================================== --- head/games/0ad/files/psutil.diff Thu Jul 5 09:37:37 2018 (r473958, copy source) +++ head/games/0ad/files/patch-libraries_source_spidermonkey_FixpsutilFreeBSD.diff Thu Jul 5 09:57:06 2018 (r473959) @@ -1,50 +1,168 @@ ---- python/psutil/psutil/_psutil_bsd.c.orig 2015-09-17 20:12:23 UTC -+++ python/psutil/psutil/_psutil_bsd.c -@@ -957,11 +957,19 @@ psutil_sockaddr_matches(int family, int port, void *pc - psutil_sockaddr_addrlen(family)) == 0); - } - -+#if __FreeBSD_version >= 1200026 -+static struct xtcpcb * -+psutil_search_tcplist(char *buf, struct kinfo_file *kif) -+{ -+ struct xtcpcb *tp; -+ struct xinpcb *inp; -+#else - static struct tcpcb * - psutil_search_tcplist(char *buf, struct kinfo_file *kif) - { - struct tcpcb *tp; - struct inpcb *inp; -+#endif - struct xinpgen *xig, *oxig; - struct xsocket *so; - -@@ -969,9 +977,15 @@ psutil_search_tcplist(char *buf, struct kinfo_file *ki - for (xig = (struct xinpgen *)((char *)xig + xig->xig_len); - xig->xig_len > sizeof(struct xinpgen); - xig = (struct xinpgen *)((char *)xig + xig->xig_len)) { -+#if __FreeBSD_version >= 1200026 -+ tp = (struct xtcpcb *)xig; -+ inp = &tp->xt_inp; -+ so = &inp->xi_socket; -+#else - tp = &((struct xtcpcb *)xig)->xt_tp; - inp = &((struct xtcpcb *)xig)->xt_inp; - so = &((struct xtcpcb *)xig)->xt_socket; -+#endif - - if (so->so_type != kif->kf_sock_type || - so->xso_family != kif->kf_sock_domain || -@@ -1019,7 +1033,11 @@ psutil_proc_connections(PyObject *self, PyObject *args - struct kinfo_file *freep = NULL; - struct kinfo_file *kif; - char *tcplist = NULL; -+#if __FreeBSD_version >= 1200026 -+ struct xtcpcb *tcp; -+#else - struct tcpcb *tcp; -+#endif - - PyObject *retList = PyList_New(0); - PyObject *tuple = NULL; +--- libraries/source/spidermonkey/FixpsutilFreeBSD.diff.orig 2017-09-13 00:10:27 UTC ++++ libraries/source/spidermonkey/FixpsutilFreeBSD.diff +@@ -1,6 +1,6 @@ +---- python/psutil/psutil/_psutil_bsd.c +-+++ python/psutil/psutil/_psutil_bsd.c +-@@ -957,11 +957,19 @@ psutil_sockaddr_matches(int family, int port, void *pc ++--- ./python/psutil/psutil/_psutil_bsd.c.orig 2015-09-17 22:12:23.000000000 +0200 +++++ ./python/psutil/psutil/_psutil_bsd.c ++@@ -957,11 +957,19 @@ + psutil_sockaddr_addrlen(family)) == 0); + } + +@@ -20,7 +20,7 @@ + struct xinpgen *xig, *oxig; + struct xsocket *so; + +-@@ -969,9 +977,15 @@ psutil_search_tcplist(char *buf, struct kinfo_file *ki ++@@ -969,9 +977,15 @@ + for (xig = (struct xinpgen *)((char *)xig + xig->xig_len); + xig->xig_len > sizeof(struct xinpgen); + xig = (struct xinpgen *)((char *)xig + xig->xig_len)) { +@@ -36,7 +36,44 @@ + + if (so->so_type != kif->kf_sock_type || + so->xso_family != kif->kf_sock_domain || +-@@ -1019,7 +1033,11 @@ psutil_proc_connections(PyObject *self, PyObject *args ++@@ -981,20 +995,36 @@ ++ if (kif->kf_sock_domain == AF_INET) { ++ if (!psutil_sockaddr_matches( ++ AF_INET, inp->inp_lport, &inp->inp_laddr, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_local)) +++#else +++ &kif->kf_un.kf_sock.kf_sa_local)) +++#endif ++ continue; ++ if (!psutil_sockaddr_matches( ++ AF_INET, inp->inp_fport, &inp->inp_faddr, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_peer)) +++#else +++ &kif->kf_un.kf_sock.kf_sa_peer)) +++#endif ++ continue; ++ } else { ++ if (!psutil_sockaddr_matches( ++ AF_INET6, inp->inp_lport, &inp->in6p_laddr, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_local)) +++#else +++ &kif->kf_un.kf_sock.kf_sa_peer)) +++#endif ++ continue; ++ if (!psutil_sockaddr_matches( ++ AF_INET6, inp->inp_fport, &inp->in6p_faddr, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_peer)) +++#else +++ &kif->kf_un.kf_sock.kf_sa_peer)) +++#endif ++ continue; ++ } ++ ++@@ -1019,7 +1049,11 @@ + struct kinfo_file *freep = NULL; + struct kinfo_file *kif; + char *tcplist = NULL; +@@ -48,3 +85,100 @@ + + PyObject *retList = PyList_New(0); + PyObject *tuple = NULL; ++@@ -1094,19 +1128,35 @@ ++ inet_ntop( ++ kif->kf_sock_domain, ++ psutil_sockaddr_addr(kif->kf_sock_domain, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_local), +++#else +++ &kif->kf_un.kf_sock.kf_sa_local), +++#endif ++ lip, ++ sizeof(lip)); ++ inet_ntop( ++ kif->kf_sock_domain, ++ psutil_sockaddr_addr(kif->kf_sock_domain, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_peer), +++#else +++ &kif->kf_un.kf_sock.kf_sa_peer), +++#endif ++ rip, ++ sizeof(rip)); ++ lport = htons(psutil_sockaddr_port(kif->kf_sock_domain, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_local)); +++#else +++ &kif->kf_un.kf_sock.kf_sa_local)); +++#endif ++ rport = htons(psutil_sockaddr_port(kif->kf_sock_domain, +++#if __FreeBSD_version < 1200031 ++ &kif->kf_sa_peer)); +++#else +++ &kif->kf_un.kf_sock.kf_sa_peer)); +++#endif ++ ++ // construct python tuple/list ++ laddr = Py_BuildValue("(si)", lip, lport); ++@@ -1137,7 +1187,11 @@ ++ else if (kif->kf_sock_domain == AF_UNIX) { ++ struct sockaddr_un *sun; ++ +++#if __FreeBSD_version < 1200031 ++ sun = (struct sockaddr_un *)&kif->kf_sa_local; +++#else +++ sun = (struct sockaddr_un *)&kif->kf_un.kf_sock.kf_sa_local; +++#endif ++ snprintf( ++ path, sizeof(path), "%.*s", ++ (sun->sun_len - (sizeof(*sun) - sizeof(sun->sun_path))), ++@@ -1779,7 +1833,11 @@ ++ struct xinpgen *xig, *exig; ++ struct xinpcb *xip; ++ struct xtcpcb *xtp; +++#if __FreeBSD_version >= 1200026 +++ struct xinpcb *inp; +++#else ++ struct inpcb *inp; +++#endif ++ struct xsocket *so; ++ struct sock *sock; ++ const char *varname; ++@@ -1849,13 +1907,21 @@ ++ PyErr_Format(PyExc_RuntimeError, "struct xinpcb size mismatch"); ++ goto error; ++ } +++#if __FreeBSD_version >= 1200026 +++ inp = xip; +++#else ++ inp = &xip->xi_inp; +++#endif ++ so = &xip->xi_socket; ++ break; ++ } ++ ++ inp = &xtp->xt_inp; +++#if __FreeBSD_version >= 1200026 +++ so = &xtp->xt_inp.xi_socket; +++#else ++ so = &xtp->xt_socket; +++#endif ++ char lip[200], rip[200]; ++ int family, lport, rport, pid, status; ++ ++@@ -1863,9 +1929,14 @@ ++ pid = psutil_get_pid_from_sock(hash); ++ if (pid < 0) ++ continue; +++ ++ lport = ntohs(inp->inp_lport); ++ rport = ntohs(inp->inp_fport); +++#if __FreeBSD_version >= 1200026 +++ status = xtp->t_state; +++#else ++ status = xtp->xt_tp.t_state; +++#endif ++ ++ if (inp->inp_vflag & INP_IPV4) { ++ family = AF_INET; Copied and modified: head/games/0ad/files/patch-libraries_source_spidermonkey_build.sh (from r473958, head/games/0ad/files/patch-libraries__source__spidermonkey__build.sh) ============================================================================== --- head/games/0ad/files/patch-libraries__source__spidermonkey__build.sh Thu Jul 5 09:37:37 2018 (r473958, copy source) +++ head/games/0ad/files/patch-libraries_source_spidermonkey_build.sh Thu Jul 5 09:57:06 2018 (r473959) @@ -1,17 +1,9 @@ --- libraries/source/spidermonkey/build.sh.orig 2016-10-04 15:01:34 UTC +++ libraries/source/spidermonkey/build.sh -@@ -90,11 +90,21 @@ cd $FOLDER - # Apply patches - . ../patch.sh - -+patch <../psutil.diff -+ - cd js/src - - # Clean up data generated by previous builds that could cause problems +@@ -96,6 +96,14 @@ cd js/src rm -rf build-debug rm -rf build-release -+ + +cp jsnativestack.cpp jsnativestack.cpp.orig +sed 's/# include <pthread_np.h>/#pragma GCC visibility push(default)\ +#include <pthread_np.h>\ @@ -19,6 +11,7 @@ + +cp configure configure.orig +sed -e 's/"$ac_cv_have_visibility_class_bug" = "no"; then/"$ac_cv_have_visibility_class_bug" = "no" -a "$OS_ARCH" != "FreeBSD" ; then/' -e 's/-Werror=conversion-null//' configure.orig >configure - ++ # We want separate debug/release versions of the library, so we have to change # the LIBRARY_NAME for each build. + # (We use perl instead of sed so that it works with MozillaBuild on Windows, Added: head/games/0ad/files/patch-source_tools_atlas_AtlasObject_AtlasObjectImpl.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/games/0ad/files/patch-source_tools_atlas_AtlasObject_AtlasObjectImpl.cpp Thu Jul 5 09:57:06 2018 (r473959) @@ -0,0 +1,30 @@ +--- source/tools/atlas/AtlasObject/AtlasObjectImpl.cpp.orig 2016-11-23 14:09:58 UTC ++++ source/tools/atlas/AtlasObject/AtlasObjectImpl.cpp +@@ -164,7 +164,12 @@ void AtObj::add(const char* key, AtObj& data) + + void AtObj::add(const char* key, const wxString& value) + { +- add(key, value.wc_str()); ++ const AtNode* o = new AtNode(value.wc_str()); ++ ++ if (!p) ++ p = new AtNode(); ++ ++ p = p->addChild(key, AtNode::Ptr(o)); + } + + void AtObj::add(const char* key, const wchar_t* value) +@@ -187,7 +192,12 @@ void AtObj::set(const char* key, AtObj& data) + + void AtObj::set(const char* key, const wxString& value) + { +- set(key, value.wc_str()); ++ const AtNode* o = new AtNode(value.wc_str()); ++ ++ if (!p) ++ p = new AtNode(); ++ ++ p = p->setChild(key, AtNode::Ptr(o)); + } + + void AtObj::set(const char* key, const wchar_t* value) Added: head/games/0ad/files/patch-source_tools_atlas_AtlasUI_CustomControls_MapDialog_MapDialog.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/games/0ad/files/patch-source_tools_atlas_AtlasUI_CustomControls_MapDialog_MapDialog.cpp Thu Jul 5 09:57:06 2018 (r473959) @@ -0,0 +1,34 @@ +--- source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp.orig 2018-03-13 20:26:30 UTC ++++ source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp +@@ -166,11 +166,11 @@ void MapDialog::OnListBox(wxCommandEvent& evt) + else + { + wxString filePath = GetSelectedFilePath(); +- AtlasMessage::qVFSFileExists qry(filePath.wc_str()); ++ AtlasMessage::qVFSFileExists qry(filePath.ToStdWstring()); + qry.Post(); + if (!filePath.IsEmpty() && qry.exists) + { +- AtlasMessage::qVFSFileRealPath qry(filePath.wc_str()); ++ AtlasMessage::qVFSFileRealPath qry(filePath.ToStdWstring()); + qry.Post(); + wxDynamicCast(FindWindow(ID_MapDialogFilename), wxTextCtrl)->ChangeValue(*qry.realPath); + } +@@ -221,7 +221,7 @@ void MapDialog::OpenFile() + if (filePath.empty()) + return; + +- AtlasMessage::qVFSFileExists qry(filePath.wc_str()); ++ AtlasMessage::qVFSFileExists qry(filePath.ToStdWstring()); + qry.Post(); + if (!qry.exists) + return; +@@ -236,7 +236,7 @@ void MapDialog::SaveFile() + return; + + // TODO: this test would work better outside the VFS +- AtlasMessage::qVFSFileExists qry(filePath.wc_str()); ++ AtlasMessage::qVFSFileExists qry(filePath.ToStdWstring()); + qry.Post(); + if (qry.exists) + { Added: head/games/0ad/files/patch-source_tools_atlas_AtlasUI_ScenarioEditor_ScenarioEditor.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/games/0ad/files/patch-source_tools_atlas_AtlasUI_ScenarioEditor_ScenarioEditor.cpp Thu Jul 5 09:57:06 2018 (r473959) @@ -0,0 +1,56 @@ +--- source/tools/atlas/AtlasUI/ScenarioEditor/ScenarioEditor.cpp.orig 2018-03-13 20:20:45 UTC ++++ source/tools/atlas/AtlasUI/ScenarioEditor/ScenarioEditor.cpp +@@ -723,7 +723,7 @@ bool ScenarioEditor::OpenFile(const wxString& name, co + wxBusyInfo busy(_("Loading ") + name); + wxBusyCursor busyc; + +- AtlasMessage::qVFSFileExists qry(filename.wc_str()); ++ AtlasMessage::qVFSFileExists qry(filename.ToStdWstring()); + qry.Post(); + if (!qry.exists) + return false; +@@ -733,7 +733,7 @@ bool ScenarioEditor::OpenFile(const wxString& name, co + m_ToolManager.SetCurrentTool(_T("")); + // TODO: clear the undo buffer, etc + +- std::wstring map(filename.wc_str()); ++ std::wstring map(filename.ToStdWstring()); + POST_MESSAGE(LoadMap, (map)); + + SetOpenFilename(name); +@@ -786,7 +786,7 @@ void ScenarioEditor::OnImportHeightmap(wxCommandEvent& + + OpenFile(_T(""), _T("maps/scenarios/_default.xml")); + +- std::wstring image(dlg.GetPath().wc_str()); ++ std::wstring image(dlg.GetPath().ToStdWstring()); + POST_MESSAGE(ImportHeightmap, (image)); + + // TODO: Make this a non-undoable command +@@ -830,7 +830,7 @@ void ScenarioEditor::OnSave(wxCommandEvent& event) + // the preview units.) + m_ToolManager.SetCurrentTool(_T("")); + +- std::wstring map(m_OpenFilename.wc_str()); ++ std::wstring map(m_OpenFilename.ToStdWstring()); + POST_MESSAGE(SaveMap, (map)); + + // Wait for it to finish saving +@@ -852,7 +852,7 @@ void ScenarioEditor::OnSaveAs(wxCommandEvent& WXUNUSED + + m_ToolManager.SetCurrentTool(_T("")); + +- std::wstring map(filePath.wc_str()); ++ std::wstring map(filePath.ToStdWstring()); + POST_MESSAGE(SaveMap, (map)); + + SetOpenFilename(filePath); +@@ -920,7 +920,7 @@ void ScenarioEditor::OnJavaScript(wxCommandEvent& WXUN + wxString cmd = ::wxGetTextFromUser(_T(""), _("JS command"), _T(""), this); + if (cmd.IsEmpty()) + return; +- POST_MESSAGE(JavaScript, ((std::wstring)cmd.wc_str())); ++ POST_MESSAGE(JavaScript, ((std::wstring)cmd.ToStdWstring())); + } + + void ScenarioEditor::OnCameraReset(wxCommandEvent& WXUNUSED(event))
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807050957.w659v7ZE038175>