Hello community, here is the log from the commit of package nml for openSUSE:Factory checked in at 2015-11-17 14:22:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nml (Old) and /work/SRC/openSUSE:Factory/.nml.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "nml" Changes: -------- --- /work/SRC/openSUSE:Factory/nml/nml.changes 2015-06-08 08:30:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.nml.new/nml.changes 2015-11-17 14:22:49.000000000 +0100 @@ -1,0 +2,13 @@ +Sun Nov 15 12:58:04 UTC 2015 - opensuse@dstoecker.de + +- update tp 0.4.2 +- add fix for new Pillow (nml-0.4.2-pillow.diff) taken from pyglet + issue 677 + +------------------------------------------------------------------- +Fri Oct 23 13:24:12 UTC 2015 - lnussel@suse.de + +- lift requirement on python3-devel and add nml-python341.diff to + fix build on Leap + +------------------------------------------------------------------- Old: ---- nml-0.4.1.tar.gz New: ---- nml-0.4.2-pillow.diff nml-0.4.2.tar.gz nml-python341.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nml.spec ++++++ --- /var/tmp/diff_new_pack.3FDu3t/_old 2015-11-17 14:22:50.000000000 +0100 +++ /var/tmp/diff_new_pack.3FDu3t/_new 2015-11-17 14:22:50.000000000 +0100 @@ -17,7 +17,7 @@ Name: nml -Version: 0.4.1 +Version: 0.4.2 Release: 0 Summary: NewGRF Meta Language License: GPL-2.0+ @@ -25,9 +25,12 @@ Url: http://dev.openttdcoop.org/projects/nml Source: http://bundles.openttdcoop.org/nml/releases/%{version}/%{name}-%{version}.tar.gz Source99: nml-rpmlintrc +# PATCH-FIX-OPENSUSE nml-python341.diff lnussel@suse.de -- fix build for Leap https://dev.openttdcoop.org/issues/7637 +Patch0: nml-python341.diff +# PATCH-FIX-OPENSUSE nml-0.4.2-pillow.diff -- fix build for new Pillow instead of PIL +Patch1: nml-0.4.2-pillow.diff BuildRequires: gcc -# https://dev.openttdcoop.org/issues/7637 -BuildRequires: python3-devel > 3.4.1 +BuildRequires: python3-devel # We need the required packages also on building for regression tests: BuildRequires: python3-Pillow BuildRequires: python3-ply @@ -43,6 +46,8 @@ %prep %setup -q -n %{name}-%{version} +%patch0 -p1 +%patch1 -p1 %build make ++++++ nml-0.4.2-pillow.diff ++++++ diff -ur nml-0.4.2/nml/spriteencoder.py nml-0.4.2_fix/nml/spriteencoder.py --- nml-0.4.2/nml/spriteencoder.py 2015-09-12 20:46:39.000000000 +0200 +++ nml-0.4.2_fix/nml/spriteencoder.py 2015-11-15 14:09:46.774656565 +0100 @@ -276,7 +276,10 @@ pos = generic.build_position(sprite_info.poslist) raise generic.ScriptError("Read beyond bounds of image file '{}'".format(filename_32bpp.value), pos) sprite = im.crop((x, y, x + size_x, y + size_y)) - rgb_sprite_data = sprite.tostring() + # tostring is deprecated, replaced by tobytes in Pillow (PIL fork) + # (1.1.7) PIL still uses it + sprite_data_fn = getattr(sprite, "tobytes", getattr(sprite, "tostring")) + rgb_sprite_data = sprite_data_fn() if (info_byte & INFO_ALPHA) != 0: # Check for half-transparent pixels (not valid for ground sprites) @@ -296,7 +299,10 @@ raise generic.ScriptError("Read beyond bounds of image file '{}'".format(filename_8bpp.value), pos) mask_sprite = mask_im.crop((mask_x, mask_y, mask_x + size_x, mask_y + size_y)) - mask_sprite_data = self.palconvert(mask_sprite.tostring(), im_mask_pal) + # tostring is deprecated, replaced by tobytes in Pillow (PIL fork) + # (1.1.7) PIL still uses it + mask_sprite_data_fn = getattr(mask_sprite, "tobytes", getattr(mask_sprite, "tostring")) + mask_sprite_data = self.palconvert(mask_sprite_data_fn(), im_mask_pal) # Check for white pixels; those that cause "artefacts" when shading pixel_stats['white'] = sum(p == 255 for p in mask_sprite_data) ++++++ nml-0.4.1.tar.gz -> nml-0.4.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/MANIFEST.in new/nml-0.4.2/MANIFEST.in --- old/nml-0.4.1/MANIFEST.in 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/MANIFEST.in 2015-09-12 20:46:39.000000000 +0200 @@ -1,11 +1,22 @@ global-exclude ._* + +# Include documentation recursive-include docs *.html *.txt nmlc.1 nml.spec + +# Include regression tests recursive-include regression *.nml *.lng *.grf *.nfo *.png *.pcx -recursive-include examples *.nml *.lng *.png -recursive-include nml *.py *.c +include regression/Makefile +include regression/beef.wav +# But do not include files generated by regression tests prune regression/output prune regression/output2 prune regression/nml_output -include Makefile bootstrap.py nmlc buildout.cfg -include regression/Makefile -include regression/beef.wav + +# Include (some) examples +recursive-include examples *.nml *.lng *.png + +# include nml itself, including c-modules +recursive-include nml *.py *.c + +# Include build files and main script file +include Makefile nmlc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/PKG-INFO new/nml-0.4.2/PKG-INFO --- old/nml-0.4.1/PKG-INFO 2015-04-12 22:21:29.000000000 +0200 +++ new/nml-0.4.2/PKG-INFO 2015-09-12 20:47:24.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: nml -Version: 0.4.1 +Version: 0.4.2 Summary: A tool to compile nml files to grf or nfo files Home-page: http://dev.openttdcoop.org/projects/nml Author: NML Development Team diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/docs/changelog.txt new/nml-0.4.2/docs/changelog.txt --- old/nml-0.4.1/docs/changelog.txt 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/docs/changelog.txt 2015-09-12 20:46:39.000000000 +0200 @@ -1,3 +1,16 @@ +0.4.2 (2015-09-13) +------------------------------------------------------------------------ +-Add: New industry type limits of OpenTTD 1.6 +-Fix: [CF] Build the version which is asked to be built instead of tip +-Fix: Mark the cython acceleration module as optional. +-Fix #7641: Sort gender and case translation tables deterministically (matthijs) +-Fix #7640: Use dashes, not hyphens in manpage (matthijs) +-Fix: getbits +-Fix #7336: Action 6 offset was off by one for VA2 ranges when using a list of expressions in a switch. +-Fix #7185: Incorrect Action6 offsets for Production Action2. +-Doc: Be more verbose about MANIFEST.in and remove bootstrap from manifest as well + + 0.4.1 (2015-04-12) ------------------------------------------------------------------------ - Change: Try to improve packaging by applying some in-built automatisms via find_package() (oberhumer) (issue #7540) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/docs/nmlc.1 new/nml-0.4.2/docs/nmlc.1 --- old/nml-0.4.1/docs/nmlc.1 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/docs/nmlc.1 2015-09-12 20:46:39.000000000 +0200 @@ -15,57 +15,57 @@ Save real sprites uncompressed to GRF files. This saves a lot of time during encoding but it's not recommended when creating a file for distribution since it makes the output file substantially bigger. -.It Fl -grf Ns = Ns Ar file +.It Fl \-grf Ns = Ns Ar file Write output in GRF format to <file>. -.It Fl -nfo Ns = Ns Ar file +.It Fl \-nfo Ns = Ns Ar file Write output in NFO format to <file>. -.It Fl -nml Ns = Ns Ar file +.It Fl \-nml Ns = Ns Ar file Write output in NML format to <file>. -.It Fl -output Ns = Ns Ar file | Fl o Ar file +.It Fl \-output Ns = Ns Ar file | Fl o Ar file Write output to <file>. The output type is detected from the extension of the filename. It must be one of nfo, nml or grf. -.It Fl -md5 Ns = Ns Ar file +.It Fl \-md5 Ns = Ns Ar file Write an md5sum of the resulting grf to <file>. -.It Fl -debug | Fl d +.It Fl \-debug | Fl d Print a dump of the AST to stdout. -.It Fl -version +.It Fl \-version Print programme's version number and exit. -.It Fl -help | Fl h +.It Fl \-help | Fl h Print usage information. -.It Fl -stack | Fl s +.It Fl \-stack | Fl s Dump stack when an error occurs. .It Fl M -Output a rule suitable for make describing the graphics dependencies of the main grf file (requires input file or --grf) -.It Fl -MF Ns = Ns Ar file -When used with -M, specifies a file to write the dependencies to -.It Fl -MT Ns = Ns Ar file -Target of the rule emitted by dependency generation (requires -M) -.It Fl -custom-tags Ns = Ns Ar file | Fl t Ar file +Output a rule suitable for make describing the graphics dependencies of the main grf file (requires input file or \-\-grf) +.It Fl \-MF Ns = Ns Ar file +When used with \-M, specifies a file to write the dependencies to +.It Fl \-MT Ns = Ns Ar file +Target of the rule emitted by dependency generation (requires \-M) +.It Fl \-custom\-tags Ns = Ns Ar file | Fl t Ar file Load custom tags from <file> [default: custom_tags.txt]. -.It Fl -lang-dir Ns = Ns Ar dir | Fl l Ar dir +.It Fl \-lang-dir Ns = Ns Ar dir | Fl l Ar dir Load language files from directory <dir> [default: lang]. -.It Fl -default-lang Ns = Ns Ar file +.It Fl \-default\-lang Ns = Ns Ar file The default language is stored in <file> [default: english.lng]. -.It Fl -sprites-dir Ns = Ns Ar dir | Fl a Ar dir +.It Fl \-sprites\-dir Ns = Ns Ar dir | Fl a Ar dir Store 32bpp sprites in directory <dir> [default: sprites]. -.It Fl -start-sprite Ns = Ns Ar num +.It Fl \-start\-sprite Ns = Ns Ar num Set the first sprite number to write (do not use except when you output nfo that you want to include in other files). -.It Fl -palette Ns = Ns Ar palette | Fl p Ar palette +.It Fl \-palette Ns = Ns Ar palette | Fl p Ar palette Force nml to use the palette <pal> [default: ANY]. Valid values are 'DOS', 'WIN', 'ANY'. -.It Fl -quiet +.It Fl \-quiet Disable all warnings. Errors will be printed normally. -.It Fl -cache-dir Ns = Ns Ar dir +.It Fl \-cache\-dir Ns = Ns Ar dir Cache files are stored in directory <dir> [default: .nmlcache]. -.It Fl -clear-orphaned +.It Fl \-clear\-orphaned Remove unused / orphaned items from cache files. -.It Fl -verbosity Ns = Ns Ar level +.It Fl \-verbosity Ns = Ns Ar level Set the verbosity level for informational output [default: 3, max: 4]. .El .Sh SEE ALSO The language reference at -.Pa http://newgrf-specs.tt-wiki.net/wiki/NML:Main +.Pa http://newgrf\-specs.tt\-wiki.net/wiki/NML:Main .Sh AUTHOR NML was written by Albert Hofkamp, Christoph Elsenhans, Jasper Reichardt, Ingo von Borstel, José Soler and Thijs Marinussen. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/docs/readme.txt new/nml-0.4.2/docs/readme.txt --- old/nml-0.4.1/docs/readme.txt 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/docs/readme.txt 2015-09-12 20:46:39.000000000 +0200 @@ -1,6 +1,6 @@ NML readme -Last updated: 2015-02-17 -Release version: 0.4.0 +Last updated: 2015-09-12 +Release version: 0.4.2 ------------------------------------------------------------------------ @@ -130,11 +130,11 @@ Albert Hofkamp (Alberth) Christoph Elsenhans (frosch) Ingo von Borstel (planetmaker) - José Soler (Terkhen) Remko Bijker (Rubidium) Inactive developers: Jasper Reichardt (Hirundo) + José Soler (Terkhen) Thijs Marinussen (Yexo) Special thanks to: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/nml/__version__.py new/nml-0.4.2/nml/__version__.py --- old/nml-0.4.1/nml/__version__.py 2015-04-12 22:21:29.000000000 +0200 +++ new/nml-0.4.2/nml/__version__.py 2015-09-12 20:47:24.000000000 +0200 @@ -1,2 +1,2 @@ # this file is autogenerated by setup.py -version = "0.4.1" +version = "0.4.2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/nml/actions/action0.py new/nml-0.4.2/nml/actions/action0.py --- old/nml-0.4.1/nml/actions/action0.py 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/nml/actions/action0.py 2015-09-12 20:46:39.000000000 +0200 @@ -196,7 +196,7 @@ BlockAllocation( 0, 255, "House"), BlockAllocation( 0, -1, "Global", False), BlockAllocation( 0, 255, "Industry Tile"), - BlockAllocation( 0, 63, "Industry"), + BlockAllocation( 0, 127, "Industry"), BlockAllocation( 0, 31, "Cargo"), BlockAllocation( 0, -1, "Sound"), BlockAllocation( 0, 127, "Airport"), @@ -869,6 +869,8 @@ if name in extra_names: for extra_name in extra_names[name]: self.mappings.append( (idx, extra_name) ) + # Sort to keep the output deterministic + self.mappings.sort() def write(self, file): file.print_bytex(self.num) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/nml/actions/action2production.py new/nml-0.4.2/nml/actions/action2production.py --- old/nml-0.4.1/nml/actions/action2production.py 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/nml/actions/action2production.py 2015-09-12 20:46:39.000000000 +0200 @@ -75,7 +75,7 @@ varact2parser = action2var.Varaction2Parser(0x0A) if all(x.supported_by_actionD(False) for x in produce.param_list): version = 0 - offset = 1 + offset = 4 for i, param in enumerate(produce.param_list): result, offset = actionD.write_action_value(param, action_list, act6, offset, 2 if i < 5 else 1) result_list.append(result.value) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/nml/actions/action2var.py new/nml-0.4.2/nml/actions/action2var.py --- old/nml-0.4.1/nml/actions/action2var.py 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/nml/actions/action2var.py 2015-09-12 20:46:39.000000000 +0200 @@ -566,7 +566,9 @@ self.parse(expr2) self.var_list.append(nmlop.VAL2) self.var_list_size += 1 + # Drop the trailing VAL2 again self.var_list.pop() + self.var_list_size -= 1 else: self.parse(expr) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/nml/expression/functioncall.py new/nml-0.4.2/nml/expression/functioncall.py --- old/nml-0.4.1/nml/expression/functioncall.py 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/nml/expression/functioncall.py 2015-09-12 20:46:39.000000000 +0200 @@ -259,9 +259,9 @@ raise generic.ScriptError(name + "() must have exactly three parameters", pos) # getbits(value, first, amount) = (value >> first) & ((0xFFFFFFFF << amount) ^ 0xFFFFFFFF) - part1 = expression.BinOp(nmlop.SHIFTU_RIGHT, args[0], args[1], pos) - part2 = expression.BinOp(nmlop.SHIFT_LEFT, expression.ConstantNumeric(0xFFFFFFFF), args[2], pos) - part3 = expression.BinOp(nmlop.XOR, part2, expression.ConstantNumeric(0xFFFFFFFF), pos) + part1 = BinOp(nmlop.SHIFTU_RIGHT, args[0], args[1], pos) + part2 = BinOp(nmlop.SHIFT_LEFT, ConstantNumeric(0xFFFFFFFF), args[2], pos) + part3 = BinOp(nmlop.XOR, part2, ConstantNumeric(0xFFFFFFFF), pos) return BinOp(nmlop.AND, part1, part3, pos) @@ -420,10 +420,10 @@ if type not in (0, 1): raise generic.ScriptError("First argument of industry_type() must be IND_TYPE_OLD or IND_TYPE_NEW", pos) - # Industry ID uses 6 bits (0 .. 5), so bit 6 is never used + # Industry ID uses 7 bits (0 .. 6), bit 7 is for old/new id = args[1].reduce_constant(global_constants.const_list).value - if not 0 <= id <= 63: - raise generic.ScriptError("Second argument 'id' of industry_type() must be in range 0..63", pos) + if not 0 <= id <= 127: + raise generic.ScriptError("Second argument 'id' of industry_type() must be in range 0..127", pos) return ConstantNumeric(type << 7 | id) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/nml/generic.py new/nml-0.4.2/nml/generic.py --- old/nml-0.4.1/nml/generic.py 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/nml/generic.py 2015-09-12 20:46:39.000000000 +0200 @@ -355,7 +355,7 @@ msg = " nmlc warning: " + msg - if sys.stderr.isatty(): + if (sys.stderr.isatty()) and (os.name == 'posix'): msg = "\033[33m" + msg + "\033[0m" hide_progress() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/nml.egg-info/PKG-INFO new/nml-0.4.2/nml.egg-info/PKG-INFO --- old/nml-0.4.1/nml.egg-info/PKG-INFO 2015-04-12 22:21:29.000000000 +0200 +++ new/nml-0.4.2/nml.egg-info/PKG-INFO 2015-09-12 20:47:24.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: nml -Version: 0.4.1 +Version: 0.4.2 Summary: A tool to compile nml files to grf or nfo files Home-page: http://dev.openttdcoop.org/projects/nml Author: NML Development Team diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.4.1/setup.py new/nml-0.4.2/setup.py --- old/nml-0.4.1/setup.py 2015-04-12 22:20:36.000000000 +0200 +++ new/nml-0.4.2/setup.py 2015-09-12 20:46:39.000000000 +0200 @@ -7,8 +7,6 @@ import sys, os, string, subprocess from setuptools import setup, Extension, find_packages -from PIL import Image -import ply version = sys.version_info if version[0] < 3 or (version[0] == 3 and version[1] < 2): @@ -42,5 +40,5 @@ entry_points={ 'console_scripts': ['nmlc = nml.main:run'] }, - ext_modules = [Extension("nml_lz77", ["nml/_lz77.c"])], + ext_modules = [Extension("nml_lz77", ["nml/_lz77.c"], optional=True)], ) ++++++ nml-python341.diff ++++++ diff -r -u nml-0.4.2/setup.py nml-0.4.2_fix/setup.py --- nml-0.4.2/setup.py 2015-09-12 20:46:39.000000000 +0200 +++ nml-0.4.2_fix/setup.py 2015-11-15 13:56:07.964054277 +0100 @@ -40,5 +40,6 @@ entry_points={ 'console_scripts': ['nmlc = nml.main:run'] }, - ext_modules = [Extension("nml_lz77", ["nml/_lz77.c"], optional=True)], + ext_modules = [Extension("nml_lz77", ["nml/_lz77.c"], optional=True, + extra_compile_args=["-Wno-error=declaration-after-statement"])], )