1 # TODO: is qt optional? (either as bcond, or qt-less version)
2 %define fver %(echo %{version} | tr -d .)
3 Summary: MAME - Multiple Arcade Machine Emulator
4 Summary(pl.UTF-8): MAME (Multiple Arcade Machine Emulator) - emulator wielu automatów do gier
8 License: GPL v2+ (BSD for core part, LGPL v2.1+/GPL v2+ for some drivers)
9 Group: X11/Applications/Games
10 #Source0Download: http://www.mamedev.org/release.html
11 Source0: http://www.mamedev.org/downloader.php?file=mame0167/%{name}%{fver}.zip
12 # Source0-md5: cb2ab1cac87e6a5187d5c631d58ee3fa
13 Patch0: %{name}-system-jsoncpp.patch
14 Patch1: %{name}-c++11.patch
15 URL: http://www.mamedev.org/
16 BuildRequires: OpenGL-GLU-devel
17 BuildRequires: SDL2-devel >= 2
18 BuildRequires: SDL2_ttf-devel >= 2
19 BuildRequires: expat-devel >= 1.95
20 BuildRequires: flac-devel
21 BuildRequires: libjpeg-devel
22 BuildRequires: lua53-devel >= 5.3
23 BuildRequires: pkgconfig
24 BuildRequires: portaudio-devel
25 BuildRequires: portmidi-devel
26 BuildRequires: sed >= 4.0
27 BuildRequires: sqlite3-devel >= 3
29 BuildRequires: xorg-lib-libX11-devel
30 BuildRequires: xorg-lib-libXinerama-devel
31 BuildRequires: zlib-devel
37 Obsoletes: xmame-qtmame
38 Obsoletes: xmame-svgalib
40 Obsoletes: xmame-xmess-SDL
41 Obsoletes: xmame-xmess-svgalib
42 Obsoletes: xmame-xmess-x11
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 MAME stands for Multiple Arcade Machine Emulator.
48 MAME's purpose is to preserve decades of video-game history. As gaming
49 technology continues to rush forward, MAME prevents these important
50 "vintage" games from being lost and forgotten. This is achieved by
51 documenting the hardware and how it functions. The source code to MAME
52 serves as this documentation. The fact that the games are playable
53 serves primarily to validate the accuracy of the documentation (how
54 else can you prove that you have recreated the hardware faithfully?).
56 %description -l pl.UTF-8
57 MAME to skrót od Multiple Arcade Machine Emulator - emulatora wielu
60 Celem MAME jest zachowanie dziesięcioleci historii gier wideo.
61 Jakkolwiek techonologia gier cały czas szybko się posuwa, MAME chroni
62 te ważne, "starodawne" gry od zapomnienia. Można to osiągnąć poprzez
63 dokumentowanie sprzętu i sposobu jego funkcjonowania. Kod źródłowy
64 MAME służy jako ta dokumentacja. Fakt, że w gry da się grać, służy
65 głównie sprawdzeniu dokładności dokumentacji (bo jak inaczej można
66 udowodnić wierne odtworzenie sprzętu?).
70 %{__unzip} -q mame.zip
74 %{__sed} -i -e 's/"lua"/"lua5.3"/' scripts/src/main.lua
78 %ifarch arm ppc ppc64 s390 s390x sparc sparcv9 sparc64
81 %ifarch %{x8664} alpha ia64 ppc64 s390x sparc64
87 OPT_FLAGS="%{rpmcflags} $(pkg-config --cflags lua5.3)" \
88 LDFLAGS="%{rpmldflags}" \
91 USE_SYSTEM_LIB_EXPAT=1 \
92 USE_SYSTEM_LIB_FLAC=1 \
93 USE_SYSTEM_LIB_JPEG=1 \
94 USE_SYSTEM_LIB_LUA=1 \
95 USE_SYSTEM_LIB_PORTAUDIO=1 \
96 USE_SYSTEM_LIB_PORTMIDI=1 \
97 USE_SYSTEM_LIB_SQLITE3=1 \
98 USE_SYSTEM_LIB_ZLIB=1 \
102 rm -rf $RPM_BUILD_ROOT
103 install -d $RPM_BUILD_ROOT%{_bindir}
106 install mame64 $RPM_BUILD_ROOT%{_bindir}/mame
108 install mame $RPM_BUILD_ROOT%{_bindir}/mame
112 rm -rf $RPM_BUILD_ROOT
115 %defattr(644,root,root,755)
116 %doc README.md docs/{SDL,config,floppy,hlsl,imgtool,m6502,mamelicense,newvideo,nscsi}.txt docs/luaengine.md
117 %attr(755,root,root) %{_bindir}/mame