From b3f8b4a615f711e4d04e1284399d784405913ea6 Mon Sep 17 00:00:00 2001 From: Jason Flatt Date: Mon, 27 Jun 2022 14:35:28 -0700 Subject: [PATCH] Initial MAME package for 0.244 release --- 0.244-ptrdiff_t.patch | 12 ++++++ README.md | 39 ++++++++++++++++++ ldopts.patch | 13 ++++++ mame128x128.png | Bin 0 -> 6643 bytes mame256x256.png | Bin 0 -> 17259 bytes mame32x32.png | Bin 0 -> 1537 bytes mame48x48.png | Bin 0 -> 2017 bytes mame64x64.png | Bin 0 -> 3070 bytes org.mamedev.MAME.desktop | 6 +++ org.mamedev.MAME.metainfo.xml | 25 ++++++++++++ org.mamedev.MAME.yaml | 72 ++++++++++++++++++++++++++++++++++ use-system-lib-flac.patch | 13 ++++++ 12 files changed, 180 insertions(+) create mode 100644 0.244-ptrdiff_t.patch create mode 100644 README.md create mode 100644 ldopts.patch create mode 100644 mame128x128.png create mode 100644 mame256x256.png create mode 100644 mame32x32.png create mode 100644 mame48x48.png create mode 100644 mame64x64.png create mode 100644 org.mamedev.MAME.desktop create mode 100644 org.mamedev.MAME.metainfo.xml create mode 100644 org.mamedev.MAME.yaml create mode 100644 use-system-lib-flac.patch diff --git a/0.244-ptrdiff_t.patch b/0.244-ptrdiff_t.patch new file mode 100644 index 0000000..e3c0b16 --- /dev/null +++ b/0.244-ptrdiff_t.patch @@ -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 + #include // uintptr_t ++#include + #include + #include + diff --git a/README.md b/README.md new file mode 100644 index 0000000..6474732 --- /dev/null +++ b/README.md @@ -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 `` 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. diff --git a/ldopts.patch b/ldopts.patch new file mode 100644 index 0000000..19f00a3 --- /dev/null +++ b/ldopts.patch @@ -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 diff --git a/mame128x128.png b/mame128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..5b06b1c491ff5c1801218027a8317fb7191882d2 GIT binary patch literal 6643 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 MD5ol0A#ED+KNzCcr2qf` literal 0 HcmV?d00001 diff --git a/mame256x256.png b/mame256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbab8be6ee5993a308e9eead9c7770924a25cb6 GIT binary patch literal 17259 zcmb4KWmj8m(+%$KUYsJu-Mu&zDDGM)?h;&z7k76k1&X`7TPYsgA-Iz__wx_lm9>%+ z`H-{Mo|!#!?TJ!XmB&COMFju=7z&?dz5oC)&`W?eG9vW3Oim~b`T}nwsUisg)F+_5 znjt{nf3W!cMFjxxWdHzz!T^A0=tn_E0DuPv0B~Xo00?CO07T9??HVG`FA&X@nf)Zs}}U2VaZ3m;L~3d79F_(u`{NJtSPqtGF)lMMy2 zsc7UImmUL4GH*7-RjI~W*LtU4UV?|Y5B(4AXV$hZ0oqkxQmeE|nYAkw|G$@FK{C_s zNUDrOOhaCI!a>T+apJ(YUB;S?+8$@*N?laQTinF-(Ia`v&b;@4~6 z{KULpe1ZNPp??lPj2#Qm2EAsIuH_XmlDq8S(v6IB-jR9A`BQvRL?QbZ~?fEVKs z)qM#@70dxGJ;{Rxg(x{&awL$W4}lEBp39Ex>sH*T$yVSLq{e$s+ktRgT}ZyyW={Vcf9&k7c<-RkRnDLDZNi? zwqS_`@PL&ihsOT6wW;l9^YsoowGY73U6vV<_+*X;@r~Vq;8}S6m7RU3PHv%mRb>&E z_7Tt1ca2-M#iIC>c3toxXIRqlhu=Y3may;uZRu<~_WTGv<^98w9bx9znCk+-E$i5+ z-k;^;0kjHcE$+SqtNUi+_i`>V+g8LhommRjq=! z$j0iU*5$?(2QcNcpt6*ZeSxD}#3a?h$BL1=y>+*lV>mE7d<7ghA3Gx`LTnK|s2kwl zAqXofPij%QQ#&lZT}waQPs^%g`vkxGwrMObbn0UsLs}a*g!dp17hE!xhMs@chZh7};n$u}HQ{sG->-66m! z5V;`^VVJU}hmTZclmFt5C!K*oLPE7#+C%=);WfY%SB_$hROx^U(+>zqiI$COy-~H% zDVwD-b}{X!NAN{Fk2)KqwGe|4eW^b}nVFgK^mXP~4#ISE@eoPeBzN^oQ{B5MUrGgz z7$YGvW~8+;R+bw%k!_LV|mGJ#c_D8T=af)oxWlaTa51<%_U zt8Y}A_DFZeE1E}_b8*9%L<};8y)Yf*0>udP9&ln`fIK@cV#%mT-S&3hqj{P&EO+-v zkOkCK`15w<`(JV#*9n4+M|g(khy0|wdzYo-HNHCWpo-7$-Vgzu0*M`(tgM-gyc~G4 zI%oKK{uxeM^&Q^{Bps`%YSeK?BnN=aQ7WR;oQtWLkEE@(S($f)9GReTx-vGRiY9 z{_PHeEV)lwuiJ1Rjs6-B!ij0%;sM~pe(ciqL&C)20mc6ED9F_FvO6}FD6rU-xu_Qm z8`9xvhxvZgX~0)a;)j<<(CF;KSOLU3cZ^)2$Diu;4Ibbsfc_YaRfq`Mx)xsl_KJT? zo>g?b(`9A?ws*`9cgWj7b(4l;@+MChZS^rhu4xJ*iOudNjA6LA!@%H^7x~264x;@m zOH+>V{?OG3mw-S_EYK*Y87|*%3`sZSLz_Dl01}$@B)_sDp;{TgpL|4m>p9`1NjGecv6sI0 zC7V;M`G@5nh!la2BB_3?N3KSoKle10=s%bR37&oyRBM8n*-YsBU}Udjwv@yqt2CaP zPI?afP=l^Bye`6z+IB8+?tRDm5(^oV`g*b4t=)L8u0sJqjAE{P!1uxh06aLkOt;Yp*~6zzgLW(hecOF5iLL*tThkRnd|A_=tQVN&IUtvP*`c>J=+ycG4$@?e{CjJC z^*D%5Ea2(MnreV|{nT^Re21gx)9B?9xzcQ5#=0V;dAqe;)PS%;?``*Ra(& z{faj}2Dd@q$?XWQFr=P8$cx+BJ%fQgfpI?De?VGk9rw}RJ|Q!a3TvZ%B<@{`_QbvP z2DftE0;c>1HvJA8x32)ZhmpAs7MmECeeF4Vp!Q3VrbOcdwNhYJdyXA1jB(=o%}g8i z2Gt9^6eSTAImxRL&CyHurWT&s`#$G~L!q)OAQN$~Q}bDG3#LP4utio;X8#*?KBW4; z7|7v-Qxf<6D9|No{J|I9@1P85k)b!h6<=~ec4fO`yake2$gszEFjAUpZY9H)$&GLs z_uMts!AaAll#92IDQ&Qq7TXeUcOZmS}LrV>o|2N#>c3-A|JIxUv zr?vAw+j>e2-*!JWjq7q8awF9f^rur4@SKl(}`pz1PX;k<_;Wn zEkr*7{yjzq6?Ev+*CNG9zi{Gwy8+zI(2&lUqwB_rW4OG-#NZ1zDz-g6k$XvU^r7Ho z1>w)eyd``0Cx%M`AX#J7A%3+~mKQ$6eRK9gcCsXytjX@A$@}bZjfus6|L;ZpQ@Tu(N#ZZ~+Z2v1 zs!KFe+akid=j*32t^4|*1)uJ`T^ zFAq~{twuJ^7faK3K_b&*D;?^+D{x`r_7;6eHv|-WV0%((0>ebUEFeCsDsedR0787= zH#1jo<1uO#KST3hvS{Fl>tIWsGjZ&P#Jo-+~Bg3Yteq zpVhhar;ow;$q$W-{2$%UyPofgDa_8IPwR^$;URVK0hGhfh;b@4JOQqUZ_OK+=vHKN zrc6c|pZED#KvZzVU#(w*Ochb3^of7f5lTs_uN4jHx(sQL(k027^qiZ1bERRovy$)N z(Zr4X);78KrP3>D8?25$me&0IOr4G|s<4Ca7W%s8)|=>Aea zm~&{Rk9q!=Ms4}<{$|oG4;4lE`GU zjkixISvU<5o8hI*4zFVkz5h+=;y=z&=JuZZ-9e`4uGY7nqKSj6ggb3Yl=Rw9e7E_Y zI$yb{zR3u_XY~c>p6oVp&(XZ^t~(c$FoIhd*S%dRYwSnGq-K`XTN|s(lRz-AV;Os& zCW?uUuRlu{1gQ@i@QME~jnJWU{7PD7d0z^9raPpXvAF*ai>EE>bVZ_Mi@ukn%|xXB zzoD`mlee8!^M=J*kH1}wJcL3l8+E0x9mF z-&;l;@#rA*)x9p!`mDjmuu&i+btk%T$5k?^m?*Pc6hkVg%(}wFPEQbF@0V>Uqwr>F`uE>%vA*P;{FZy$r`QIr4^Q-!Eb?=UAOXR7Nb`mx`rhem1-lWxnl(RCPQ054A6gQQ zA*o@*a+7d_s3If9JX#S^j-*+cVWl~|4ZIri?}*b_F!8ylMn50g?&J$%7d+PVlC zdC6a2Z#w)2Y`KCx=n23H9TZ1r#_{*16Je8me{A=w`SaG}lcs%WZew&j%?#?$X-B4_ zN*hk4j4yc|I}pex%%_tm>vAwfYAfbb=S_qslVczzJxej0hDfnt?hOAyWSsxuX+eP} z29!=70IRvjd*d&V@qV_%VVsfETjjf;T`%Jr>g8=)xaBL2iva*{s~Z%=`t~UNs{B}u;-j^KieH;NDlYr za5nLrbZeP5)N!tT6KC{bQ{@AGAnrAWu!HwNcEq||v}qq-h5m=e6cmk?!b4n*^TT7a zpu$a=)u6eljuCaIqF=&eo7i!~m-kUgJq&*QQTidPCU%-BpjleApbp^UQ5{5(`(-Xz^3c@mn8SBBnaj@ z(4O!Yv3NNaWB;B>I>`a1iYot;4Tm|h;+Tz4`57L)8gId;vfmnj%`_yG#BS@ULzGtA z4V&rBMTPZz5!VrUA^0+09pjeHHb4M*wHlHiO;1F522Y#(Ex4?2VziG^{jvFg-n-R; zC{FcgLoCQeoApVA`1eO`O0zOX@2piVYazM{_}NV=MR>?C&r5RlSS3iuH8~36E!oPX5`R#_rdu#59)*m zDiKeZSGP3QHsJy_WF8&8~UDT~%|!{VTxEm+uI^(`i14*&3SLpw4p^)v6ghY{75OXp&7 ztA2DmNTN6Mi*E0>?sl`@&v=>MI^Q7h&+FS%1)azXCMK-KnT)6lrLVNvpH(a^66HIl z_1mq-n(}QJ88v8KY^1`^zN;ePKFpy2@EC2vRdY6%(LpV>oiS^}!lv_4pa(^ell)9+ zb)Rc{G`XGZ4$BCeS+qr!Vbm3fttCC;X7gcqpCnIJoo=4Q%gO36yfdgPX1*^TXeu>c}28X|)ft+ZFY$ck^#soS3; z-~_C%6d98v^4#fmVz8JoFRp0)}|T*_@*pEs7(AP z;o^I6@biz6sJ026A4w)!qC?@du8#a4lyb(M7hRBxwlJ*0A^cd$@y9<(T@xZYH=)Xe z@W{ir(Tg2!;uxU+_v~#vhZgqS2^Ce9_2coFctl;tugFAtH@wXC=btk#AE6P4m&ud0 zDl{k{UOP-fw`NiUW6QiQlf{bvSWVb$#7mjr0LH|adbl&_sD@B}C&6?^)nB1n#fzXl;Jb`JvpV_&ml(h3&wOF>Ni%ltvmbP$e z(FZ~}vC&X8<5=!B)QME4k)t(!Se0S&Hl54S%r19fz3sLH7`$IIU$ExE!6{h}&xc1! z8AE!!&%Rn)kC3}7@%6Nlltm1ta76pUDNF{N5j!sFbYGp@(%lF8!@b?%w4k}AquGfM z+J~K1wvsR_+b!Mvkb9)+I(+NFw5s1oj#N+++O0e*h6WioWe0+97bb;Ldgzh6dEt*e z;8(g|t5WvE zBxz*|2Iut~#-lbM{pK!}j>_2T1y1C8h3A?!RHCf}8FO2zk?o>ya$1$He>;lv@F>e= z26SH5PLkO@vPE?-4i@``;0-)wcx}-G1d3>SGwt00S1ej=duz||n7QpsLr~Qj0UsfR z?|e;7GueBYRNhF>WHgjS2f0nK=Su0787OlMxfP=Cc1S5F)fR>2SdaA%B1ljU#g@CC zhEmShtb3x}`icsr z9sjvEr%9G{^DAcbZS;rov(sXX5t%xNced66+0rhvQWW8oLNi> z6d6tOLydl<8C863yMOJ8bdu|uXaw(g1h%-?#^*b5bkN*XuuC!F=b8WL3~r;M@dl1h zzPh611pSH`QwFBUYWltD7=886XgP-d=|p)Ni)7 zmu~qqzAA9S-V@SZN{~g<8x?RZzQ%<@S*V#iZTuIOuW0`LKUNOnxQqsOLEU(~PE4(B zJLXfp*W&P~W_aC`*?R6El|a|+IDHCbbiJRWR(xUpdDTXL#gzBBZ1cE@V&n0YKUwJ) zTtzBh4Izut0T|F^E%6jMSnbh;Raz>#h{x{}x* zRLMvS8Xm4zh6}e%#|no@t4$ja(xyDR>24m(uT0x84FF^S8Wj1WZ(q5p8}LNaf5C3M z>q`LihimVns|SL1AWWqd_L;%v)RE?VF{MPcQVVCzm1bgbhx$|K1>ccXh~rfkGAnO| zv+;yst%*I(*1ee<#Ex77$1PfAwv z2adHFP5KJgG;ms6GZl8?=YdU}Tr3QFk-0}E;~2S5Lyc$3p-T3afmXYBr0gNI+M~)I8(q%Fr4(d)PMaa6TYo3=l70K+F6|FmGgW zGm+;v^i-aULs>e867+?5iZ^7bjCnB&*D>3ggxZlCd(`TTL_o-7RyXdAFBn@+Pw%!VkB zc&X-1;YDV5;#%1w>TPK6CUg|b9klhn6fz=G!%=7Xl{MFo4yqZGM;vKuZVrn7Q_${0 z8o+Wza$_TiDn6dX_{%bRU4g#3L?Tmk*@r4Wb#6S_s*fiit)Dsvp(^~{BQF&HPPzL^ zXx%I-&mw+~yeK4Wz=n?fh|eQ1)$7|HVae5gu5{ObXHsC+8@CfV$nd@Nn|%vJ0To2` zqFYOfq^}U)w%59@Jac5u6t-F9ky~r$m8QLGUHlAzt3fPE+ndMIl1TE02?toVDL2pi zj4J7;nY&f%{dScpOABaUz))%?Y>2ahdBuzbyjvOyh(=W%>c`$zs9@^FXe{3hBbcB{$x;#93Xif=`RrOn(s;Z0WQf(&vu+`FQyWaRnr@f0Be30 ztj>mq-$*_>-J=)?$1L|+oa=bIZ#QShT8l3QES`Y&Z8)#P-yAgr`6~aY;g|o}n^Dhw zq(!5S7TlPi2NQ)3gklYg(0Y-akX|3_P>RXPH9`EaoTM z9<_>&gUIsUFI`<(p&Q8FEcLFH>* zM^hQIj-P6y8M(7xi{mL1jF@z+@8nj3X*daLj>}a{X$V$nVBng{BqZln8pzRRdWiex z63uPh!S5MEBTX{)3Kda$iBgdoD=BsKzgV&v>D6C)WzBEO?=+nVZh+2v#0)bjn6w8;O za6F@uW|l1oqKJDhj9(F<90fOf+PEWfyJ$WbTC}oMj?VO`Be2zSVtITj9T--i(Vvj)D-Pq=G5-#{%|V_(_!JlWa>S3w>9{O z5V7A|hc59kx-GUK{98$nH(c#`#TV5=QsG+E0S)SN9kVFXLAyhY-h}4(ZBtc5h&AM> z0`Q&!2&klSuWBpe`1lk?uaJvVs|~I1o(sqz2or2EZ8&HY1k^YjHHuh$#)6&~aTmax z`Rwz)+H@kx#ZShUx+R2(Y_j{lIFvZ_!MfLWqN7iYm6tM;$)t3g*e3rtFc-se>Y)hU z4(3lYbjC3lEn!!br>)56L=({>4f6-EEO8K_tgphRjn^fwPOy<;6+tAa%|d^jlMSp% z_EwbN$c{lCj5`R*vPj)O38S%A<84vW@_b5=rH``AWUTI;C+bJkdM{KQ5=HHRY&xjw z+KNu1H!$Vl(DyW9m6}ts<=%v^2i%c4YR9V$C1*v}_!e#)=H-lDe zQ7G%i*|oKSxTCzD<;a%(*!Zq`-e-J|NM{}M+r4oI6JqypLB=JEKkd=KXe4T{I|Px= z_FEsilQYE7m(cbb*u)-?YLlH1iPp9w0yx-@9PypMb`ys!I(vEKZfHLH@ZO~p*3O5PUd9U&kjvbhV(wF&$Nzv!X-FMRXU-iy#9hNdro~Kcj|)&6n2AcAM6Nix~>xK&*%oSez=_OS+VIun#U^LbBU#t z9R%U-s6wHV++-(sU13YRl0K9eY}|F<_nA|o@sQid6}q)Z5vcu3t0fvmBmgqf)LGA81B^G`8S*~PL?qHfab92jIdX&G)RWrCt{;}C#16MD z0PbvE85~VZI#$pQU_|W)JQ)&FW@B{2to^ne4K&K*#n4n=63%4K2}~ONnoUSh$e(K* z`JE3w%rM->8~2iB}i2h@sbRlI(Ctd z#_=izA2}0G-=Mh$P4Wiut@m&DwP!6*y7H$XYQ~SFVHM}5lsT#iD`-RtpaeN!9+e#A zb%xpG4ex6;*jRw^cD8sB^hWkoJ!4cJ^+es2>9d4KdL9B zhkWT4nfb0yphCz0LQ$+F;)#ZOj4v>^t#d4|t`wMe4UJvA33k2kC@IRkfHhqj&`ZLP zg~?Y99h47 z?Q?DLgH+3<`EVk4XZxgpN)31^pQg$+(MvmD}4GU5b z!D(SF38W6_{%G#OcenN%8Jd&1UJx5O!mZs1krKj~Hl4o+{fMF|C49%mrW9C&bFPA_mxxUK7A6;{@Mso&kI>PR$pF^9n>YJ%pS^A zV|3K_zVO*9>(%zJME_{?6^~u#1rQ#H$D9TSF`uB0o%PJnT}>U`;}3@xzqT46lN#Y1 zmscUNHJi$D`r_}wKp#bd>>k~)iB+<==S~O?5V(amOmH~c-|PXns5<%)t(B{}wuK&y z{7%?f18l3a*oz;^?;K8J+RI0P54s{{sEqrO!obk$Dnv|1s`E@y3|?hrvgQV%%bgc5 z#jxK8U*q3#8`Pa8r7|73g74Qt$DF}s^*!C-?*se!#ba0*Y=NEbiX^? zK&W=O9IK5>cd~7gIfPLr67}J?}AnFYod8g;s{x{!%lm+ zPc6_vLqT)5vHFYNaUHIQH1j{D*l5(Z3WC1NX1$!Npoa((@qm|j@$PlVB|rj2+=`sp z$jJU)6XfI*y>%Ja+dKc;QmE(So=f1Q#VMS)U=)cPQAlF^6>cqKRWow}Dc<7y6B7X= zsPQ&__M!XUq|EAY;gzrEq*}~h?>@bPIL6YBBTUwBnP!ovsn?-tZ^W>;CzjlQ z7iOR*;Ef9&_%kD{T}a0z1NA)INR?;OjvhJ!&a{OO|4t|rs^Q5o?xt4Z?HTMXj>R*b z6MUicNtQD^+^d&RH3D{v!tcJ>=Ct;?r}h2>tdZ$uMpAKeJ0K^1IBe*X|SKId}Ovq|=zYk{M9=rzRQ=Qs+l57tg9% zaziFf`7pBHYz$7OpUi1d7r9VmNnA=UzSXRIG9Y5@wJbz#Y4Q>|c-SNdUd)wGrUxb- zG}mf)VXSUy{bu~o#hY#hA8Dduf!CSV?cXoxtFzAS+vE6kjc$M9y8k9D1V&=eAG@hf z8c=X`RXD7!fQANqcg^K7?1F&m5A|l~= zy;gw3==oEQQ?Hy*`X||k(rQV8+{gCcius+Wby^DJP^ICl&j!Z&*UTu@O@?u&GLY!y zStN2j-Z+!a&!I-&pxJK2&Uj_6R3NQQ1H)*_x5MiY~Q@yxQ_%!J%w8+OtLy6gE(Goix`tD@(G__{@a^nDr z*iU$~wo9uPGDN8nq;>c`zh~LjJUq)wsq!7uXFa{6rVFH$oFV9x2s%Gxd4_hdRhI&} zlr=X*rbX&O6Z2$I2>$%?CNDRd5li`nZMg|{?Xrt1Rc-(+QarWF?>EalJpES36AU>6 zJ)MK|54~ye@kJonp17~^IyLu73>h34@cUy50C@BXNgq6o(p#M=JcL+YUM5Sf&vL`I zBT4kzOUwT6XGh(m(IideW$ZV5OT}Ray+3!UT_mg`s1I`*=r--1&vq|2AIfi|czyld z=Sh0A`0saX$HF9xEqESVCgJm~9wmsC$4grV2X>>>k`fU<+mm~YLnuUWEM9@^C?>evy;Nj-%) zj`k*w>*tS8t@eA{rW3I!^kHAO>xqJYUjZr>@_8}mz6A-&5_}l7`2xnmD){Cp3{xyV zBPig%IkpP9R4BS1b``>grRy&=X9ac965JA~P27|hCXWO10=kH584S$!I2hCZ!&P+o z@x>uyZ6hu(wOUe_V%#+`Tx+m6%qt}d*YgWsYS@Hbu+wZeEy?XxL9IPGMc@s4!RFiL z99mJ>*`SE#ogNJNz-JJ9L@q5f+G!t%Psz~QmbIF{50z>3R;RrOY2_kH$$(iH;{4eO zJhD*N@|Rpf_OKAQn+?dL)Iq~TRFIwK&GLY_oy{#+fUb5PH4c6Ca8yN=a@y~OV~jEq zw1X`?_YNV$zs5oA76+Z-<7-JJ8D)w>_PBu+Klc`doWvNe5n6wBS!nbemi=?<@m}?R ziW6Xc8zaq0wTQ$n99w<&PRO;?YN>#D5$Gf;#093$2 z=WY7&1Z>OLayx9@KSv@ZyvwPVmQo{ydwjc>ezdP5V8C=U{|NKiEh&89$u2v?+;_mP zq#)MGqc>k)ndDg>X4Ig7^9pzGQ2Fyx4hUTM{Cy^-0P4S)O^%M{B6!qGlNI8^94Yid zvzSgaVHAn)i1WD92T!;Nu53v2v)$#-R8HF+{j1^$k5RZn4H)R^2a;Lo}pv;9TO!37Vtn#^cXXB7$&Vbr&- z&cIC?sP)(sQQo_O!ZlJ9aOq_+BmV9;aB}){?atV#gqj(vfG<45jJWZWA-o$9&hYQ% zdaM0y{11!A<%2SkY3=l&-k&B9-ELRjNwx-1)7rdC&*AS@ zFL2-L^b_7#`pmi>3}ZNqNb{-Mqd@>+tdRR40vHnN)Em(THT*INy)H6m3$+*|bN@!{ zDaGoRe7U#ea1Jf(4&ZSyWgM4>@9DhYnn)|5ocQxOE}?Jb#Zl~xw2Se8v~5P$#AMXL zh~EM4qyk=xap|)vH;o;sh{l_0CBuU9biR%P!`E_Y6=^8WfOXFpS`u{sYT%IIn%DPM zGCaS4;^WZgt{zSDK<1A!$dYY5QSPiE^OiVKSJ=0RaHRT&Xz$2+Lf@*%_6Mo1bWmQ0 z{4pJsF1;r&I|T1v1K&5DSIWP+Je1L@2_^oEfyM0S`fnDZ=^(nE)_s<-c6C!>0W#AB zP7L0<)qeicMvP>)mR~hYEeK2<5G)gdl&ujL3Ca_z$0I2D1hJzjC;*TNjA0c?2*aRl zk`MPcL2R7I`@{~`S6zO-2Ep{9QOy{Rmdt#s1f=H9;- z&l*71a&P7pz!1xN{-fMA0deDE<{9aX6pZ$?FpsOQ_ol-QR|%%gR__0H92(f$%u8~; zVO!xuNg-ZGb<2U-^FWtaT}K{z>rFhp8T!O|IJ&`k2%dq7e4FrT+$T+`4bc-}n)=k)Q%>9aV0e{9L1N zuae|ii5}X92vuIng{At8q-CRlPXVgsBa>}6>ZALh=KFAq|EL@2`-~MaAtoEs!B4s2 zF72U@gFu{C;E;&^KH2JbOQbOZk}iuV8+*MUnCv2lQ$Gv1E2KzW&A1P>3s@`^f5QE? zg~P=7{uwZqq^U;?}tpyZqxZi6+LBQlG4(FpEe4XLg z>Qy%tx7567!JTj(k)T8jpF_PU?8UND4LUAfIOTA=5W%+s`*q{_y~l5neKqn~1R-f< zQ4kz-0q1Zt>`u1-+*%K>7q`S==~43V@~IuP)CSJzEdze{8)oXGN%BgRs-r$JzePny znsDxf9e$3||57Z{$oO6%^^@Qr{hn>{OOLm@ene$A43Yl<8VCPW$i#el>|>{RT&(VL z25FYk@wpAnp6WS_YUz>sz!^xYs$U@o0KG-xT&($?vu|F z42jsi;=GS+-(6pS7 zf^^zh*jVRo4gSIx(9PMxN4!ebJx$%=KC($edyRG3%a zaRbY>8hrFrf4<_tybeSaTt;Nt7`0YI!Xpy{cUvw+@to)%cGGMF zFIThD^h(d-AM##Cdb*5tC1~=%bQoDoyNi2dwxu!AFx8Ws$COWQvQ3rD5sG^>Tpqk1 zm+X+LGJje2_ZLraEG@-=oPsCjv*VxFTjb<^ovPG0><>KUOyg5gDOZ>%3tDa5)$WG-h6T3DI6ZZFFBe0ykVeZ%+teC7?4}pus{6ah(~z=t z|IR`r#=r=IuGV=s{6mM6KVbN>A`kcJp&V}DP1pG=R$2|dqAz`y=E0w;FZyHeNv*0v zl%Wlm*#4pSY?VO|2G8w?I(u;r65yI$QuI=ML`@9EQd}sWWAPnwm$7m8kk!S1B8kBB z(fur}%af4~Jhl(XJ`q2P`D`~Cyxzs0A-_Sjcc@j4{4sHTz@Dj|XcN`l(oynQAmL+OkcdP&5pSEN9RpDjpu?rD1aCesHF9<6Q{^Qj*k*f48&CoV@(!JZNya!W|<0 zq)+T&>DX-eel1hTB)q*x6klabL7z{EKE|rW>h!fdw7yvtzQ^hV<*mswSC7rsEEScY z9k{wYY2j33SpW^AL4U|yXQ;EPF@gTLM2teOln9X0ud5mQod%_)X@(5T8{+gDE)4mu zf48)Y)bnT=VS(crSGHrktOnUX=jRt)ZK_KVN3EIQEyjrOFJv6M$sXCMPu+E7)L%U) z0Di+tS?;V{qL%RZGTEs5@1x_Fs&&=|mlgjaf^;nb%5o7huHD3ZH5jNSNa27gS51xl z7sk0hX)=r&x2+ZsQhXxJViv}fSj)rTf)O`kWq&UYn+zd!^FN&tZZv{k;6UL=+O%@5(wv|#P(yy!d6no7I$pl`)|qo9 zME|YsHzz5e+Pk-0Z>%!s3h+{Pi<*l+)_wbXHugGQ41oNlMxU3<(B)!JQ?7l8i}mN)BbSx;!pgF4 z31+un&tTpX*On~~a}taXEi6OaHD-sxWD0Gu1OE13bp6)J?;Yg)91ztFUJq0g5%s&@ z*!Ff;YSYRqQaD^ZL%2~XuU&r_bx-Am3sHq+(t*mc^>o%$@%P>YC%dF-rq}sMA?-8RV z7ISdzkSK5q&v#(U^5)t6IGag~ezrXL;71%~-Lx;?{a|ZZ*^3Q+y0V=WXsF5A3b35I zQC_I0hs8_XOwtSgkEOIs(0s^fcJoW)2;C zQRwBq?N<*RmEUoog0?^ulGK&Q)_TjUE}VOF%J8KPlk068#rJu6ZjtED)vhE!X$t8k{fJO1=s{m?u@|P>#)W?3_S;!c%UDmmFAq ze*E-0hlkw0f&BX3Olu7JXD|Ivh0Js(!^ef>71Q05U3&M-v#)Oeu2VOb=8RYSHAAs& zJEUdHl+R*)H@JMuP7U#GdC7})^D@wjpW%UujCk=jYN+?rR@OBHZvDNuvl^lGCxDmJ zR7cihoeMw(!`IzPj2Ho0J(^X>hG@4yaKs|velrGo&#(TPuPn#HfD<5mo}xtZ+?(QX zn|%E*ScOGyA1pp03HhZJ*L%bl2x^WpKH6czr>e3dAk3hZ4k0#>SWxnJdS>(DTyJq$ zyeGX)zttAr{te7MF8o@lc&Px{CGM3rAoq^s9GFacg8HS3ZM+{(Tw37Vpa&Nbe?9B7 zVxrL{2+#@`jwP$jqMBD41KkHNfS z%pBF{l}}`6`$8EWXCdBP4RgXG?su&dQ9cto1@$!)jjTcW>Z4{n9!FR|V>J6*e2JAA zVtv-Z|JeRoj(Qnc*eqxF@i&`apO??vs#j~378gM{NqZ@3yJEJ#klp(J`H(pJ{T2hu zg!ezw@O8u7;@=3@p*2%)4}G>UJGnl5rcg7%qd2a|^QfPf?ZffE-!_4P(oeH)Hog_w zRr4AP5M&Hcp3x_Cd@{2|PBh%HNjd0lpEgbl-c4G5Tv@XxIE4rcsP1|ZK1ek*$71!? zkOO$HTZ0}<4rL)D)Y=;_zO~yd-!MINdzVG(moih}<<2dK=3}9eUy~KiM=~Ll@}Gw; z)1)N3Ry>xOrtKE+AK`ckZr2;sK(l|ghZ|uhiN8IW;w8CBPLHCt(86uu5+I-+h&_As778 zNS9mxIgrWtn$mw=-{B#F;j& zAE#tyX*fSt#Oi+-bS7!kdx<)(O?>lAq$^ zjf=nSPR@USDCIpjB!W3Fw`*~2$Xm_+UX0h^rAIhuFP5y-9-~*q$qy}`FD@+G9mAp| zZ*IACo7>7?$t5x+R<=%l>@|P4l?y#QV1Cxun6Hh0Utdsu=%?_PhaKgmcpIKq)_nT7 z-Jrhk`lF8?HOVL5{);dZbiaMbHDk`zRl08&mtAYh_PZ%~@3(l_iAn!wKbvXH-@AV^ z|I$@Y)?aGxunXaNaQghM-9j(#ES{L~q07k(IH|0$f8Os8&f)TJ7yb#EH^;?B#AXH$ zYo5XOGd3cYKls$DS4-A~{wlbrS!?^_xNg0p{)Qv2T7`^v6{C4wF%Wd-^_ z_N}@VkMC%QUksQ2v(H!C8<`)MX5lF!N|bKNY}tj*T^Wu xz`)AX(8}0M8^|y)nD6!kc(?_UhTQy=%(P0}8s16A+yQD}@O1TaS?83{1OTqBs3!mb literal 0 HcmV?d00001 diff --git a/mame32x32.png b/mame32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c0dd878654368ac9d42d6c9a959bda6fb027b3cb GIT binary patch literal 1537 zcmb7CYdF+d82=kdDciP1lq8u%E;Hjk7={_+(#*IP8ka&*$z_ER8RNDt83x11m{2ac zfm*@K(w+=K5oaNY5eGp(z!GB_g6^Oo z=#wV|VRIqqSYUp$oe=~f-q~JoB!UCPoE}KghLF=kE*?MS#j-7#a;TcaX9C>%3ocUbZUO)}c8cmwKTkB~PxXMEXbuBGe5 zR9|dav*M4M=k)0?s|nnG6LzObMu*Y;RxvaGu$Qp@Zvvh81_Gx`JNBtgT%CK<2jw8% zQ76XF4AyRc=!$i=$%)Up|KZa=wn+9H1#m)>r|7MilV^b($FMpbIZ z)vMD>&IR)^F*R#2tnzE2lyjWC7fb0z_6b_TX>S%bt%JlHzSOX2TQNtin6s~bOMEb7 zoYrQV*#&s?6Q85*RROt_{PU2v^L66uRYHoST@w|2(m_tjA98;7!M$zGzG}g)YJpll zYsTrpXZH}egSd z0mT1hh$H(CA*4jajvPF=4@)FiV8p3W`xq44I1v$Ve~Bc+y?4KCet%0wSS%JrZa9&a z3Tdk;DeE|q(9M_rG(!Y_e);Q;18#wTX=QP9!_5Edh^q1Hzvef$*sp%@?Uz3x7KZj+ zdjEcDd6IAlc}i?QdVDK#uc(r$;+_K{(u%-jL{2xaGQ?#JwIwz@ZoL4{6}f6dA{;r` zLgRo!Jj9Aj6#uYS8q!k2Woj6MZAB{r-ce@K%TqxDbzBA`E2~wXo10f#$G!aYvTIPF z>zkR^vxfT2rKUz+z8h^mJbd2RXsfj~DspFgOB4~yG&k!K;=dr6hcoOZ(6wek>-&X@ zNmc_Y<$f!&T$fpcCVG)69lgHI42viBARqgz4Ix!kO&p!3r(V5`zU7;hg;>eq_}#ee zw=?x>VPbZpsijm<0}sU|WuB#SvE+*s`ExZ7^`m-+UFts$^Yo%Sg~XH`HMi%HJ%dga z)0J+5dtDaDhlnNe1HrBN=TUv5ZY`Ui=LK*_r+Fev&Ny_td%&S|tgH+nRmL+8+hzXf zvB{~SwT15Vj$9V#tj@KC!Mm}EEP0cOII&pHx5?{c9<5WIvXthC8uxa31*P>lN$+0)#bqvN4g~IBfv0A$4L4rc@Efzih1@I5> Y_Pa*^Z@}sa+8h8tRzwP++RT&rH*Auu!2kdN literal 0 HcmV?d00001 diff --git a/mame48x48.png b/mame48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bd817a54543fddd4b426050d26e87a83c84dee GIT binary patch literal 2017 zcmV<72Oju|P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Rh1{MG_B}tSXs{jB7!rbFD_QpG`Cy{JP(YaBA-rIH@;`p$bpV} z0Kn!~C((FMBO5r}|K40GH7q0DRU`zF;2#V7o4D`i z0bpNNpr`j3A~CxqolNcwJb#xUOhrwzAvHa{LkMvo@Pi2e`1t+{h*edZ=llD=H#0Wc zS;}Ws5qJ>32kv{YV->EVhq@yHpR?i+(z^+Kr1!6Y;87+k-O-x5Eg{>MxLYutLaAG~ z?1W)jvRzq)FC4ysUnDxw`rU7~`(Cg|)s1D0Ndz$L%L?q?dlZp)v?Vn?)9V(Ub|y(w zT~}K(bM0zRZZY)<0009%w(mTml@;ds{{HPVSH?O$x1>a>s>bZf>Os4z=1jc4@%4C9 z%Tu9vb@%+(rTq5|M(=n75A8k$2p*M=8AFp4&;%Uz<_XWP6XOe^<;Ep6oeCV0a0sw9+uzuG7hzC(M zWOi3HG$jnvl0DZYRo4?**s9h|Qx?7l5RgeNVC~lu?LyEV%?P)E2!aa$fNF#hiA7r$ zW@dXm&uar?5S+_}O!~=UHoHU!0U{zI&;x5$>n9HVe*4_`c&A$|s3HiEOU~Bop-`(H zwqE9epFg|(lee(mBtS%1-*XZa1X0bjx+|NOBn;D%irH*gQWPy#*VsfPz%_rB zPt8wEbOwR1Xu9r`A|qr+{v?EWvRrZ&hxYf}c2aJ7h1TtS4J3Hfup`}7O-mDoWy`tL z{JG?f8-rC#niI07Nrg;$CU9NLFikr%Kl_T{e5GO9_Yjd=c8W<5EdgVr+;caV-EvpJ zgAR#FkX5yxyKd4cpy)<53BE!zLX`yOdrom@DWChBB*|-;B$4YBKO_XLkz|=EigHQ> z{$s)qnz#to=wb6Os;2*-n9H_#CD$ruGxc7%tg5;uR7IWfN=~g;a_%cGBp=@O=d+)l zo6Fx@%w^vwWHRNcGJjOlvTU2`@UPq^~_!w>x$RbcM=Kkz^`JGTqVg25-{MEoWx=( zIa*y?FKH4RfDl_$RgD0Ug%A*&gE59uJ}(s)Q>(e>uI9c62!V>GrDIwy(({4#j_k4h zFWlOJ)btdN9ex!Lu6gi-mZpZCT>iJ&`J|JYoY?*Thuh8!zH|_VXBXL@;eT|6BC*27AAaUe$NbN7M}ajz?gNNwIMH{^XnX}@j9jPq`t0S=XLZxMtMI@( zd}RNg)bunoOnSyF`Ku!1p+eu)x6ccNHE0{s}UsrWGf3HXr~103~!qSaf7z zbY(hYa%Ew3WdJfTGBPbNHZ3wTR4_0)H8DCfHY+eNIxsMwM&w`s001R)MObuXVRU6W zZEs|0W_bWIFfuYNFg7hRGE^`yIyEsmGd3$QFgh?W?i*a(00000NkvXXu0mjfLE){g literal 0 HcmV?d00001 diff --git a/mame64x64.png b/mame64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..d42087366ed7661d4a902aaa9eb9a22e716a1e0a GIT binary patch literal 3070 zcmV004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 M07*qoM6N<$f`47;k^lez literal 0 HcmV?d00001 diff --git a/org.mamedev.MAME.desktop b/org.mamedev.MAME.desktop new file mode 100644 index 0000000..8d04e80 --- /dev/null +++ b/org.mamedev.MAME.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=MAME +Exec=mame +Type=Application +Icon=org.mamedev.MAME +Categories=Game;ArcadeGame;Emulator diff --git a/org.mamedev.MAME.metainfo.xml b/org.mamedev.MAME.metainfo.xml new file mode 100644 index 0000000..04094d8 --- /dev/null +++ b/org.mamedev.MAME.metainfo.xml @@ -0,0 +1,25 @@ + + + org.mamedev.MAME + CC0-1.0 + MAME + + MAME is a multi-purpose emulation framework. + + +

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.

+
+ + Game + ArcadeGame + Emulator + + https://www.mamedev.org + org.mamedev.MAME.desktop + + + + + mame + +
diff --git a/org.mamedev.MAME.yaml b/org.mamedev.MAME.yaml new file mode 100644 index 0000000..4e2dec6 --- /dev/null +++ b/org.mamedev.MAME.yaml @@ -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/ diff --git a/use-system-lib-flac.patch b/use-system-lib-flac.patch new file mode 100644 index 0000000..1f7b180 --- /dev/null +++ b/use-system-lib-flac.patch @@ -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