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 # linker memory exhausted on 32-bit x86
47 %define _enable_debug_packages 0
51 MAME stands for Multiple Arcade Machine Emulator.
53 MAME's purpose is to preserve decades of video-game history. As gaming
54 technology continues to rush forward, MAME prevents these important
55 "vintage" games from being lost and forgotten. This is achieved by
56 documenting the hardware and how it functions. The source code to MAME
57 serves as this documentation. The fact that the games are playable
58 serves primarily to validate the accuracy of the documentation (how
59 else can you prove that you have recreated the hardware faithfully?).
61 %description -l pl.UTF-8
62 MAME to skrót od Multiple Arcade Machine Emulator - emulatora wielu
65 Celem MAME jest zachowanie dziesięcioleci historii gier wideo.
66 Jakkolwiek techonologia gier cały czas szybko się posuwa, MAME chroni
67 te ważne, "starodawne" gry od zapomnienia. Można to osiągnąć poprzez
68 dokumentowanie sprzętu i sposobu jego funkcjonowania. Kod źródłowy
69 MAME służy jako ta dokumentacja. Fakt, że w gry da się grać, służy
70 głównie sprawdzeniu dokładności dokumentacji (bo jak inaczej można
71 udowodnić wierne odtworzenie sprzętu?).
75 %{__unzip} -q mame.zip
79 %{__sed} -i -e 's/"lua"/"lua5.3"/' scripts/src/main.lua
83 %ifarch arm ppc ppc64 s390 s390x sparc sparcv9 sparc64
86 %ifarch %{x8664} alpha ia64 ppc64 s390x sparc64
96 OPT_FLAGS="%{rpmcflags} $(pkg-config --cflags lua5.3)" \
97 LDFLAGS="%{rpmldflags}" \
100 USE_SYSTEM_LIB_EXPAT=1 \
101 USE_SYSTEM_LIB_FLAC=1 \
102 USE_SYSTEM_LIB_JPEG=1 \
103 USE_SYSTEM_LIB_LUA=1 \
104 USE_SYSTEM_LIB_PORTAUDIO=1 \
105 USE_SYSTEM_LIB_PORTMIDI=1 \
106 USE_SYSTEM_LIB_SQLITE3=1 \
107 USE_SYSTEM_LIB_ZLIB=1 \
111 rm -rf $RPM_BUILD_ROOT
112 install -d $RPM_BUILD_ROOT%{_bindir}
114 %ifarch %{x8664} ppc64
115 install mame64 $RPM_BUILD_ROOT%{_bindir}/mame
117 install mame $RPM_BUILD_ROOT%{_bindir}/mame
121 rm -rf $RPM_BUILD_ROOT
124 %defattr(644,root,root,755)
125 %doc README.md docs/{SDL,config,floppy,hlsl,imgtool,m6502,mamelicense,newvideo,nscsi}.txt docs/luaengine.md
126 %attr(755,root,root) %{_bindir}/mame