Mame: Multiple Arcade Machine Emulator

alt debian game

This is a developer help page for the mame/mess package. See Mame and Mess for the user Readme.


Resources

Getting the packaging code

The development of the package is done on Alioth, inside the pkg-games group. To participate in the packaging work, create an account on alioth, and present yourself on the debian-devel-game mailing list (see Games/VCS)

Building a package

For Mame and Mess >= 0.144

Check out the code

#read only
git clone git://git.debian.org/git/pkg-games/mame.git 

#read write
git clone git+ssh://kdev-guest@git.debian.org/git/pkg-games/mame.git  

Replace here kdev-guest with your Alioth username.

Build a package

# get source code
cd mame
./debian/rules get-orig-source
mv *.xz ..

# get mame version
MAME_VERSION=$(dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)-.*/\1/p')
cd ..

# untar
ln -s  mame mame-${MAME_VERSION}
tar hxaf mame_${MAME_VERSION}.orig.tar.xz
cd mame-${MAME_VERSION}

# for an end user
dpkg-buildpackage -us -uc


# for a package maintainer (provided the cowbuilder setup was done according to
# https://wiki.debian.org/cowbuilder#Building_your_package_for_many_distributions_at_once
dpkg-buildpackage -S -uc -us
sudo DIST=sid ARCH=amd64 cowbuilder --update
sudo DIST=sid ARCH=amd64 cowbuilder --build ../mame_0.148-1.dsc
debsign /var/cache/pbuilder/sid-amd64/result/*.changes

Upgrade to new release

Increment changelog

dch --newversion 0.142-1 --distribution UNRELEASED "New upstream release"

Find new files

diff -qr mame-0.144/src mame-0.145/src | grep "Only in mame-0.144"
LANG=C; diff -qr mame-0.144/src mame-0.145/src | grep "Only in mame-0.145"

Building updated releases

Intermediate releases are marked with a letter "u" after the version number, followed by an ascending number (usually between 1 and 4) and are distributed as additional patches only. This means that you have to apply all subsequent patches in order, e.g. patch for 0.147u3 won't apply to 0.147 source tree, you must apply the patches for u1 and u2 first.

Download proper file(s) from http://mamedev.org/updates.html and apply them (note the --binary options, it correctly handles DOS-like line endings)

patch --binary -p0 -E <diffname.diff

done

Current status is:  manu@leonard:~$ ldd /usr/games/mame | wc -l 59  for mame-tools jumped down from 59 to 22

make[2]: *** [obj/sdl/mame/libocore.a] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc: error trying to exec 'x86_64-linux-gnu-gcc-4.4': execvp: No such file or directory
gcc: error trying to exec 'x86_64-linux-gnu-gcc-4.4': execvp: No such file or directory

fixed in http://git.debian.org/?p=pkg-games/mame.git;a=commitdiff;h=4a75e1a9ddf15eba63353b99d06c316eb9635735