mirror of
https://github.com/RetroDECK/org.mamedev.MAME.git
synced 2025-01-19 11:05:37 +00:00
Initial MAME package for 0.244 release
This commit is contained in:
parent
746ea89cc4
commit
b3f8b4a615
12
0.244-ptrdiff_t.patch
Normal file
12
0.244-ptrdiff_t.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/src/lib/netlist/plib/ppmf.h b/src/lib/netlist/plib/ppmf.h
|
||||
index b188ca0c..e037fc28 100644
|
||||
--- a/src/lib/netlist/plib/ppmf.h
|
||||
+++ b/src/lib/netlist/plib/ppmf.h
|
||||
@@ -82,6 +82,7 @@ namespace plib {
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstdint> // uintptr_t
|
||||
+#include <cstddef>
|
||||
#include <type_traits>
|
||||
#include <utility>
|
||||
|
39
README.md
Normal file
39
README.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
## Flatpak
|
||||
|
||||
This is a method for distributing MAME using the Flatpak format. The main reason for this is on locked down systems that only allow sandboxed user applications.
|
||||
|
||||
## Security
|
||||
|
||||
The use of Flatpak here is not intended to secure MAME or provide any isolation from the rest of your system. MAME requires access to many of your systems resources including, but not limited to, devices for controllers, X11 sessions, filesystems writable for configuration and readable for data files, networking, and audio. The Flatpak provided sandbox must be opened up in many areas for MAME to function properly.
|
||||
|
||||
## Building
|
||||
|
||||
`build_icons.sh` will download the logo from the [https://www.mamedev.org](https://www.mamedev.org) site and resize it to various sizes to use as an icon.
|
||||
|
||||
`build_local.sh` will invoke the `flatpak-builder` application to compile MAME and generate a Flatpak package.
|
||||
|
||||
`org.mamedev.MAME.yaml` is the main Flatpak manifest that includes build and install information.
|
||||
|
||||
### Manifest
|
||||
|
||||
An explanation for some of the options included in the `org.mamedev.MAME.yaml' manifest file.
|
||||
|
||||
`org.kde.Platform` is used for its Qt support, required to build the MAME debugger.
|
||||
|
||||
`--device=all` added to allow various input devices, controllers, etc.
|
||||
|
||||
`--persist=.mame` writable location used for cfg, diff, nvram, etc.
|
||||
|
||||
`--filesystem=host:ro` primarily to be used for external data, roms, samples, etc.
|
||||
|
||||
`post-install` section used to copy MAME built-in directories.
|
||||
|
||||
### Patches
|
||||
|
||||
Currently these are the patches applied:
|
||||
|
||||
`0.244-ptrdiff_t.patch` includes `<cstddef>` header to find `ptrdiff_t` type in the 0.244 release.
|
||||
|
||||
`use-system-lib-flac.patch` works around FORTIFY_SOURCE compiler option that causes errors in the included libflac.
|
||||
|
||||
`ldopts.patch` enables an option for the linker to strip debug symbols.
|
13
ldopts.patch
Normal file
13
ldopts.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/makefile b/makefile
|
||||
index c5cedbc0..727320e5 100644
|
||||
--- a/makefile
|
||||
+++ b/makefile
|
||||
@@ -60,7 +60,7 @@
|
||||
# ARCHOPTS_OBJC =
|
||||
# ARCHOPTS_OBJCXX =
|
||||
# OPT_FLAGS =
|
||||
-# LDOPTS =
|
||||
+LDOPTS = -Wl,-s
|
||||
|
||||
# USE_SYSTEM_LIB_ASIO = 1
|
||||
# USE_SYSTEM_LIB_EXPAT = 1
|
BIN
mame128x128.png
Normal file
BIN
mame128x128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.5 KiB |
BIN
mame256x256.png
Normal file
BIN
mame256x256.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
BIN
mame32x32.png
Normal file
BIN
mame32x32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
mame48x48.png
Normal file
BIN
mame48x48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2 KiB |
BIN
mame64x64.png
Normal file
BIN
mame64x64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3 KiB |
6
org.mamedev.MAME.desktop
Normal file
6
org.mamedev.MAME.desktop
Normal file
|
@ -0,0 +1,6 @@
|
|||
[Desktop Entry]
|
||||
Name=MAME
|
||||
Exec=mame
|
||||
Type=Application
|
||||
Icon=org.mamedev.MAME
|
||||
Categories=Game;ArcadeGame;Emulator
|
25
org.mamedev.MAME.metainfo.xml
Normal file
25
org.mamedev.MAME.metainfo.xml
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>org.mamedev.MAME</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>MAME</name>
|
||||
<summary>
|
||||
MAME is a multi-purpose emulation framework.
|
||||
</summary>
|
||||
<description>
|
||||
<p>MAME's purpose is to preserve decades of software history. As electronic technology continues to rush forward, MAME prevents this important "vintage" software from being lost and forgotten. This is achieved by documenting the hardware and how it functions. The source code to MAME serves as this documentation. The fact that the software is usable serves primarily to validate the accuracy of the documentation (how else can you prove that you have recreated the hardware faithfully?). Over time, MAME (originally stood for Multiple Arcade Machine Emulator) absorbed the sister-project MESS (Multi Emulator Super System), so MAME now documents a wide variety of (mostly vintage) computers, video game consoles and calculators, in addition to the arcade video games that were its initial focus.</p>
|
||||
</description>
|
||||
<categories>
|
||||
<category>Game</category>
|
||||
<category>ArcadeGame</category>
|
||||
<category>Emulator</category>
|
||||
</categories>
|
||||
<url type="homepage">https://www.mamedev.org</url>
|
||||
<launchable type="desktop-id">org.mamedev.MAME.desktop</launchable>
|
||||
<releases>
|
||||
<release version="0.244" date="2022-05-25"/>
|
||||
</releases>
|
||||
<provides>
|
||||
<binary>mame</binary>
|
||||
</provides>
|
||||
</component>
|
72
org.mamedev.MAME.yaml
Normal file
72
org.mamedev.MAME.yaml
Normal file
|
@ -0,0 +1,72 @@
|
|||
id: org.mamedev.MAME
|
||||
runtime: org.kde.Platform
|
||||
runtime-version: 5.15-21.08
|
||||
sdk: org.kde.Sdk
|
||||
command: mame
|
||||
separate-locales: false
|
||||
finish-args:
|
||||
- --device=all
|
||||
- --persist=.mame
|
||||
- --filesystem=host:ro
|
||||
- --share=network
|
||||
- --share=ipc
|
||||
- --socket=fallback-x11
|
||||
- --socket=pulseaudio
|
||||
- --socket=wayland
|
||||
- --allow=bluetooth
|
||||
modules:
|
||||
- name: mame
|
||||
buildsystem: simple
|
||||
build-options:
|
||||
no-debuginfo: true
|
||||
strip: true
|
||||
build-commands:
|
||||
- make -j ${FLATPAK_BUILDER_N_JOBS}
|
||||
- install -Dm 0755 mame /app/bin/mame
|
||||
- install -Dm 0644 ${FLATPAK_ID}.desktop /app/share/applications/${FLATPAK_ID}.desktop
|
||||
- install -Dm 0644 ${FLATPAK_ID}.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml
|
||||
- |
|
||||
for i in 32 48 64 128 256; do
|
||||
install -Dm 0644 mame${i}x${i}.png /app/share/icons/hicolor/${i}x${i}/apps/${FLATPAK_ID}.png
|
||||
done
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://github.com/mamedev/mame/archive/refs/tags/mame0244.tar.gz
|
||||
sha256: 843c917edc46008a27b439a1fc66fc12a27c84e55e08753b963789e5614cebf7
|
||||
- type: file
|
||||
path: mame32x32.png
|
||||
- type: file
|
||||
path: mame48x48.png
|
||||
- type: file
|
||||
path: mame64x64.png
|
||||
- type: file
|
||||
path: mame128x128.png
|
||||
- type: file
|
||||
path: mame256x256.png
|
||||
- type: file
|
||||
path: org.mamedev.MAME.desktop
|
||||
- type: file
|
||||
path: org.mamedev.MAME.metainfo.xml
|
||||
- type: patch
|
||||
path: 0.244-ptrdiff_t.patch
|
||||
- type: patch
|
||||
path: use-system-lib-flac.patch
|
||||
- type: patch
|
||||
path: ldopts.patch
|
||||
post-install:
|
||||
- cp COPYING /app/bin/
|
||||
- cp uismall.bdf /app/bin/
|
||||
- mkdir -p /app/share/mame/
|
||||
- cp -r artwork/ /app/share/mame/
|
||||
- cp -r bgfx/ /app/share/mame/
|
||||
- cp -r ctrlr/ /app/share/mame/
|
||||
- mkdir -p /app/share/mame/docs/
|
||||
- cp -r docs/legal/ /app/share/mame/docs/
|
||||
- cp -r docs/man/ /app/share/mame/docs
|
||||
- cp -r hash/ /app/share/mame/
|
||||
- cp -r hlsl/ /app/share/mame/
|
||||
- cp -r ini/ /app/share/mame/
|
||||
- cp -r language/ /app/share/mame/
|
||||
- cp -r plugins/ /app/share/mame/
|
||||
- cp -r roms/ /app/share/mame/
|
||||
- cp -r samples/ /app/share/mame/
|
13
use-system-lib-flac.patch
Normal file
13
use-system-lib-flac.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/makefile b/makefile
|
||||
index c5cedbc0..797ea027 100644
|
||||
--- a/makefile
|
||||
+++ b/makefile
|
||||
@@ -66,7 +66,7 @@
|
||||
# USE_SYSTEM_LIB_EXPAT = 1
|
||||
# USE_SYSTEM_LIB_ZLIB = 1
|
||||
# USE_SYSTEM_LIB_JPEG = 1
|
||||
-# USE_SYSTEM_LIB_FLAC = 1
|
||||
+USE_SYSTEM_LIB_FLAC = 1
|
||||
# USE_SYSTEM_LIB_LUA = 1
|
||||
# USE_SYSTEM_LIB_SQLITE3 = 1
|
||||
# USE_SYSTEM_LIB_PORTMIDI = 1
|
Loading…
Reference in a new issue