Ticket #60986: Portfile

File Portfile, 4.1 KB (added by rhuelga (Roberto Huelga), 4 years ago)

Portfile mame with +tools variant

Line 
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
3PortSystem          1.0
4PortGroup           compiler_blacklist_versions 1.0
5PortGroup github    1.0
6
7github.setup        mamedev mame 0206 mame
8revision            0
9checksums           rmd160  d8d5a4bbd94a8f1bb980b0ff9e2b62ea9f29e58b \
10                    sha256  8e4c04c724964ca0c22f65181a84261b01ca49f51f4266c084b2d6b5a81e1e8d \
11                    size    145788806
12
13version             [string index ${github.version} 0].[string range ${github.version} 1 end]
14categories          emulators
15maintainers         nomaintainer
16platforms           darwin
17license             GPL-2+
18homepage            https://www.mamedev.org
19
20description         Multiple Arcade Machine Emulator
21long_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
27depends_build-append \
28                    port:asio \
29                    port:pkgconfig
30
31depends_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
45use_configure       no
46
47# https://github.com/mamedev/mame/issues/3788
48if {${os.platform} eq "darwin" && ([vercmp $xcodeversion 9.0] < 0)} {
49    configure.cxxflags-append -DMAME_DEVCB_GNUC_BROKEN_FRIEND
50}
51
52compiler.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
56compiler.blacklist {clang < 602}
57
58build.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
77if {$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
85variant tools description {compile and install the mame tools like chdman and others} {
86    build.args-append   TOOLS=1
87}
88
89destroot {
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
115universal_variant   no