Page MenuHomeSolus

Initial commit of mame
ClosedPublic

Authored by livingsilver94 on Sep 16 2017, 1:19 PM.
Tags
None
Referenced Files
F11054820: D1016.id2517.diff
Fri, Aug 11, 1:13 AM
F11054819: D1016.id2521.diff
Fri, Aug 11, 1:13 AM
F11054818: D1016.id2384.diff
Fri, Aug 11, 1:13 AM
F11054817: D1016.id3544.diff
Fri, Aug 11, 1:12 AM
F11054816: D1016.id2439.diff
Fri, Aug 11, 1:12 AM
F11054815: D1016.id2428.diff
Fri, Aug 11, 1:12 AM
F11054814: D1016.id2454.diff
Fri, Aug 11, 1:12 AM
F11054813: D1016.id2455.diff
Fri, Aug 11, 1:12 AM

Details

Summary

This patch fixes T481.

Test Plan

Downloaded some ROMS from mamedev.org and launched them.

Diff Detail

Repository
R3922 mame
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

livingsilver94 edited the summary of this revision. (Show Details)

Fix summary grammar and meaning...

Use clang instead of GCC. Much less RAM needed to compile

Filter out optimization level from Solus' CFLAGS

livingsilver94 edited the summary of this revision. (Show Details)

Update summary to reflect recent changes

Already looked at it.
Probably I'll use Arch code for install phase, but the rest is non-optimal for Solus, like, Arch is using bundled deps, which we don't want to.
Anyway the culprit is CFLAGS. I tested some stripped down LDFLAGS and CFLAGS toghether, and the executable is about 200MB. Then I reset LDFLAGS to default, keeping the stripped down CFLAGS, same size. Hence, there's something in CFLAGS that causes a bloated mame64 file.

Now mame compiles correctly. Installation phase is yet to complete

Mame is working, man too.

What's missing now is a proper directory setup, as
by default mame looks for folders in ./.
I need to respect Solus directory rules, so maybe someone
more expert than me is needed.

livingsilver94 retitled this revision from Initial non-working commit to mame to Initial uncomplete commit for mame.Sep 21 2017, 10:19 PM
livingsilver94 added a subscriber: Justin.

@Justin can you help me to set proper directory paths?

@kyrios123 sorry for pinging you, but you're the most active packager.
So, mame executable, by default, looks into its directory for roms, config etc, UNLESS you specify different path as arguments. You can then save those argument in an .ini file so that you specify those paths only once.
Arch Linux approach is to save mame executable inside /usr/share/mame, among other needed files, and to put a script in /usr/bin. This script will set the aforementioned paths if it's the first time you run it, otherwise it will just launch mame (script is here).
Is it a viable solution for Solus? I know it's not... "standard", but it works.

Add data files to /usr/share/mame

livingsilver94 retitled this revision from Initial uncomplete commit for mame to Initial commit of mame.Nov 20 2017, 9:05 PM
livingsilver94 edited the summary of this revision. (Show Details)

Downloadable ROMS from mamedev.org are working (tested some of them), BUT, I'm no familiar with this piece of software. I please someone familiar with it to test it in every aspect, it's a pretty huge program.

This is very nitpicky but for pretty much the majority of our packages we use $pkgfiles and $installdir rather than ${installdir}

files/mame
3

Would it be possible to replace this with something this, like in package.yml

install -dm755 $installdir/usr/bin
ln -sv /usr/share/mame/mame $installdir/usr/bin/mame
files/mame
3

Derp, remember to use octal permissions! e.g. -dm00755

This is very nitpicky but for pretty much the majority of our packages we use $pkgfiles and $installdir rather than ${installdir}

OK, I used the curly braces 'cause they're more readable IMHO. I'll delete them.

As per the ln -sv thing, I tried that solution, but /usr/share/mame/mame seems to ignore its folder structure (it doesn't see mame.ini, plugin folder, etc.) if launched outside /usr/share/mame...

package.yml
32–33

sdl2-ttf-devel depends on sdl2-devel so pkgconfig(sdl2) shouldn't be required.

package.yml cleanup. Also update pspec file to include two missing licenses

LGTM ! Hopefully you'll be happy pushing updates and fixes for this guy in future as maintainer? :D

This revision is now accepted and ready to land.Dec 23 2017, 3:03 PM
This revision was automatically updated to reflect the committed changes.

Yeah why not? I don't use mame regularly, but if someone will report a bug or I'll find an update, I'll repackage it for sure.