Mon Aug 28 07:42:38 2023 UTC ()
mame: Unlimit all the things, this is one of the hugest binaries in pkgsrc.


(nia)
diff -r1.177 -r1.178 pkgsrc/emulators/mame/Makefile

cvs diff -r1.177 -r1.178 pkgsrc/emulators/mame/Makefile (switch to unified diff)

--- pkgsrc/emulators/mame/Makefile 2023/08/14 05:24:21 1.177
+++ pkgsrc/emulators/mame/Makefile 2023/08/28 07:42:37 1.178
@@ -1,129 +1,129 @@ @@ -1,129 +1,129 @@
1# $NetBSD: Makefile,v 1.177 2023/08/14 05:24:21 wiz Exp $ 1# $NetBSD: Makefile,v 1.178 2023/08/28 07:42:37 nia Exp $
2 2
3DISTNAME= mame-0.257 3DISTNAME= mame-0.257
4PKGREVISION= 1 4PKGREVISION= 1
5CATEGORIES= emulators 5CATEGORIES= emulators
6MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/} 6MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/}
7GITHUB_TAG= ${DISTNAME:S/-//S/.//} 7GITHUB_TAG= ${DISTNAME:S/-//S/.//}
8 8
9MAINTAINER= wiz@NetBSD.org 9MAINTAINER= wiz@NetBSD.org
10HOMEPAGE= https://www.mamedev.org/ 10HOMEPAGE= https://www.mamedev.org/
11COMMENT= Multiple Arcade Machine Emulator 11COMMENT= Multiple Arcade Machine Emulator
12LICENSE= modified-bsd AND gnu-gpl-v2 12LICENSE= modified-bsd AND gnu-gpl-v2
13 13
14DOCDIR= share/doc/mame 14DOCDIR= share/doc/mame
15SHAREDIR= share/mame 15SHAREDIR= share/mame
16INSTALLATION_DIRS= bin ${DOCDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man6 16INSTALLATION_DIRS= bin ${DOCDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man6
17INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/border_blur 17INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/border_blur
18INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/chains/crt-geom ${SHAREDIR}/hash 18INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/chains/crt-geom ${SHAREDIR}/hash
19 19
20DEPENDS+= liberation-ttf-[0-9]*:../../fonts/liberation-ttf 20DEPENDS+= liberation-ttf-[0-9]*:../../fonts/liberation-ttf
21TOOL_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat 21TOOL_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
22 22
23USE_LANGUAGES= c99 c++ 23USE_LANGUAGES= c99 c++
24USE_CXX_FEATURES+= c++17 24USE_CXX_FEATURES+= c++17
25USE_TOOLS+= gmake pkg-config 25USE_TOOLS+= gmake pkg-config
26UNLIMIT_RESOURCES+= datasize virtualsize 26UNLIMIT_RESOURCES+= cputime datasize memorysize virtualsize
27MAKE_FILE= makefile 27MAKE_FILE= makefile
28 28
29# Need to use gnu++ instead of c++ to get __builtin_alloca() (!) 29# Need to use gnu++ instead of c++ to get __builtin_alloca() (!)
30FORCE_CXX_STD= gnu++17 30FORCE_CXX_STD= gnu++17
31 31
32.include "../../mk/bsd.prefs.mk" 32.include "../../mk/bsd.prefs.mk"
33 33
34MAKE_FLAGS+= PRECOMPILE=0 34MAKE_FLAGS+= PRECOMPILE=0
35# TODO: set differently when debugging? 35# TODO: set differently when debugging?
36MAKE_FLAGS+= OPTIMIZE=2 36MAKE_FLAGS+= OPTIMIZE=2
37MAKE_FLAGS+= NO_USE_PORTAUDIO=1 37MAKE_FLAGS+= NO_USE_PORTAUDIO=1
38MAKE_FLAGS+= NO_USE_PULSEAUDIO=1 38MAKE_FLAGS+= NO_USE_PULSEAUDIO=1
39 39
40.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64" 40.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64"
41# \todo Arch detection for aarch64 fails, investigate why 41# \todo Arch detection for aarch64 fails, investigate why
42MAKE_FLAGS+= NOASM=1 42MAKE_FLAGS+= NOASM=1
43MAKE_FLAGS+= FORCE_DRC_C_BACKEND=1 43MAKE_FLAGS+= FORCE_DRC_C_BACKEND=1
44BUILDLINK_TRANSFORM+= rm:-m32 44BUILDLINK_TRANSFORM+= rm:-m32
45BUILDLINK_TRANSFORM+= rm:-m64 45BUILDLINK_TRANSFORM+= rm:-m64
46.endif 46.endif
47 47
48# -Werror is problematic 48# -Werror is problematic
49MAKE_ENV+= NOWERROR=1 49MAKE_ENV+= NOWERROR=1
50# on Darwin, avoid SDL2.framework 50# on Darwin, avoid SDL2.framework
51MAKE_ENV+= USE_LIBSDL=1 51MAKE_ENV+= USE_LIBSDL=1
52 52
53# for c++ to get LLONG_MAX for luaconf.h 53# for c++ to get LLONG_MAX for luaconf.h
54CPPFLAGS.NetBSD+= -D_NETBSD_SOURCE 54CPPFLAGS.NetBSD+= -D_NETBSD_SOURCE
55 55
56# use pkgsrc libraries 56# use pkgsrc libraries
57# boost-header's asio.hpp is not compatible as of mame-0.251/boost 1.81.0 57# boost-header's asio.hpp is not compatible as of mame-0.251/boost 1.81.0
58#MAKE_ENV+= USE_SYSTEM_LIB_ASIO=1 58#MAKE_ENV+= USE_SYSTEM_LIB_ASIO=1
59MAKE_ENV+= USE_SYSTEM_LIB_EXPAT=1 59MAKE_ENV+= USE_SYSTEM_LIB_EXPAT=1
60MAKE_ENV+= USE_SYSTEM_LIB_ZLIB=1 60MAKE_ENV+= USE_SYSTEM_LIB_ZLIB=1
61MAKE_ENV+= USE_SYSTEM_LIB_JPEG=1 61MAKE_ENV+= USE_SYSTEM_LIB_JPEG=1
62MAKE_ENV+= USE_SYSTEM_LIB_FLAC=1 62MAKE_ENV+= USE_SYSTEM_LIB_FLAC=1
63# use audio from SDL 63# use audio from SDL
64#MAKE_ENV+= USE_SYSTEM_LIB_PORTAUDIO=1 64#MAKE_ENV+= USE_SYSTEM_LIB_PORTAUDIO=1
65# no portmidi package exists yet 65# no portmidi package exists yet
66#MAKE_ENV+= USE_SYSTEM_LIB_PORTMIDI=1 66#MAKE_ENV+= USE_SYSTEM_LIB_PORTMIDI=1
67MAKE_ENV+= USE_SYSTEM_LIB_SQLITE3=1 67MAKE_ENV+= USE_SYSTEM_LIB_SQLITE3=1
68MAKE_ENV+= USE_SYSTEM_LIB_UTF8PROC=1 68MAKE_ENV+= USE_SYSTEM_LIB_UTF8PROC=1
69MAKE_ENV+= USE_SYSTEM_LIB_GLM=1 69MAKE_ENV+= USE_SYSTEM_LIB_GLM=1
70MAKE_ENV+= USE_SYSTEM_LIB_RAPIDJSON=1 70MAKE_ENV+= USE_SYSTEM_LIB_RAPIDJSON=1
71MAKE_ENV+= USE_SYSTEM_LIB_PUGIXML=1 71MAKE_ENV+= USE_SYSTEM_LIB_PUGIXML=1
72# find proper python binary 72# find proper python binary
73MAKE_ENV+= PYTHON_EXECUTABLE=${PYTHONBIN} 73MAKE_ENV+= PYTHON_EXECUTABLE=${PYTHONBIN}
74# don't depend on qt5 74# don't depend on qt5
75MAKE_ENV+= USE_QTDEBUG=0 75MAKE_ENV+= USE_QTDEBUG=0
76# avoid midi for now 76# avoid midi for now
77#MAKE_ENV+= NO_USE_MIDI=1 77#MAKE_ENV+= NO_USE_MIDI=1
78# build tools 78# build tools
79MAKE_ENV+= TOOLS=1 79MAKE_ENV+= TOOLS=1
80 80
81.include "../../mk/endian.mk" 81.include "../../mk/endian.mk"
82.if ${MACHINE_ENDIAN} == "big" 82.if ${MACHINE_ENDIAN} == "big"
83MAKE_ENV+= BIGENDIAN=1 83MAKE_ENV+= BIGENDIAN=1
84.endif 84.endif
85 85
86PYTHON_FOR_BUILD_ONLY= yes 86PYTHON_FOR_BUILD_ONLY= yes
87 87
88post-extract: 88post-extract:
89 # will be chosen in preference to /usr/include/signal.h, but does not provide kill() 89 # will be chosen in preference to /usr/include/signal.h, but does not provide kill()
90 ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h 90 ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
91 # will be chosen in preference to /usr/include/dirent.h, but does not provide opendir() et al. 91 # will be chosen in preference to /usr/include/dirent.h, but does not provide opendir() et al.
92 ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h 92 ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
93 ${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd 93 ${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd
94 94
95pre-build: 95pre-build:
96 # problems with mame-specific png.h 96 # problems with mame-specific png.h
97 ${RM} -f ${WRKDIR}/.buildlink/include/png* 97 ${RM} -f ${WRKDIR}/.buildlink/include/png*
98 98
99do-install: 99do-install:
100 ${INSTALL_PROGRAM} ${WRKSRC}/mame ${DESTDIR}${PREFIX}/bin/mame 100 ${INSTALL_PROGRAM} ${WRKSRC}/mame ${DESTDIR}${PREFIX}/bin/mame
101 set -e; \ 101 set -e; \
102 for prg in castool chdman floptool imgtool jedutil ldresample ldverify \ 102 for prg in castool chdman floptool imgtool jedutil ldresample ldverify \
103 nltool nlwav pngcmp regrep romcmp split srcclean unidasm; do \ 103 nltool nlwav pngcmp regrep romcmp split srcclean unidasm; do \
104 ${INSTALL_PROGRAM} ${WRKSRC}/"$$prg" ${DESTDIR}${PREFIX}/bin; \ 104 ${INSTALL_PROGRAM} ${WRKSRC}/"$$prg" ${DESTDIR}${PREFIX}/bin; \
105 done 105 done
106 ${INSTALL_DATA} ${WRKSRC}/docs/man/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 106 ${INSTALL_DATA} ${WRKSRC}/docs/man/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
107 ${INSTALL_DATA} ${WRKSRC}/docs/man/*.6 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6 107 ${INSTALL_DATA} ${WRKSRC}/docs/man/*.6 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6
108 ${INSTALL_DATA} ${WRKSRC}/artwork/LICENSE ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork 108 ${INSTALL_DATA} ${WRKSRC}/artwork/LICENSE ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork
109 ${INSTALL_DATA} ${WRKSRC}/artwork/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork 109 ${INSTALL_DATA} ${WRKSRC}/artwork/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork
110 ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/border_blur/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/border_blur 110 ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/border_blur/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/border_blur
111 ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains 111 ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains
112 ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/crt-geom/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains/crt-geom/ 112 ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/crt-geom/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains/crt-geom/
113 ${INSTALL_DATA} ${WRKSRC}/docs/*.md ${DESTDIR}${PREFIX}/${DOCDIR} 113 ${INSTALL_DATA} ${WRKSRC}/docs/*.md ${DESTDIR}${PREFIX}/${DOCDIR}
114 ${INSTALL_DATA} ${WRKSRC}/hash/* ${DESTDIR}${PREFIX}/${SHAREDIR}/hash 114 ${INSTALL_DATA} ${WRKSRC}/hash/* ${DESTDIR}${PREFIX}/${SHAREDIR}/hash
115 115
116.include "../../audio/flac/buildlink3.mk" 116.include "../../audio/flac/buildlink3.mk"
117.include "../../converters/utf8proc/buildlink3.mk" 117.include "../../converters/utf8proc/buildlink3.mk"
118.include "../../devel/SDL2/buildlink3.mk" 118.include "../../devel/SDL2/buildlink3.mk"
119.include "../../devel/zlib/buildlink3.mk" 119.include "../../devel/zlib/buildlink3.mk"
120.include "../../databases/sqlite3/buildlink3.mk" 120.include "../../databases/sqlite3/buildlink3.mk"
121.include "../../graphics/glm/buildlink3.mk" 121.include "../../graphics/glm/buildlink3.mk"
122.include "../../fonts/SDL2_ttf/buildlink3.mk" 122.include "../../fonts/SDL2_ttf/buildlink3.mk"
123.include "../../fonts/fontconfig/buildlink3.mk" 123.include "../../fonts/fontconfig/buildlink3.mk"
124.include "../../lang/python/pyversion.mk" 124.include "../../lang/python/pyversion.mk"
125.include "../../textproc/expat/buildlink3.mk" 125.include "../../textproc/expat/buildlink3.mk"
126.include "../../textproc/pugixml/buildlink3.mk" 126.include "../../textproc/pugixml/buildlink3.mk"
127.include "../../textproc/rapidjson/buildlink3.mk" 127.include "../../textproc/rapidjson/buildlink3.mk"
128.include "../../mk/jpeg.buildlink3.mk" 128.include "../../mk/jpeg.buildlink3.mk"
129.include "../../mk/bsd.pkg.mk" 129.include "../../mk/bsd.pkg.mk"