This patch fixes T481.
Details
- Reviewers
ikey - Group Reviewers
Triage Team - Maniphest Tasks
- T481: MAME - Multiple arcade machine emulator
- Commits
- R3922:afb5ff56af21: Initial commit of mame
Downloaded some ROMS from mamedev.org and launched them.
Diff Detail
- Branch
- master
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
Can't you just use the arch package for mame as reference?
https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/sdlmame
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.
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.
@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.
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 | ||
|---|---|---|
| 2 ↗ | (On Diff #3544) | 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 | ||
|---|---|---|
| 2 ↗ | (On Diff #3544) | Derp, remember to use octal permissions! e.g. -dm00755 |
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. | |
LGTM ! Hopefully you'll be happy pushing updates and fixes for this guy in future as maintainer? :D
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.