1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
---|
2 | |
---|
3 | PortSystem 1.0 |
---|
4 | PortGroup compiler_blacklist_versions 1.0 |
---|
5 | PortGroup github 1.0 |
---|
6 | |
---|
7 | github.setup mamedev mame 0206 mame |
---|
8 | revision 0 |
---|
9 | checksums rmd160 d8d5a4bbd94a8f1bb980b0ff9e2b62ea9f29e58b \ |
---|
10 | sha256 8e4c04c724964ca0c22f65181a84261b01ca49f51f4266c084b2d6b5a81e1e8d \ |
---|
11 | size 145788806 |
---|
12 | |
---|
13 | version [string index ${github.version} 0].[string range ${github.version} 1 end] |
---|
14 | categories emulators |
---|
15 | maintainers nomaintainer |
---|
16 | platforms darwin |
---|
17 | license GPL-2+ |
---|
18 | homepage https://www.mamedev.org |
---|
19 | |
---|
20 | description Multiple Arcade Machine Emulator |
---|
21 | long_description The purpose of MAME is to preserve decades of software history. As \ |
---|
22 | electronic technology continues to rush forward, MAME prevents this important \ |
---|
23 | "vintage" software from being lost and forgotten. This is achieved by documenting \ |
---|
24 | the hardware and how it functions. The source code to MAME serves as this \ |
---|
25 | documentation. |
---|
26 | |
---|
27 | depends_build-append \ |
---|
28 | port:asio \ |
---|
29 | port:pkgconfig |
---|
30 | |
---|
31 | depends_lib-append \ |
---|
32 | port:expat \ |
---|
33 | port:flac \ |
---|
34 | port:jpeg \ |
---|
35 | port:libiconv \ |
---|
36 | port:libsdl2 \ |
---|
37 | port:libutf8proc \ |
---|
38 | port:lua \ |
---|
39 | port:portaudio \ |
---|
40 | port:portmidi \ |
---|
41 | port:pugixml \ |
---|
42 | port:sqlite3 \ |
---|
43 | port:zlib |
---|
44 | |
---|
45 | use_configure no |
---|
46 | |
---|
47 | # https://github.com/mamedev/mame/issues/3788 |
---|
48 | if {${os.platform} eq "darwin" && ([vercmp $xcodeversion 9.0] < 0)} { |
---|
49 | configure.cxxflags-append -DMAME_DEVCB_GNUC_BROKEN_FRIEND |
---|
50 | } |
---|
51 | |
---|
52 | compiler.cxx_standard 2014 |
---|
53 | |
---|
54 | # Remove this once base's compiler selection for C++14 is fixed: |
---|
55 | # https://github.com/macports/macports-base/pull/162 |
---|
56 | compiler.blacklist {clang < 602} |
---|
57 | |
---|
58 | build.args-append ARCHOPTS="${configure.cxxflags}" \ |
---|
59 | CC="${configure.cc}" \ |
---|
60 | CXX="${configure.cxx}" \ |
---|
61 | LDOPTS="-L${prefix}/lib -lSDL2" \ |
---|
62 | NOWERROR=1 \ |
---|
63 | USE_LIBSDL=1 \ |
---|
64 | USE_SYSTEM_LIB_ASIO=1 \ |
---|
65 | USE_SYSTEM_LIB_EXPAT=1 \ |
---|
66 | USE_SYSTEM_LIB_FLAC=1 \ |
---|
67 | USE_SYSTEM_LIB_JPEG=1 \ |
---|
68 | USE_SYSTEM_LIB_LUA=1 \ |
---|
69 | USE_SYSTEM_LIB_PORTAUDIO=1 \ |
---|
70 | USE_SYSTEM_LIB_PORTMIDI=1 \ |
---|
71 | USE_SYSTEM_LIB_PUGIXML=1 \ |
---|
72 | USE_SYSTEM_LIB_SQLITE3=1 \ |
---|
73 | USE_SYSTEM_LIB_UTF8PROC=1 \ |
---|
74 | USE_SYSTEM_LIB_ZLIB=1 \ |
---|
75 | VERBOSE=1 |
---|
76 | |
---|
77 | if {$build_arch in {x86_64 ppc64}} { |
---|
78 | build.args-append PTR64=1 |
---|
79 | set executable mame64 |
---|
80 | } else { |
---|
81 | build.args-append PTR64=0 |
---|
82 | set executable mame |
---|
83 | } |
---|
84 | |
---|
85 | variant tools description {compile and install the mame tools like chdman and others} { |
---|
86 | build.args-append TOOLS=1 |
---|
87 | } |
---|
88 | |
---|
89 | destroot { |
---|
90 | xinstall ${worksrcpath}/${executable} ${destroot}${prefix}/bin |
---|
91 | xinstall ${worksrcpath}/docs/man/mame.6 ${destroot}${prefix}/share/man/man6 |
---|
92 | |
---|
93 | if {[variant_isset tools]} { |
---|
94 | xinstall ${worksrcpath}/castool \ |
---|
95 | ${worksrcpath}/chdman \ |
---|
96 | ${worksrcpath}/floptool \ |
---|
97 | ${worksrcpath}/imgtool \ |
---|
98 | ${worksrcpath}/jedutil \ |
---|
99 | ${worksrcpath}/ldresample \ |
---|
100 | ${worksrcpath}/ldverify \ |
---|
101 | ${worksrcpath}/romcmp ${destroot}${prefix}/bin |
---|
102 | |
---|
103 | xinstall ${worksrcpath}/docs/man/castool.1 \ |
---|
104 | ${worksrcpath}/docs/man/chdman.1 \ |
---|
105 | ${worksrcpath}/docs/man/floptool.1 \ |
---|
106 | ${worksrcpath}/docs/man/imgtool.1 \ |
---|
107 | ${worksrcpath}/docs/man/jedutil.1 \ |
---|
108 | ${worksrcpath}/docs/man/ldresample.1 \ |
---|
109 | ${worksrcpath}/docs/man/ldverify.1 \ |
---|
110 | ${worksrcpath}/docs/man/romcmp.1 ${destroot}${prefix}/share/man/man1 |
---|
111 | } |
---|
112 | } |
---|
113 | |
---|
114 | # Universal variant is untested |
---|
115 | universal_variant no |
---|