The package rpms/mame.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/mame.git/commit/?id=cf4470e4975e7....
Change:
-%ifarch %{arm}
Thanks.
Full change:
============
commit cf4470e4975e7bcb9da6b42a2b43100e897c8745
Author: Julian Sikorski <belegdol(a)fedoraproject.org>
Date: Wed Feb 23 18:38:52 2022 +0100
Update to 0.241 and overhaul the spec file
- Update to 0.241
- Drop obsolete patches
- Switch to tar.gz source in order to avoid having to convert line
endings after unpacking
- Drop p7zip BuildRequires
- Drop obsolete disttag conditionals
- Drop obsolete ldplayer Provides/Obsoletes
- Overhaul the %%build section
- Drop workarounds for excluded architectures as they do not work anyway
- Add %%check section
diff --git a/.gitignore b/.gitignore
index 59b4efc..c697d24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,3 +130,5 @@
/whatsnew_0239.txt
/mame0240s.exe
/whatsnew_0240.txt
+/mame-mame0241.tar.gz
+/whatsnew_0241.txt
diff --git a/f3140dfbab1679c73a514ff29e15e5d699fdfbb2.patch
b/f3140dfbab1679c73a514ff29e15e5d699fdfbb2.patch
deleted file mode 100644
index 2d4cd30..0000000
--- a/f3140dfbab1679c73a514ff29e15e5d699fdfbb2.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From f3140dfbab1679c73a514ff29e15e5d699fdfbb2 Mon Sep 17 00:00:00 2001
-From: Julian Sikorski <belegdol+github(a)gmail.com>
-Date: Mon, 24 Jan 2022 21:49:18 +0100
-Subject: [PATCH] Fix building with gcc-12 (#9204)
-
----
- src/lib/netlist/plib/pstream.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/lib/netlist/plib/pstream.h b/src/lib/netlist/plib/pstream.h
-index 3cd2eb512e05..19ef530dee38 100644
---- a/src/lib/netlist/plib/pstream.h
-+++ b/src/lib/netlist/plib/pstream.h
-@@ -19,6 +19,7 @@
- #include <fstream>
- #include <ios>
- #include <iostream>
-+#include <memory>
- #include <sstream>
- #include <type_traits>
- #include <vector>
diff --git a/mame-genie-systemlua.patch b/mame-genie-systemlua.patch
deleted file mode 100644
index cd95e80..0000000
--- a/mame-genie-systemlua.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -up mame-0.215/3rdparty/genie/build/gmake.linux/genie.make.systemlua
mame-0.215/3rdparty/genie/build/gmake.linux/genie.make
---- mame-0.215/3rdparty/genie/build/gmake.linux/genie.make.systemlua 2019-10-30
18:38:08.390000188 +0100
-+++ mame-0.215/3rdparty/genie/build/gmake.linux/genie.make 2019-10-30 18:44:01.284852520
+0100
-@@ -59,45 +59,12 @@ ifeq ($(config),release)
- LIBDEPS +=
- LDDEPS +=
- LDRESP =
-- LIBS += $(LDDEPS) -ldl -lm
-+ LIBS += $(LDDEPS) -ldl -lm -llua
- EXTERNAL_LIBS +=
- LINKOBJS = $(OBJECTS)
- LINKCMD = $(CC) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH)
$(ALL_LDFLAGS) $(LIBS)
- OBJRESP =
- OBJECTS := \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lapi.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lbaselib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lbitlib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lcode.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lcorolib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lctype.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/ldblib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/ldebug.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/ldo.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/ldump.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lfunc.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lgc.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/linit.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/liolib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/llex.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lmathlib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lmem.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/loadlib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lobject.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lopcodes.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/loslib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lparser.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lstate.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lstring.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lstrlib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/ltable.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/ltablib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/ltm.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lundump.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lutf8lib.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lvm.o \
-- $(OBJDIR)/src/host/lua-5.3.0/src/lzio.o \
- $(OBJDIR)/src/host/os_chdir.o \
- $(OBJDIR)/src/host/os_copyfile.o \
- $(OBJDIR)/src/host/os_getcwd.o \
diff --git a/mame.spec b/mame.spec
index 4cb119a..f2d16c9 100644
--- a/mame.spec
+++ b/mame.spec
@@ -1,7 +1,7 @@
#The debug build is disabled by default, please use # --with debug to override
%bcond_with debug
-%global baseversion 240
+%global baseversion 241
Name: mame
Version: 0.%{baseversion}
@@ -16,11 +16,9 @@ Summary: Multiple Arcade Machine Emulator
License: GPLv2+
URL:
http://mamedev.org/
-Source0:
https://github.com/mamedev/%{name}/releases/download/%{name}0%{baseversio...
-Source1:
http://mamedev.org/releases/whatsnew_0%{baseversion}.txt
+Source0:
https://github.com/mamedev/%{name}/archive/%{name}0%{baseversion}/%{name}...
+Source1:
https://mamedev.org/releases/whatsnew_0%{baseversion}.txt
Patch0: %{name}-fortify.patch
-Patch1: %{name}-genie-systemlua.patch
-Patch2: f3140dfbab1679c73a514ff29e15e5d699fdfbb2.patch
# %%{arm}:
#
https://bugzilla.redhat.com/show_bug.cgi?id=1627625
@@ -46,7 +44,6 @@ BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: lua-devel >= 5.3.0
BuildRequires: make
-BuildRequires: p7zip
BuildRequires: portaudio-devel
BuildRequires: portmidi-devel
BuildRequires: pugixml-devel
@@ -70,9 +67,8 @@ Provides: bundled(bx)
Provides: bundled(linenoise)
#Below have no fedora packages ATM and are very tiny
Provides: bundled(lsqlite3)
-%if 0%{?fedora} >= 33
+#mame does not build with lua-5.4
Provides: bundled(lua) = 5.3.4
-%endif
Provides: bundled(luafilesystem)
Provides: bundled(lua-linenoise)
Provides: bundled(lua-zlib)
@@ -82,9 +78,6 @@ Provides: bundled(lzma-sdk) = 16.04
Provides: bundled(minimp3)
#softfloat is not made to be linked dynamically
Provides: bundled(softfloat)
-#ldplayer has been turned into a regular mame driver in 0.180 cycle
-Provides: %{name}-ldplayer = %{version}-%{release}
-Obsoletes: %{name}-ldplayer < 0.179-4
%description
@@ -140,48 +133,31 @@ HTML documentation for MAME.
%prep
-%setup -qcT
-
-#do not extract system libs or document themes to ensure system ones are used
-#do not extract 3rdparty code not needed on Linux
-7za x \
- -xr!3rdparty/asio \
- -xr!3rdparty/compat \
- -xr!3rdparty/dxsdk \
- -xr!3rdparty/expat \
-%if 0%{?fedora} < 33
- -xr!3rdparty/genie/src/host/lua-5.3.0 \
-%endif
- -xr!3rdparty/glm \
- -xr!3rdparty/libflac \
- -xr!3rdparty/libjpeg \
-%if 0%{?fedora} < 33
- -xr!3rdparty/lua \
-%endif
- -xr!3rdparty/portaudio \
- -xr!3rdparty/portmidi \
- -xr!3rdparty/pugixml \
- -xr!3rdparty/rapidjson \
- -xr!3rdparty/SDL2 \
- -xr!3rdparty/SDL2-override \
- -xr!3rdparty/sqlite3 \
- -xr!3rdparty/tap-windows6 \
- -xr!3rdparty/utf8proc \
- -xr!3rdparty/zlib \
- -xr!docs/themes \
- %{SOURCE0}
+%autosetup -n %{name}-%{name}0%{baseversion} -p1
+
+#remove system libs or document themes to ensure system ones are used
+#remove 3rdparty code not needed on Linux
+rm -rf 3rdparty/asio \
+ 3rdparty/compat \
+ 3rdparty/dxsdk \
+ 3rdparty/expat \
+ 3rdparty/glm \
+ 3rdparty/libflac \
+ 3rdparty/libjpeg \
+ 3rdparty/portaudio \
+ 3rdparty/portmidi \
+ 3rdparty/pugixml \
+ 3rdparty/rapidjson \
+ 3rdparty/SDL2 \
+ 3rdparty/SDL2-override \
+ 3rdparty/sqlite3 \
+ 3rdparty/tap-windows6 \
+ 3rdparty/utf8proc \
+ 3rdparty/zlib \
+ docs/themes
install -pm 644 %{SOURCE1} whatsnew_0%{baseversion}.txt
-find \( -regex
'.*\.\(c\|cpp\|fsh\|fx\|h\|hpp\|ipp\|lua\|make\|map\|md\|txt\|vsh\|xml\)$' \
- -o -wholename ./makefile \) -exec sed -i 's@\r$@@' {} \;
-
-%patch0 -p1 -b .fortify
-%if 0%{?fedora} < 33
-%patch1 -p1 -b .systemlua
-%endif
-%patch2 -p1
-
# Create ini files
cat > %{name}.ini << EOF
# Define multi-user paths
@@ -219,31 +195,6 @@ sed -i "s@-Wall -Wextra -Os \$(MPARAM)@$RPM_OPT_FLAGS@"
3rdparty/genie/build/gma
sed -i "s@-s -rdynamic@$RPM_LD_FLAGS -rdynamic@"
3rdparty/genie/build/gmake.linux/genie.make
%build
-#save some space
-#precompiled headers cause issues on ppc64le
-MAME_FLAGS="NOWERROR=1 OPTIMIZE=2 PYTHON_EXECUTABLE=python3 VERBOSE=1 \
-%if 0%{?fedora} >= 36
-%ifarch %{power64}
- PRECOMPILE=0 \
-%endif
-%endif
- USE_SYSTEM_LIB_ASIO=1 \
- USE_SYSTEM_LIB_EXPAT=1 \
- USE_SYSTEM_LIB_FLAC=1 \
- USE_SYSTEM_LIB_GLM=1 \
- USE_SYSTEM_LIB_JPEG=1 \
-%if 0%{?fedora} < 33
- USE_SYSTEM_LIB_LUA=1 \
-%endif
- USE_SYSTEM_LIB_PORTAUDIO=1 \
- USE_SYSTEM_LIB_PORTMIDI=1 \
- USE_SYSTEM_LIB_PUGIXML=1 \
- USE_SYSTEM_LIB_RAPIDJSON=1 \
- USE_SYSTEM_LIB_SQLITE3=1 \
- USE_SYSTEM_LIB_UTF8PROC=1 \
- USE_SYSTEM_LIB_ZLIB=1 \
- SDL_INI_PATH=%{_sysconfdir}/%{name};"
-
#standard -g caused problems with OOM or relocation overflows
RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed "s@-g@-g1@")
#disable -D_GLIBCXX_ASSERTIONS as it causes issues and friction with upstream
@@ -260,28 +211,36 @@ RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed "s@-g@-g1@")
#FPC guidelines exception request
#https://pagure.io/packaging-committee/issue/1075
RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed "s@ -Wp,-D_GLIBCXX_ASSERTIONS@@")
-#32-bit architectures need even more measures
-%ifarch %{ix86}
-RPM_LD_FLAGS="$RPM_LD_FLAGS -Wl,--no-keep-memory
-Wl,--reduce-memory-overheads"
-%endif
-%ifarch %{arm}
-RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed "s@-O2@-Os@")
-RPM_LD_FLAGS="$RPM_LD_FLAGS -Wl,--no-keep-memory -fuse-ld=gold"
-MAME_FLAGS=$(echo $MAME_FLAGS | sed "s@OPTIMIZE=2@OPTIMIZE=s@")
-%endif
#mame fails to build with LTO enabled
#according to upstream LTO would not help much anyway:
#https://github.com/mamedev/mame/issues/7046
%define _lto_cflags %{nil}
+%make_build \
%if %{with debug}
-%make_build $MAME_FLAGS DEBUG=1 TOOLS=1 OPT_FLAGS="$RPM_OPT_FLAGS" \
- LDOPTS="$RPM_LD_FLAGS"
-%else
-%make_build $MAME_FLAGS TOOLS=1 OPT_FLAGS="$RPM_OPT_FLAGS" \
- LDOPTS="$RPM_LD_FLAGS"
+ DEBUG=1 \
%endif
+ NOWERROR=1 \
+ OPTIMIZE=2 \
+ PYTHON_EXECUTABLE=python3 \
+ VERBOSE=1 \
+ USE_SYSTEM_LIB_ASIO=1 \
+ USE_SYSTEM_LIB_EXPAT=1 \
+ USE_SYSTEM_LIB_FLAC=1 \
+ USE_SYSTEM_LIB_GLM=1 \
+ USE_SYSTEM_LIB_JPEG=1 \
+ USE_SYSTEM_LIB_PORTAUDIO=1 \
+ USE_SYSTEM_LIB_PORTMIDI=1 \
+ USE_SYSTEM_LIB_PUGIXML=1 \
+ USE_SYSTEM_LIB_RAPIDJSON=1 \
+ USE_SYSTEM_LIB_SQLITE3=1 \
+ USE_SYSTEM_LIB_UTF8PROC=1 \
+ USE_SYSTEM_LIB_ZLIB=1 \
+ SDL_INI_PATH="%{_sysconfdir}/%{name};" \
+ TOOLS=1 \
+ OPT_FLAGS="$RPM_OPT_FLAGS" \
+ LDOPTS="$RPM_LD_FLAGS"
pushd docs
%make_build html
@@ -355,6 +314,10 @@ rm -rf docs/build/html/_sources
find $RPM_BUILD_ROOT%{_datadir}/%{name} -name LICENSE -exec rm {} \;
+%check
+./%{name} -validate
+
+
%files
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.ini
%dir %{_sysconfdir}/%{name}
diff --git a/sources b/sources
index accab9d..3180911 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (mame0240s.exe) =
707b3a7d1e371cdd82a3e1985a9d2d79f8555181dc73b6af2049427afbbf94366ed2f38ba799ddada4fa69bb367d0c510a336407acb0f258acb6313e4d00aae6
-SHA512 (whatsnew_0240.txt) =
fbe762d861be6af54b70c997f7e1e0d445d1bb54f958fc0315c87b8182d357705dd462b50d6f3dcad6e1136f3e150f0ee44daa0620fd5f256a7d2e6f642a7b13
+SHA512 (mame-mame0241.tar.gz) =
dff2f1a3651df30dd7d05fb63cf4518e8ce6d3a1703ef4e881c15256fcd1e74fbd9650afecbd3e97b3c483e887ff5e75254c0b0f6c4ec0719f17d19bc9b1c025
+SHA512 (whatsnew_0241.txt) =
923cd57f4c1a112ab734f0d2ef4a19faeaded9aca94b3ac74b641955ddd6dc49427975f258fcf6d41dd606843994783fffa49fc63f2eac8b4cceb585cf9720ca