Friday, August 31, 2018

Re: rm ports marked as BROKEN for years?

So here's an updated diff that's been tried and tested.
I placed a comment in both the Makefile and the DESCR so that both users
and future ports maintainers see that it might not work on every system.

OK?

martijn@

Index: Makefile
===================================================================
RCS file: /cvs/ports/games/fretsonfire/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- Makefile 29 Sep 2015 10:52:12 -0000 1.15
+++ Makefile 31 Aug 2018 08:37:30 -0000
@@ -1,6 +1,7 @@
# $OpenBSD: Makefile,v 1.15 2015/09/29 10:52:12 sthen Exp $

-BROKEN = fails at runtime "python2.7 in free(): error: modified chunk-pointer 0x..."
+# This port is known to generate errors on (some) radeon cards.
+# Intel cards appear to work fine.

V = 1.3.110
COMMENT = guitar hero clone
Index: patches/patch-src_Texture_py
===================================================================
RCS file: /cvs/ports/games/fretsonfire/patches/patch-src_Texture_py,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_Texture_py
--- patches/patch-src_Texture_py 6 Apr 2014 21:10:25 -0000 1.1
+++ patches/patch-src_Texture_py 31 Aug 2018 08:37:30 -0000
@@ -1,6 +1,7 @@
$OpenBSD: patch-src_Texture_py,v 1.1 2014/04/06 21:10:25 sthen Exp $
---- src/Texture.py.orig Sun Apr 6 18:28:33 2014
-+++ src/Texture.py Sun Apr 6 18:29:48 2014
+Index: src/Texture.py
+--- src/Texture.py.orig
++++ src/Texture.py
@@ -24,10 +24,10 @@ from __future__ import division

import Log
@@ -14,3 +15,41 @@ $OpenBSD: patch-src_Texture_py,v 1.1 201
from OpenGL.GL import *
from OpenGL.GLU import *
from Queue import Queue, Empty
+@@ -210,13 +210,13 @@ class Texture:
+ """Load the texture from a PIL image"""
+ image = image.transpose(Image.FLIP_TOP_BOTTOM)
+ if image.mode == "RGBA":
+- string = image.tostring('raw', 'RGBA', 0, -1)
++ string = image.tobytes('raw', 'RGBA', 0, -1)
+ self.loadRaw(image.size, string, GL_RGBA, 4)
+ elif image.mode == "RGB":
+- string = image.tostring('raw', 'RGB', 0, -1)
++ string = image.tobytes('raw', 'RGB', 0, -1)
+ self.loadRaw(image.size, string, GL_RGB, 3)
+ elif image.mode == "L":
+- string = image.tostring('raw', 'L', 0, -1)
++ string = image.tobytes('raw', 'L', 0, -1)
+ self.loadRaw(image.size, string, GL_LUMINANCE, 1)
+ else:
+ raise TextureException("Unsupported image mode '%s'" % image.mode)
+@@ -254,16 +254,16 @@ class Texture:
+ if monochrome:
+ # pygame doesn't support monochrome, so the fastest way
+ # appears to be using PIL to do the conversion.
+- string = pygame.image.tostring(surface, "RGB")
++ string = pygame.image.tobytes(surface, "RGB")
+ image = Image.fromstring("RGB", surface.get_size(), string).convert("L")
+- string = image.tostring('raw', 'L', 0, -1)
++ string = image.tobytes('raw', 'L', 0, -1)
+ self.loadRaw(surface.get_size(), string, GL_LUMINANCE, GL_INTENSITY8)
+ else:
+ if alphaChannel:
+- string = pygame.image.tostring(surface, "RGBA", True)
++ string = pygame.image.tobytes(surface, "RGBA", True)
+ self.loadRaw(surface.get_size(), string, GL_RGBA, 4)
+ else:
+- string = pygame.image.tostring(surface, "RGB", True)
++ string = pygame.image.tobytes(surface, "RGB", True)
+ self.loadRaw(surface.get_size(), string, GL_RGB, 3)
+ self.size = (w / w2, h / h2)
+
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/games/fretsonfire/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 16 Oct 2009 23:11:38 -0000 1.1.1.1
+++ pkg/DESCR 31 Aug 2018 08:37:30 -0000
@@ -10,3 +10,5 @@ Features
* Supports importing Guitar Hero I and Guitar Hero II songs
* Multiplatform; runs on Windows, Linux, Mac OS X, OpenBSD and FreeBSD
* Open source, full Python source code available
+
+This game is known to crash on some (mostly radeon) graphics card.

No comments:

Post a Comment