From 59242427b1f2e65b8a48c6c1f41020a99a7d7f5c Mon Sep 17 00:00:00 2001 From: Guido Falsi Date: Sun, 12 Oct 2014 23:44:07 +0000 Subject: - Update to 0.0.17 - Alpha 17 Quercus - Use BUNDLE_LIBS - Remove dirrms Many thanks to the 0ad developers for their cooperation. --- games/0ad/Makefile | 35 ++--- games/0ad/distinfo | 8 +- ...-premake-premake4-build-gmake.bsd-Premake4.make | 20 --- games/0ad/files/patch-build-premake-premake4.lua | 44 ------ games/0ad/files/patch-build-resources-0ad.sh | 7 - .../files/patch-build__premake__extern_libs4.lua | 11 ++ games/0ad/files/patch-build__premake__premake4.lua | 17 +++ .../patch-build__workspaces__update-workspaces.sh | 13 ++ ...collada-src-FCollada-FUtils-FUStringBuilder.hpp | 45 ------ .../patch-libraries-source-spidermonkey-build.sh | 17 --- ...ada__src__FCollada__FUtils__FUStringBuilder.hpp | 157 +++++++++++++++++++++ ...atch-libraries__source__fcollada__src__Makefile | 11 ++ ...patch-libraries__source__spidermonkey__build.sh | 17 +++ games/0ad/files/patch-source-lib-lib.h | 10 -- .../files/patch-source-lib-sysdep-os-unix-x-x.cpp | 16 --- .../patch-source-simulation2-system_ParamNode.cpp | 13 -- ...ource-tools-atlas-AtlasObject-AtlasObjectJS.cpp | 11 -- games/0ad/pkg-plist | 6 +- 18 files changed, 250 insertions(+), 208 deletions(-) delete mode 100644 games/0ad/files/patch-build-premake-premake4-build-gmake.bsd-Premake4.make delete mode 100644 games/0ad/files/patch-build-premake-premake4.lua delete mode 100644 games/0ad/files/patch-build-resources-0ad.sh create mode 100644 games/0ad/files/patch-build__premake__extern_libs4.lua create mode 100644 games/0ad/files/patch-build__premake__premake4.lua create mode 100644 games/0ad/files/patch-build__workspaces__update-workspaces.sh delete mode 100644 games/0ad/files/patch-libraries-source-fcollada-src-FCollada-FUtils-FUStringBuilder.hpp delete mode 100644 games/0ad/files/patch-libraries-source-spidermonkey-build.sh create mode 100644 games/0ad/files/patch-libraries__source__fcollada__src__FCollada__FUtils__FUStringBuilder.hpp create mode 100644 games/0ad/files/patch-libraries__source__fcollada__src__Makefile create mode 100644 games/0ad/files/patch-libraries__source__spidermonkey__build.sh delete mode 100644 games/0ad/files/patch-source-lib-lib.h delete mode 100644 games/0ad/files/patch-source-lib-sysdep-os-unix-x-x.cpp delete mode 100644 games/0ad/files/patch-source-simulation2-system_ParamNode.cpp delete mode 100644 games/0ad/files/patch-source-tools-atlas-AtlasObject-AtlasObjectJS.cpp diff --git a/games/0ad/Makefile b/games/0ad/Makefile index 3638783fc438..7ee54b040244 100644 --- a/games/0ad/Makefile +++ b/games/0ad/Makefile @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= 0ad -PORTVERSION= 0.0.14 -PORTREVISION= 4 +PORTVERSION= 0.0.17 CATEGORIES= games MASTER_SITES= SF/zero-ad/releases DISTFILES= ${PORTNAME}-${PORTVERSION}-alpha-unix-build.tar.xz \ @@ -11,8 +10,7 @@ DISTFILES= ${PORTNAME}-${PORTVERSION}-alpha-unix-build.tar.xz \ MAINTAINER= madpilot@FreeBSD.org COMMENT= Real-time strategy (RTS) game of ancient warfare -BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \ - zip:${PORTSDIR}/archivers/zip \ +BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip \ cmake:${PORTSDIR}/devel/cmake LIB_DEPENDS= libboost_thread.so:${PORTSDIR}/devel/boost-libs \ libexecinfo.so:${PORTSDIR}/devel/libexecinfo \ @@ -20,18 +18,24 @@ LIB_DEPENDS= libboost_thread.so:${PORTSDIR}/devel/boost-libs \ libogg.so:${PORTSDIR}/audio/libogg \ libvorbis.so:${PORTSDIR}/audio/libvorbis \ libcurl.so:${PORTSDIR}/ftp/curl \ - libgamin-1.so:${PORTSDIR}/devel/gamin + libgamin-1.so:${PORTSDIR}/devel/gamin \ + libgloox.so:${PORTSDIR}/net-im/gloox \ + libminiupnpc.so:${PORTSDIR}/net/miniupnpc \ + libnspr4.so:${PORTSDIR}/devel/nspr \ + libenet.so:${PORTSDIR}/net/enet WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-alpha BUILD_WRKSRC= ${WRKSRC}/build/workspaces/gcc MAKE_ARGS= config=release -USES= compiler:c++11-lang dos2unix gmake openal:al pkgconfig tar:xz +USES= compiler:c++11-lang dos2unix gmake iconv openal:al \ + pkgconfig tar:xz USE_SDL= sdl USE_GNOME= libxml2 gtk20 USE_GL= gl +BUNDLE_LIBS= yes DOS2UNIX_REGEX= .*\.([ch]p{0,2}|make) -USE_WX= 2.8 +USE_WX= 2.8+ WX_COMPS= wx:lib WX_UNICODE= yes MAKE_ENV+= JOBS=${_MAKE_JOBS} @@ -40,31 +44,30 @@ MANUAL_PACKAGE_BUILD= huge PORTDATA= * -.include - -.if ${OSVERSION} < 900014 -FAVORITE_COMPILER= gcc -.endif - post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ -e 's|%%CC%%|${CC}|' \ ${WRKSRC}/build/premake/premake4.lua @${REINPLACE_CMD} 's,^\(Exec=\)/usr/local,\1${PREFIX},' \ ${WRKSRC}/build/resources/0ad.desktop + @${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|' \ + ${WRKSRC}/build/resources/0ad.sh pre-build: - (cd ${WRKSRC}/build/workspaces && ${SETENV} ${MAKE_ENV} ./update-workspaces.sh --bindir=${PREFIX}/bin --datadir=${DATADIR} --libdir=${PREFIX}/lib/${PORTNAME}) + (cd ${WRKSRC}/build/workspaces && ${SETENV} ${MAKE_ENV} ./update-workspaces.sh --with-system-miniupnpc --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 libenet.so.1 libmozjs185-ps-release.so.1.0 libnvcore.so libnvimage.so libnvmath.so libnvtt.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}) + (cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libAtlasUI.so libCollada.so libmozjs24-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} - (cd ${WRKSRC}/binaries/data && ${COPYTREE_SHARE} "config mods tests tools" ${STAGEDIR}${DATADIR}) + (cd ${WRKSRC}/binaries/data && ${COPYTREE_SHARE} "config l10n tests tools" ${STAGEDIR}${DATADIR}) + ${MKDIR} ${STAGEDIR}${DATADIR}/mods/public ${STAGEDIR}${DATADIR}/mods/mod + ${TAR} xf ${WRKSRC}/binaries/data/mods/public/public.zip -C ${STAGEDIR}${DATADIR}/mods/public --no-same-permissions + ${TAR} xf ${WRKSRC}/binaries/data/mods/mod/mod.zip -C ${STAGEDIR}${DATADIR}/mods/mod --no-same-permissions .include diff --git a/games/0ad/distinfo b/games/0ad/distinfo index 7674ad0b8d8e..f8a22065acc4 100644 --- a/games/0ad/distinfo +++ b/games/0ad/distinfo @@ -1,4 +1,4 @@ -SHA256 (0ad-0.0.14-alpha-unix-build.tar.xz) = 2034cc71043c970e6229080385b343b08fd5c0b2258372dc19de4c2057267a5c -SIZE (0ad-0.0.14-alpha-unix-build.tar.xz) = 10172124 -SHA256 (0ad-0.0.14-alpha-unix-data.tar.xz) = e046531a55226a15784ce9c31df1d8e6723ad2cedd70a0abb63dc1721bf2a770 -SIZE (0ad-0.0.14-alpha-unix-data.tar.xz) = 450006708 +SHA256 (0ad-0.0.17-alpha-unix-build.tar.xz) = ef144d44fe8a8abd29a4642999a58a596b8f0d0e1f310065f5ce1dfbe29c3aeb +SIZE (0ad-0.0.17-alpha-unix-build.tar.xz) = 19327284 +SHA256 (0ad-0.0.17-alpha-unix-data.tar.xz) = 6bf2234ef5043b14a3bbeda013fefed73ce2e564262f5e03b0801bfe671331d0 +SIZE (0ad-0.0.17-alpha-unix-data.tar.xz) = 561617008 diff --git a/games/0ad/files/patch-build-premake-premake4-build-gmake.bsd-Premake4.make b/games/0ad/files/patch-build-premake-premake4-build-gmake.bsd-Premake4.make deleted file mode 100644 index 45d8a468a5c5..000000000000 --- a/games/0ad/files/patch-build-premake-premake4-build-gmake.bsd-Premake4.make +++ /dev/null @@ -1,20 +0,0 @@ ---- build/premake/premake4/build/gmake.bsd/Premake4.make.orig 2012-09-13 04:29:58.196744551 +0200 -+++ build/premake/premake4/build/gmake.bsd/Premake4.make 2012-09-13 04:32:48.083760584 +0200 -@@ -24,7 +24,7 @@ - TARGETDIR = ../../bin/release - TARGET = $(TARGETDIR)/premake4 - DEFINES += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN -- INCLUDES += -I../../src/host/lua-5.1.4/src -+ INCLUDES += -I../../src/host/lua-5.1.4/src -I$(LOCALBASE)/include/wx-2.8 - CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES) - CFLAGS += $(CPPFLAGS) -Wall -Os - CXXFLAGS += $(CPPFLAGS) -Wall -Os -@@ -46,7 +46,7 @@ - TARGETDIR = ../../bin/debug - TARGET = $(TARGETDIR)/premake4 - DEFINES += -D_DEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN -- INCLUDES += -I../../src/host/lua-5.1.4/src -+ INCLUDES += -I../../src/host/lua-5.1.4/src -I$(LOCALBASE)/include/wx-2.8 - CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES) - CFLAGS += $(CPPFLAGS) -Wall -g - CXXFLAGS += $(CPPFLAGS) -Wall -g diff --git a/games/0ad/files/patch-build-premake-premake4.lua b/games/0ad/files/patch-build-premake-premake4.lua deleted file mode 100644 index 5bd59b07522c..000000000000 --- a/games/0ad/files/patch-build-premake-premake4.lua +++ /dev/null @@ -1,44 +0,0 @@ ---- build/premake/premake4.lua.orig 2013-08-27 04:42:56.000000000 +0200 -+++ build/premake/premake4.lua 2013-09-17 18:31:17.300814455 +0200 -@@ -39,7 +39,7 @@ - if arch == "x86_64" or arch == "amd64" then - arch = "amd64" - else -- os.execute("gcc -dumpmachine > .gccmachine.tmp") -+ os.execute("%%CC%% -dumpmachine > .gccmachine.tmp") - local f = io.open(".gccmachine.tmp", "r") - local machine = f:read("*line") - f:close() -@@ -91,7 +91,7 @@ - -- do the test in this build script instead (which is kind of ugly - please fix if - -- you have a better idea) - if not _OPTIONS["icc"] then -- os.execute("gcc -dumpversion > .gccver.tmp") -+ os.execute("%%CC%% -dumpversion > .gccver.tmp") - local f = io.open(".gccver.tmp", "r") - major, dot, minor = f:read(1, 1, 1) - f:close() -@@ -138,7 +138,7 @@ - - function project_set_build_flags() - -- flags { "Symbols", "NoEditAndContinue" } -+ flags { "NoEditAndContinue" } - if not _OPTIONS["icc"] and (os.is("windows") or not _OPTIONS["minimal-flags"]) then - -- adds the -Wall compiler flag - flags { "ExtraWarnings" } -- this causes far too many warnings/remarks on ICC -@@ -356,11 +356,11 @@ - -- X11 includes may be installed in one of a gadzillion of three places - -- Famous last words: "You can't include too much! ;-)" - includedirs { -- "/usr/X11R6/include/X11", -- "/usr/X11R6/include", -+ "%%LOCALBASE%%/include/X11", -+ "%%LOCALBASE%%/include", - "/usr/include/X11" - } -- libdirs { "/usr/X11R6/lib" } -+ libdirs { "%%LOCALBASE%%/lib" } - end - end - diff --git a/games/0ad/files/patch-build-resources-0ad.sh b/games/0ad/files/patch-build-resources-0ad.sh deleted file mode 100644 index 81bd3f0f30d8..000000000000 --- a/games/0ad/files/patch-build-resources-0ad.sh +++ /dev/null @@ -1,7 +0,0 @@ ---- build/resources/0ad.sh.orig 2010-08-15 14:23:11.000000000 +0200 -+++ build/resources/0ad.sh 2012-05-10 15:17:57.136470711 +0200 -@@ -1,3 +1,3 @@ - #!/bin/sh - --/usr/bin/pyrogenesis "$@" -+/usr/local/bin/pyrogenesis "$@" diff --git a/games/0ad/files/patch-build__premake__extern_libs4.lua b/games/0ad/files/patch-build__premake__extern_libs4.lua new file mode 100644 index 000000000000..59d76aaadc89 --- /dev/null +++ b/games/0ad/files/patch-build__premake__extern_libs4.lua @@ -0,0 +1,11 @@ +--- build/premake/extern_libs4.lua.orig 2014-09-24 10:05:27 UTC ++++ build/premake/extern_libs4.lua +@@ -237,7 +237,7 @@ + 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" } + end + end, + link_settings = function() diff --git a/games/0ad/files/patch-build__premake__premake4.lua b/games/0ad/files/patch-build__premake__premake4.lua new file mode 100644 index 000000000000..5ab3bdd4964f --- /dev/null +++ b/games/0ad/files/patch-build__premake__premake4.lua @@ -0,0 +1,17 @@ +--- build/premake/premake4.lua.orig 2014-09-24 10:05:09 UTC ++++ build/premake/premake4.lua +@@ -416,11 +416,11 @@ + includedirs { + "/usr/X11R6/include/X11", + "/usr/X11R6/include", +- "/usr/local/include/X11", +- "/usr/local/include", ++ "%%LOCALBASE%%/include/X11", ++ "%%LOCALBASE%%/include", + "/usr/include/X11" + } +- libdirs { "/usr/X11R6/lib" } ++ libdirs { "%%LOCALBASE%%/lib" } + end + end + diff --git a/games/0ad/files/patch-build__workspaces__update-workspaces.sh b/games/0ad/files/patch-build__workspaces__update-workspaces.sh new file mode 100644 index 000000000000..311f65a0c84f --- /dev/null +++ b/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: $* diff --git a/games/0ad/files/patch-libraries-source-fcollada-src-FCollada-FUtils-FUStringBuilder.hpp b/games/0ad/files/patch-libraries-source-fcollada-src-FCollada-FUtils-FUStringBuilder.hpp deleted file mode 100644 index d01f7a08b497..000000000000 --- a/games/0ad/files/patch-libraries-source-fcollada-src-FCollada-FUtils-FUStringBuilder.hpp +++ /dev/null @@ -1,45 +0,0 @@ ---- libraries/source/fcollada/src/FCollada/FUtils/FUStringBuilder.hpp.orig 2013-04-03 00:21:34.395291619 +0200 -+++ libraries/source/fcollada/src/FCollada/FUtils/FUStringBuilder.hpp 2013-04-03 00:23:23.590274415 +0200 -@@ -18,6 +18,42 @@ - #include - #endif - -+#ifdef __FreeBSD__ -+// ecvt is not included in FreeBSD's stdlib -+// http://forum.pellesc.de/index.php?PHPSESSID=0c4srgu3vrs19ali5459jehdh3&topic=2103.msg7797#msg7797 -+char *ecvt(double value, int ndigit, int *decpt, int *sign) -+{ -+ static char buffer[348]; -+ static const int n = sizeof(buffer)/sizeof(buffer[0])-1; -+ ptrdiff_t pd; -+ int len; -+ int zeros=0; -+ if (ndigit > n) ndigit=n; -+ while (value > -1.0 && value < 1.0 ) { -+ value*=10.0; -+ zeros++; -+ } -+ sprintf(buffer,"%.*f",DBL_DIG,value); -+ len=strlen(buffer); -+ if (buffer[0]=='-') { -+ memmove(buffer, buffer+1, --len); -+ buffer[len]='\0'; -+ *sign=1; -+ } -+ else *sign = 0; -+ pd=strchr(buffer,'.')-buffer; -+ memmove(buffer+pd,buffer+pd+1,--len-pd); -+ buffer[len]='\0'; -+ *decpt=(int)pd-zeros; -+ if (len >= ndigit) buffer[ndigit]='\0'; -+ else { -+ memset(buffer+len,'0',ndigit-len); -+ buffer[ndigit]='\0'; -+ } -+ return buffer; -+} -+#endif -+ - #ifdef WIN32 - #define ecvt _ecvt - #endif // WIN32 diff --git a/games/0ad/files/patch-libraries-source-spidermonkey-build.sh b/games/0ad/files/patch-libraries-source-spidermonkey-build.sh deleted file mode 100644 index 0462783d2d63..000000000000 --- a/games/0ad/files/patch-libraries-source-spidermonkey-build.sh +++ /dev/null @@ -1,17 +0,0 @@ ---- libraries/source/spidermonkey/build.sh.orig 2013-02-04 01:31:03.000000000 +0100 -+++ libraries/source/spidermonkey/build.sh 2013-04-03 00:34:16.221257333 +0200 -@@ -53,6 +53,14 @@ - - cd js-1.8.5/js/src - -+cp jsnativestack.cpp jsnativestack.cpp.orig -+sed 's/# include /#pragma GCC visibility push(default)\ -+#include \ -+#pragma GCC visibility pop/' jsnativestack.cpp.orig >jsnativestack.cpp -+ -+cp configure configure.orig -+sed 's/"$ac_cv_have_visibility_class_bug" = "no"; then/"$ac_cv_have_visibility_class_bug" = "no" -a "$OS_ARCH" != "FreeBSD" ; then/' 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, diff --git a/games/0ad/files/patch-libraries__source__fcollada__src__FCollada__FUtils__FUStringBuilder.hpp b/games/0ad/files/patch-libraries__source__fcollada__src__FCollada__FUtils__FUStringBuilder.hpp new file mode 100644 index 000000000000..602b6410648c --- /dev/null +++ b/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 2014-09-24 10:30:15 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 +-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 + FUStringBuilderT::FUStringBuilderT(const String& sz) + { +@@ -234,53 +177,50 @@ + template + void FUStringBuilderT::append(float f) + { +-#ifdef WIN32 +- // use _isnan method to detect the 1.#IND00 NaN. +- if (f != std::numeric_limits::infinity() && f != -std::numeric_limits::infinity() && f != std::numeric_limits::quiet_NaN() && f != std::numeric_limits::signaling_NaN() && !_isnan((double)f)) +-#else +- if (f != std::numeric_limits::infinity() && f != -std::numeric_limits::infinity() && f != std::numeric_limits::quiet_NaN() && f != std::numeric_limits::signaling_NaN()) +-#endif +- { +- if (IsEquivalent(f, 0.0f, std::numeric_limits::epsilon())) append((Char)'0'); +- else +- { +- Char sz[128]; +- FloatToString(f, sz); +- append(sz + 1); +- } +- } +- else if (f == std::numeric_limits::infinity()) +- { append((Char)'I'); append((Char)'N'); append((Char)'F'); } +- else if (f == -std::numeric_limits::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 + void FUStringBuilderT::append(double f) + { +-#ifdef WIN32 +- // use _isnan method to detect the .#IND00 NaN. +- if (f != std::numeric_limits::infinity() && f != -std::numeric_limits::infinity() && f != std::numeric_limits::quiet_NaN() && f != std::numeric_limits::signaling_NaN() && !_isnan(f)) +-#else +- if (f != std::numeric_limits::infinity() && f != -std::numeric_limits::infinity() && f != std::numeric_limits::quiet_NaN() && f != std::numeric_limits::signaling_NaN()) +-#endif +- { +- if (IsEquivalent(f, 0.0, std::numeric_limits::epsilon())) append((Char)'0'); +- else +- { +- Char sz[128]; +- FloatToString(f, sz); +- append(sz + 1); +- } ++ if (f == -std::numeric_limits::infinity()) { ++ append("-INF"); ++ return; ++ } else if (f == std::numeric_limits::infinity()) { ++ append("INF"); ++ return; ++ } else if (f != f) { ++ append("NaN"); ++ return; ++ } else if (-std::numeric_limits::epsilon() < f && f < std::numeric_limits::epsilon()) { ++ append("0.0E0"); ++ return; + } +- else if (f == std::numeric_limits::infinity()) +- { append((Char)'I'); append((Char)'N'); append((Char)'F'); } +- else if (f == -std::numeric_limits::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 diff --git a/games/0ad/files/patch-libraries__source__fcollada__src__Makefile b/games/0ad/files/patch-libraries__source__fcollada__src__Makefile new file mode 100644 index 000000000000..9fd151bb3e0b --- /dev/null +++ b/games/0ad/files/patch-libraries__source__fcollada__src__Makefile @@ -0,0 +1,11 @@ +--- libraries/source/fcollada/src/Makefile.orig 2014-09-27 14:41:22 UTC ++++ libraries/source/fcollada/src/Makefile +@@ -227,7 +227,7 @@ + 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 ) diff --git a/games/0ad/files/patch-libraries__source__spidermonkey__build.sh b/games/0ad/files/patch-libraries__source__spidermonkey__build.sh new file mode 100644 index 000000000000..29210bee68c1 --- /dev/null +++ b/games/0ad/files/patch-libraries__source__spidermonkey__build.sh @@ -0,0 +1,17 @@ +--- libraries/source/spidermonkey/build.sh.orig 2014-09-24 08:29:20 UTC ++++ libraries/source/spidermonkey/build.sh +@@ -66,6 +66,14 @@ + + cd mozjs24/js/src + ++cp jsnativestack.cpp jsnativestack.cpp.orig ++sed 's/# include /#pragma GCC visibility push(default)\ ++#include \ ++#pragma GCC visibility pop/' jsnativestack.cpp.orig >jsnativestack.cpp ++ ++cp configure configure.orig ++sed 's/"$ac_cv_have_visibility_class_bug" = "no"; then/"$ac_cv_have_visibility_class_bug" = "no" -a "$OS_ARCH" != "FreeBSD" ; then/' 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, diff --git a/games/0ad/files/patch-source-lib-lib.h b/games/0ad/files/patch-source-lib-lib.h deleted file mode 100644 index f68e772a150d..000000000000 --- a/games/0ad/files/patch-source-lib-lib.h +++ /dev/null @@ -1,10 +0,0 @@ ---- source/lib/lib.h.orig 2013-09-17 20:41:12.887277235 +0200 -+++ source/lib/lib.h 2013-09-17 20:44:34.202282356 +0200 -@@ -63,6 +63,7 @@ - #include // fabsf - #include // numeric_limits - #include // out_of_range -+#include // std::min, std::max - - template - T Clamp(T val, T min, T max) diff --git a/games/0ad/files/patch-source-lib-sysdep-os-unix-x-x.cpp b/games/0ad/files/patch-source-lib-sysdep-os-unix-x-x.cpp deleted file mode 100644 index 8ca964a6a19c..000000000000 --- a/games/0ad/files/patch-source-lib-sysdep-os-unix-x-x.cpp +++ /dev/null @@ -1,16 +0,0 @@ ---- source/lib/sysdep/os/unix/x/x.cpp.orig 2012-05-18 13:26:07.715192771 +0200 -+++ source/lib/sysdep/os/unix/x/x.cpp 2012-05-18 13:26:35.139193906 +0200 -@@ -40,10 +40,10 @@ - - #define Cursor X__Cursor - --#include -+#include - #include --#include --#include -+#include -+#include - - #include "SDL.h" - #include "SDL_syswm.h" diff --git a/games/0ad/files/patch-source-simulation2-system_ParamNode.cpp b/games/0ad/files/patch-source-simulation2-system_ParamNode.cpp deleted file mode 100644 index aafbb94c4d30..000000000000 --- a/games/0ad/files/patch-source-simulation2-system_ParamNode.cpp +++ /dev/null @@ -1,13 +0,0 @@ ---- source/simulation2/system/ParamNode.cpp.orig 2013-09-26 18:21:33.000000000 +0200 -+++ source/simulation2/system/ParamNode.cpp 2013-09-26 18:22:57.000000000 +0200 -@@ -37,6 +37,10 @@ - #include - #include // this isn't in string.hpp in old Boosts - -+/* we need to force the instantiation of the wchar_t specialization of std::basic_string's empty() -+ * method in order to get a reference to it through std::mem_fun_ref on lines 122 and 123 */ -+template bool std::basic_string, std::allocator >::empty() const; -+ - static CParamNode g_NullNode(false); - - CParamNode::CParamNode(bool isOk) : diff --git a/games/0ad/files/patch-source-tools-atlas-AtlasObject-AtlasObjectJS.cpp b/games/0ad/files/patch-source-tools-atlas-AtlasObject-AtlasObjectJS.cpp deleted file mode 100644 index fed2ce4707be..000000000000 --- a/games/0ad/files/patch-source-tools-atlas-AtlasObject-AtlasObjectJS.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- source/tools/atlas/AtlasObject/AtlasObjectJS.cpp.orig 2012-05-21 22:49:25.624250443 +0200 -+++ source/tools/atlas/AtlasObject/AtlasObjectJS.cpp 2012-05-21 22:49:28.429250717 +0200 -@@ -24,7 +24,7 @@ - # pragma warning(disable:4996) // deprecated CRT - #endif - --#include "wx/log.h" -+#include "wx-2.8/wx/log.h" - - #include - diff --git a/games/0ad/pkg-plist b/games/0ad/pkg-plist index bc53ec4d6c17..b09f4cdb4d1f 100644 --- a/games/0ad/pkg-plist +++ b/games/0ad/pkg-plist @@ -3,14 +3,10 @@ bin/0ad bin/ActorEditor lib/0ad/libAtlasUI.so lib/0ad/libCollada.so -lib/0ad/libenet.so.1 -lib/0ad/libmozjs185-ps-release.so.1.0 +lib/0ad/libmozjs24-ps-release.so lib/0ad/libnvcore.so lib/0ad/libnvimage.so lib/0ad/libnvmath.so lib/0ad/libnvtt.so share/applications/0ad.desktop share/pixmaps/0ad.png -@exec mkdir -p %D/%%DATADIR%%/mods/_test.minimal/art/meshes -@exec mkdir -p %D/%%DATADIR%%/mods/_test.minimal/art/actors -@dirrm lib/0ad -- cgit v1.2.3