summaryrefslogtreecommitdiff
path: root/games/mame
diff options
context:
space:
mode:
Diffstat (limited to 'games/mame')
-rw-r--r--games/mame/complay.py152
-rw-r--r--games/mame/mame.SlackBuild61
-rw-r--r--games/mame/mame.info6
3 files changed, 30 insertions, 189 deletions
diff --git a/games/mame/complay.py b/games/mame/complay.py
deleted file mode 100644
index 4eecaa9735..0000000000
--- a/games/mame/complay.py
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/python
-##
-## license:BSD-3-Clause
-## copyright-holders:Vas Crabb
-
-import os
-import sys
-import xml.sax
-import xml.sax.saxutils
-import zlib
-
-
-class ErrorHandler(object):
- def __init__(self, **kwargs):
- super(ErrorHandler, self).__init__(**kwargs)
- self.errors = 0
- self.warnings = 0
-
- def error(self, exception):
- self.errors += 1
- sys.stderr.write('error: %s' % (exception))
-
- def fatalError(self, exception):
- raise exception
-
- def warning(self, exception):
- self.warnings += 1
- sys.stderr.write('warning: %s' % (exception))
-
-
-class Minifyer(object):
- def __init__(self, output, **kwargs):
- super(Minifyer, self).__init__(**kwargs)
-
- self.output = output
- self.incomplete_tag = False
- self.element_content = ''
-
- def setDocumentLocator(self, locator):
- pass
-
- def startDocument(self):
- self.output('<?xml version="1.0"?>')
-
- def endDocument(self):
- self.output('\n')
-
- def startElement(self, name, attrs):
- self.flushElementContent()
- if self.incomplete_tag:
- self.output('>')
- self.output('<%s' % (name))
- for name in attrs.getNames():
- self.output(' %s=%s' % (name, xml.sax.saxutils.quoteattr(attrs[name])))
- self.incomplete_tag = True
-
- def endElement(self, name):
- self.flushElementContent()
- if self.incomplete_tag:
- self.output('/>')
- else:
- self.output('</%s>' % (name))
- self.incomplete_tag = False
-
- def characters(self, content):
- self.element_content += content
-
- def ignorableWhitespace(self, whitespace):
- pass
-
- def processingInstruction(self, target, data):
- pass
-
- def flushElementContent(self):
- self.element_content = self.element_content.strip()
- if self.element_content:
- if self.incomplete_tag:
- self.output('>')
- self.incomplete_tag = False
- self.output(xml.sax.saxutils.escape(self.element_content))
- self.element_content = ''
-
-
-class XmlError(Exception):
- pass
-
-
-def compressLayout(src, dst, comp):
- state = [0, 0]
- def write(block):
- for ch in bytearray(block):
- if 0 == state[0]:
- dst('\t')
- elif 0 == (state[0] % 32):
- dst(',\n\t')
- else:
- dst(', ')
- state[0] += 1
- dst('%3u' % (ch))
-
- def output(text):
- block = text.encode('UTF-8')
- state[1] += len(block)
- write(comp.compress(block))
-
- error_handler = ErrorHandler()
- content_handler = Minifyer(output)
- parser = xml.sax.make_parser()
- parser.setErrorHandler(error_handler)
- parser.setContentHandler(content_handler)
- try:
- parser.parse(src)
- write(comp.flush())
- dst('\n')
- except xml.sax.SAXException as exception:
- print('fatal error: %s' % (exception))
- raise XmlError('Fatal error parsing XML')
- if (error_handler.errors > 0) or (error_handler.warnings > 0):
- raise XmlError('Error(s) and/or warning(s) parsing XML')
-
- return state[1], state[0]
-
-
-if __name__ == '__main__':
- if len(sys.argv) != 4:
- print('Usage:')
- print(' complay <source.lay> <output.h> <varname>')
- sys.exit(0 if len(sys.argv) <= 1 else 1)
-
- srcfile = sys.argv[1]
- dstfile = sys.argv[2]
- varname = sys.argv[3]
-
- comp_type = 1
- try:
- dst = open(dstfile,'w')
- dst.write('static const unsigned char %s_data[] = {\n' % (varname))
- byte_count, comp_size = compressLayout(srcfile, lambda x: dst.write(x), zlib.compressobj())
- dst.write('};\n\n')
- dst.write('const internal_layout %s = {\n' % (varname))
- dst.write('\t%d, sizeof(%s_data), %d, %s_data\n' % (byte_count, varname, comp_type, varname))
- dst.write('};\n')
- dst.close()
- except XmlError:
- dst.close()
- os.remove(dstfile)
- sys.exit(2)
- except IOError:
- sys.stderr.write("Unable to open output file '%s'\n" % dstfile)
- os.remove(dstfile)
- dst.close()
- sys.exit(3)
diff --git a/games/mame/mame.SlackBuild b/games/mame/mame.SlackBuild
index fce5d18287..06c45326ef 100644
--- a/games/mame/mame.SlackBuild
+++ b/games/mame/mame.SlackBuild
@@ -9,45 +9,40 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-# 20170726 bkw:
-# - Updated for v0.188.
-
-# 20170702 bkw:
-# - Updated for v0.187.
-
-# 20170607 bkw:
-# - Updated for v0.186.
+# 20170902 bkw: Updated for v0.189.
+# - Fix complay.py build error. Turns out that the build would fail
+# only on systems where PyXML is installed, so add -S to python
+# command line so 'import xml.sax' imports the xml stuff that ships
+# with core python, instead of the (outdated, deprecated) 3rd-party
+# stuff from PyXML.
+# - Stop installing useless junk in /usr/doc.
+# - Install swlist docs.
+# - Compacted log entries.
+
+# 20170726 bkw: Updated for v0.188.
+# 20170702 bkw: Updated for v0.187.
+
+# 20170607 bkw: Updated for v0.186.
# - Link with ld.gold instead of the default ld, which saves *2 hours* of
# build time on my test box (build is 3x as fast as it was).
-# 20170428 bkw:
-# - Updated for v0.185.
+# 20170428 bkw: Updated for v0.185.
# 20170404 bkw:
# - mame.ini: get rid of $HOME in bgfx_path. Thanks to Doogster for
# reporting this.
-# 20170330 bkw:
-# - Updated for v0.184.
+# 20170330 bkw: Updated for v0.184.
# 20170301 bkw:
# - Use long-form github URL.
# - Fix changelog so newer entries are at the top.
-# 20170223 bkw:
-# - Updated for v0.183.
-
-# 20170214 bkw:
-# - Add support for GroovyMAME patch.
-
-# 20170128 bkw:
-# - Updated for v0.182.
-
-# 20170111 bkw:
-# - Updated for v0.181. Missed a month again.
-
-# 20161101 bkw:
-# - Updated for v0.179.
+# 20170223 bkw: Updated for v0.183.
+# 20170214 bkw: Add support for GroovyMAME patch.
+# 20170128 bkw: Updated for v0.182.
+# 20170111 bkw: Updated for v0.181. Missed a month again.
+# 20161101 bkw: Updated for v0.179.
# 20160928 bkw:
# - Updated for v0.178. Sorry, missed a month.
@@ -85,7 +80,7 @@
# - Update .ini file slightly (sound=sdl, not sound=1)
PRGNAM=mame
-VERSION=${VERSION:-0.188}
+VERSION=${VERSION:-0.189}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -149,13 +144,6 @@ find -L . \
# genie with arguments based on the options in the main makefile. Also,
# it uses python to convert XML layout files to C++ code.
-# complay.py is the layout compressor. Layouts are XML, complay
-# compresses them and also seems to generate C code. The script got
-# updated between mame 0.187 and 0.188, and the new version doesn't
-# work. I don't know enough about Python to fix this in a timely
-# manner, so for now I'll just use the old version of the script.
-cp $CWD/complay.py scripts/build/complay.py
-
# Where possible, use system libraries instead of building the ones
# bundled with the mame source. However, SBo's lua is (still!) too old
# for mame.
@@ -229,6 +217,7 @@ make USE_QTDEBUG=$QTOPT \
USE_SYSTEM_LIB_ZLIB=1 \
USE_SYSTEM_LIB_JPEG=1 \
USE_SYSTEM_LIB_FLAC=1 \
+ PYTHON_EXECUTABLE="/usr/bin/python -S" \
OPT_FLAGS="$SLKCFLAGS" \
LDOPTS="-fuse-ld=gold" \
OVERRIDE_CC="$( which gcc )" \
@@ -277,9 +266,13 @@ done
# Install the artwork and bgfx stuff (needed for 'video bgfx' in mame.ini).
cp -a artwork bgfx $PKG/usr/share/games/$PRGNAM
+# CONTRIBUTING.md is a 1-byte placeholder, and we don't need a shell script.
+rm -f docs/CONTRIBUTING.md docs/update.sh
+
mkdir -p $PKG/usr/doc/${PRGNAM}-$VERSION
# can't just "cp docs/* ..." because man/ is a dir, set -e kills the script
cp docs/L* docs/*.* $PKG/usr/doc/${PRGNAM}-$VERSION
+cp -a docs/swlist $PKG/usr/doc/${PRGNAM}-$VERSION
cat $CWD/${PRGNAM}.SlackBuild > $PKG/usr/doc/${PRGNAM}-$VERSION/${PRGNAM}.SlackBuild
mkdir -p $PKG/install
diff --git a/games/mame/mame.info b/games/mame/mame.info
index fb7a2407b7..41204a0764 100644
--- a/games/mame/mame.info
+++ b/games/mame/mame.info
@@ -1,8 +1,8 @@
PRGNAM="mame"
-VERSION="0.188"
+VERSION="0.189"
HOMEPAGE="http://mamedev.org/"
-DOWNLOAD="https://github.com/mamedev/mame/archive/mame0188/mame-mame0188.tar.gz"
-MD5SUM="d0811c2cfe39bf8b622c35b4012c8392"
+DOWNLOAD="https://github.com/mamedev/mame/archive/mame0189/mame-mame0189.tar.gz"
+MD5SUM="71900d03a8ee97b5573e7e704d0ffde3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="SDL2_ttf"