Index: head/emulators/mame/Makefile =================================================================== --- head/emulators/mame/Makefile (revision 507823) +++ head/emulators/mame/Makefile (revision 507824) @@ -1,126 +1,126 @@ # Created by: alepulver # $FreeBSD$ PORTNAME?= mame PORTVERSION= 0.209 PORTREVISION= 1 CATEGORIES= emulators MAINTAINER= ports@FreeBSD.org COMMENT= Multi Arcade Machine Emulator LICENSE= GPLv2 -ONLY_FOR_ARCHS= amd64 i386 -ONLY_FOR_ARCHS_REASON= not yet ported to any arch other than x86 +ONLY_FOR_ARCHS= amd64 i386 powerpc64 +ONLY_FOR_ARCHS_REASON= not yet ported to any arch other than x86 and powerpc64 LIB_DEPENDS= libFLAC.so:audio/flac \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 RUN_DEPENDS= liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf USES= compiler:c++14-lang gl gmake jpeg pkgconfig \ python:2.7,build qt:5 sdl shebangfix USE_GITHUB= yes GH_ACCOUNT= mamedev GH_PROJECT= mame # explicit (master port) GH_TAGNAME= mame${PORTVERSION:S/.//} OPTIONS_DEFINE= DEBUG DOCS EXAMPLES SHEBANG_FILES= src/devices/cpu/m6502/m6502make.py \ src/devices/cpu/m6809/m6809make.py \ src/devices/cpu/mcs96/mcs96make.py \ src/devices/cpu/tms57002/tmsmake.py USE_XORG= x11 xext xi xinerama xrender USE_GL= gl USE_SDL= sdl2 ttf2 USE_QT= buildtools core gui qmake_build widgets MTARGET?= mame MSUBTARGET?= mame CFLAGS+= -I${LOCALBASE}/include MAKE_ENV= NOWERROR=1 USE_NETWORK=1 \ LD="${CXX}" PYTHON="${PYTHON_CMD}" \ OPT_FLAGS="${CXXFLAGS}" GCC_LDFLAGS="${LDFLAGS}" \ TARGET="${MTARGET}" SUBTARGET="${MSUBTARGET}" FULLNAME="mame" SDL_NETWORK="pcap" MAKE_ARGS= TARGETOS=freebsd VERBOSE=1 TOOLS=1 MAKEFILE= makefile GENIE= ${WRKSRC}/3rdparty/genie PORTDOCS= * PORTEXAMPLES= ${MSUBTARGET}.ini SUB_FILES= pkg-message target.ini SUB_LIST= MTARGET=${MTARGET} MSUBTARGET=${MSUBTARGET} DEBUG_MAKE_ENV= DEBUG=1 .include -.if ${ARCH} == amd64 +.if ${ARCH} == amd64 || ${ARCH} == powerpc64 MAKE_ARGS+= PTR64=1 EMULATOR= ${MSUBTARGET}64 .else EMULATOR= ${MSUBTARGET} .endif PLIST_SUB+= EMULATOR=${EMULATOR} post-patch: @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h @${MV} ${GENIE}/build/gmake.freebsd ${GENIE}/build/gmake.bsd @${REINPLACE_CMD} -e \ 's|^\(CC \)|#\1| ; \ s|^\(CXX \)|#\1| ; \ s|^\(CXX:\)|#\1| ; \ s|^\(LD \)|#\1| ; \ s|^\(PYTHON \)|#\1| ; \ s| .(ARCH)|| ; \ s|FreeBSD|${OPSYS}|g' \ ${WRKSRC}/makefile \ ${WRKSRC}/src/devices/cpu/m68000/makefile \ ${GENIE}/build/gmake.bsd/genie.make @${REINPLACE_CMD} -e 's|gcc|cc|; s|g++|c++|' \ ${GENIE}/src/tools/gcc.lua \ ${GENIE}/src/tools/snc.lua \ ${GENIE}/tests/test_gmake_cpp.lua @${REINPLACE_CMD} -e 's|= \"gcc|= \"cc|; s|= \"g++|= \"c++|' \ -e "s|'CXX =|'#CXX =|; s|'CC =|'#CC =|; s| .(ARCH)| |g" \ ${GENIE}/src/host/scripts.c # we can't fix two types of python shebangs, so do these manually @${REINPLACE_CMD} -i "" -e "s|/usr/bin/env python|${PYTHON_CMD}|" \ ${WRKSRC}/scripts/build/png*.py @${REINPLACE_CMD} -e 's|"python"|"${PYTHON_CMD}"|' \ ${WRKSRC}/scripts/genie.lua @${GREP} -rl '"png.h"' ${WRKSRC}/src | ${XARGS} ${REINPLACE_CMD} \ -e 's|"png.h"|"localpng.h"|' @${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \ ${WRKSRC}/src/frontend/mame/ui/icorender.cpp @${MV} ${WRKSRC}/src/lib/util/png.h ${WRKSRC}/src/lib/util/localpng.h do-install: @${MKDIR} ${STAGEDIR}${DATADIR} \ ${STAGEDIR}${DOCSDIR} \ ${STAGEDIR}${EXAMPLESDIR} \ ${STAGEDIR}${PREFIX}/libexec/${MSUBTARGET} ${INSTALL_PROGRAM} ${WRKSRC}/${EMULATOR} ${STAGEDIR}${PREFIX}/bin .if ${MSUBTARGET:Mmame} (cd ${WRKSRC} && \ ${INSTALL_PROGRAM} chdman jedutil ldresample ldverify \ romcmp unidasm \ ${STAGEDIR}${PREFIX}/libexec/mame) .endif .if ${MSUBTARGET:Mmess} (cd ${WRKSRC} && ${INSTALL_PROGRAM} castool chdman floptool imgtool jedutil \ ldresample ldverify nltool nlwav pngcmp regrep romcmp split src2html \ srcclean unidasm \ ${STAGEDIR}${PREFIX}/libexec/mess) .endif (cd ${WRKSRC} && ${COPYTREE_SHARE} artwork ${STAGEDIR}${DATADIR}) (cd ${WRKSRC} && ${COPYTREE_SHARE} hash ${STAGEDIR}${DATADIR}) (cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}) ${INSTALL_DATA} ${WRKDIR}/target.ini \ ${STAGEDIR}${EXAMPLESDIR}/${MSUBTARGET}.ini .include Index: head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_endian.inl =================================================================== --- head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_endian.inl (nonexistent) +++ head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_endian.inl (revision 507824) @@ -0,0 +1,29 @@ +--- 3rdparty/bx/include/bx/inline/endian.inl.orig 2019-04-24 05:00:38 UTC ++++ 3rdparty/bx/include/bx/inline/endian.inl +@@ -46,7 +46,7 @@ namespace bx + } + + template +- inline Ty toLittleEndian(const Ty _in) ++ inline Ty toLittleEndian(Ty _in) + { + #if BX_CPU_ENDIAN_BIG + return endianSwap(_in); +@@ -56,7 +56,7 @@ namespace bx + } + + template +- inline Ty toBigEndian(const Ty _in) ++ inline Ty toBigEndian(Ty _in) + { + #if BX_CPU_ENDIAN_LITTLE + return endianSwap(_in); +@@ -66,7 +66,7 @@ namespace bx + } + + template +- inline Ty toHostEndian(const Ty _in, bool _fromLittleEndian) ++ inline Ty toHostEndian(Ty _in, bool _fromLittleEndian) + { + #if BX_CPU_ENDIAN_LITTLE + return _fromLittleEndian ? _in : endianSwap(_in); Property changes on: head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_endian.inl ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +files/patch-3rdparty_asio_include_asio_detail_config.hpp \ No newline at end of property Index: head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_readerwriter.inl =================================================================== --- head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_readerwriter.inl (nonexistent) +++ head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_readerwriter.inl (revision 507824) @@ -0,0 +1,76 @@ +--- 3rdparty/bx/include/bx/inline/readerwriter.inl.orig 2019-04-24 05:00:38 UTC ++++ 3rdparty/bx/include/bx/inline/readerwriter.inl +@@ -273,7 +273,7 @@ namespace bx + } + + template +- int32_t read(ReaderI* _reader, Ty& _value, Error* _err) ++ inline int32_t read(ReaderI* _reader, Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(isTriviallyCopyable() ); +@@ -281,7 +281,7 @@ namespace bx + } + + template +- int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err) ++ inline int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(isTriviallyCopyable() ); +@@ -329,7 +329,7 @@ namespace bx + } + + template +- int32_t write(WriterI* _writer, const Ty& _value, Error* _err) ++ inline int32_t write(WriterI* _writer, const Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(isTriviallyCopyable() ); +@@ -337,7 +337,7 @@ namespace bx + } + + template +- int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err) ++ inline int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(isTriviallyCopyable() ); +@@ -346,8 +346,14 @@ namespace bx + return result; + } + ++ template<> ++ inline int32_t writeLE(WriterI* _writer, const float& _value, Error* _err) ++ { ++ return writeLE(_writer, floatToBits(_value), _err); ++ } ++ + template +- int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err) ++ inline int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(isTriviallyCopyable() ); +@@ -356,6 +362,12 @@ namespace bx + return result; + } + ++ template<> ++ inline int32_t writeBE(WriterI* _writer, const float& _value, Error* _err) ++ { ++ return writeBE(_writer, floatToBits(_value), _err); ++ } ++ + inline int64_t skip(SeekerI* _seeker, int64_t _offset) + { + return _seeker->seek(_offset, Whence::Current); +@@ -392,7 +404,7 @@ namespace bx + } + + template +- int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err) ++ inline int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(isTriviallyCopyable() ); Property changes on: head/emulators/mame/files/patch-3rdparty_bx_include_bx_inline_readerwriter.inl ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +files/patch-3rdparty_asio_include_asio_detail_config.hpp \ No newline at end of property Index: head/emulators/mame/files/patch-3rdparty_bx_include_bx_readerwriter.h =================================================================== --- head/emulators/mame/files/patch-3rdparty_bx_include_bx_readerwriter.h (nonexistent) +++ head/emulators/mame/files/patch-3rdparty_bx_include_bx_readerwriter.h (revision 507824) @@ -0,0 +1,10 @@ +--- 3rdparty/bx/include/bx/readerwriter.h.orig 2019-04-24 05:00:38 UTC ++++ 3rdparty/bx/include/bx/readerwriter.h +@@ -10,6 +10,7 @@ + #include "endian.h" + #include "error.h" + #include "filepath.h" ++#include "math.h" + #include "string.h" + #include "uint32_t.h" + Property changes on: head/emulators/mame/files/patch-3rdparty_bx_include_bx_readerwriter.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +files/patch-3rdparty_asio_include_asio_detail_config.hpp \ No newline at end of property Index: head/emulators/mame/files/patch-3rdparty_bx_tests_readerwriter__test.cpp =================================================================== --- head/emulators/mame/files/patch-3rdparty_bx_tests_readerwriter__test.cpp (nonexistent) +++ head/emulators/mame/files/patch-3rdparty_bx_tests_readerwriter__test.cpp (revision 507824) @@ -0,0 +1,34 @@ +--- 3rdparty/bx/tests/readerwriter_test.cpp.orig 2019-07-24 09:54:15 UTC ++++ 3rdparty/bx/tests/readerwriter_test.cpp +@@ -0,0 +1,31 @@ ++/* ++ * Copyright 2010-2019 Branimir Karadzic. All rights reserved. ++ * License: https://github.com/bkaradzic/bx#license-bsd-2-clause ++ */ ++ ++#include "test.h" ++#include ++ ++TEST_CASE("writeLE", "") ++{ ++ bx::SizerWriter writer; ++ ++ bx::Error err; ++ ++ int32_t total = bx::writeLE(&writer, 1.0f, &err); ++ ++ REQUIRE(err.isOk() ); ++ REQUIRE(total == 4); ++} ++ ++TEST_CASE("writeBE", "") ++{ ++ bx::SizerWriter writer; ++ ++ bx::Error err; ++ ++ int32_t total = bx::writeBE(&writer, 1.0f, &err); ++ ++ REQUIRE(err.isOk() ); ++ REQUIRE(total == 4); ++} Property changes on: head/emulators/mame/files/patch-3rdparty_bx_tests_readerwriter__test.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +files/patch-3rdparty_asio_include_asio_detail_config.hpp \ No newline at end of property