mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
PyGame: bump
This commit is contained in:
committed by
waddlesplash
parent
c7c26bc339
commit
6ad0859f31
@@ -1,378 +0,0 @@
|
||||
From 266fb5c31a3a4a9ac69b04778c4c84b2072e994f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 6 Aug 2017 17:59:18 +0200
|
||||
Subject: [PATCH] Haiku patches
|
||||
|
||||
---
|
||||
Setup.in | 6 +-
|
||||
config.py | 4 +
|
||||
config_haiku.py | 221 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
pygame.egg-info/SOURCES.txt | 6 +-
|
||||
setup.py | 18 +---
|
||||
src/pgcompat.h | 4 +-
|
||||
src/transform.c | 2 +-
|
||||
7 files changed, 232 insertions(+), 29 deletions(-)
|
||||
create mode 100644 config_haiku.py
|
||||
|
||||
diff --git a/Setup.in b/Setup.in
|
||||
index 38bb83e..3db8346 100644
|
||||
--- a/Setup.in
|
||||
+++ b/Setup.in
|
||||
@@ -29,8 +29,8 @@ imageext src/imageext.c $(SDL) $(IMAGE) $(PNG) $(JPEG) $(DEBUG)
|
||||
font src/font.c $(SDL) $(FONT) $(DEBUG)
|
||||
mixer src/mixer.c $(SDL) $(MIXER) $(DEBUG)
|
||||
mixer_music src/music.c $(SDL) $(MIXER) $(DEBUG)
|
||||
-scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
|
||||
-pypm src/pypm.c $(SDL) $(PORTMIDI) $(PORTTIME) $(DEBUG)
|
||||
+#scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
|
||||
+#pypm src/pypm.c $(SDL) $(PORTMIDI) $(PORTTIME) $(DEBUG)
|
||||
|
||||
GFX = src/SDL_gfx/SDL_gfxPrimitives.c
|
||||
#GFX = src/SDL_gfx/SDL_gfxBlitFunc.c src/SDL_gfx/SDL_gfxPrimitives.c
|
||||
@@ -61,7 +61,7 @@ joystick src/joystick.c $(SDL) $(DEBUG)
|
||||
draw src/draw.c $(SDL) $(DEBUG)
|
||||
image src/image.c $(SDL) $(DEBUG)
|
||||
overlay src/overlay.c $(SDL) $(DEBUG)
|
||||
-transform src/transform.c src/rotozoom.c src/scale2x.c src/scale_mmx.c $(SDL) $(DEBUG) -D_NO_MMX_FOR_X86_64
|
||||
+transform src/transform.c src/rotozoom.c src/scale2x.c $(SDL) $(DEBUG) -D_NO_MMX_FOR_X86_64
|
||||
mask src/mask.c src/bitmask.c $(SDL) $(DEBUG)
|
||||
bufferproxy src/bufferproxy.c $(SDL) $(DEBUG)
|
||||
pixelarray src/pixelarray.c $(SDL) $(DEBUG)
|
||||
diff --git a/config.py b/config.py
|
||||
index 8418946..8ea4de9 100644
|
||||
--- a/config.py
|
||||
+++ b/config.py
|
||||
@@ -142,12 +142,16 @@ def main():
|
||||
elif sys.platform == 'win32':
|
||||
print_('Using WINDOWS mingw/msys configuration...\n')
|
||||
import config_msys as CFG
|
||||
+ elif sys.platform == 'haiku1' or sys.platform == 'haiku1_x86':
|
||||
+ print_('Using Haiku configuration...\n')
|
||||
+ import config_haiku as CFG
|
||||
elif sys.platform == 'darwin':
|
||||
print_('Using Darwin configuration...\n')
|
||||
import config_darwin as CFG
|
||||
additional_platform_setup = open("Setup_Darwin.in", "r").readlines()
|
||||
else:
|
||||
print_('Using UNIX configuration...\n')
|
||||
+ print_(sys.platform)
|
||||
import config_unix as CFG
|
||||
additional_platform_setup = open("Setup_Unix.in", "r").readlines()
|
||||
|
||||
diff --git a/config_haiku.py b/config_haiku.py
|
||||
new file mode 100644
|
||||
index 0000000..8c4dd8e
|
||||
--- /dev/null
|
||||
+++ b/config_haiku.py
|
||||
@@ -0,0 +1,221 @@
|
||||
+"""Config on Haiku"""
|
||||
+
|
||||
+import os, sys
|
||||
+from glob import glob
|
||||
+from distutils.sysconfig import get_python_inc
|
||||
+
|
||||
+# Python 2.x/3.x compatibility
|
||||
+try:
|
||||
+ raw_input
|
||||
+except NameError:
|
||||
+ raw_input = input
|
||||
+
|
||||
+configcommand = os.environ.get('SDL_CONFIG', 'sdl-config',)
|
||||
+configcommand = configcommand + ' --version --cflags --libs'
|
||||
+localbase = os.environ.get('LOCALBASE', '')
|
||||
+
|
||||
+#these get prefixes with '/usr' and '/usr/local' or the $LOCALBASE
|
||||
+origincdirs = ['/develop/headers', '/develop/headers/SDL', '/develop/headers/x86/SDL']
|
||||
+origlibdirs = ['/develop/lib','/develop/lib/x86']
|
||||
+if 'ORIGLIBDIRS' in os.environ and os.environ['ORIGLIBDIRS'] != "":
|
||||
+ origlibdirs = os.environ['ORIGLIBDIRS'].split(":")
|
||||
+
|
||||
+
|
||||
+def confirm(message):
|
||||
+ "ask a yes/no question, return result"
|
||||
+ if not sys.stdout.isatty():
|
||||
+ return False
|
||||
+ reply = raw_input('\n' + message + ' [Y/n]:')
|
||||
+ if reply and (reply[0].lower()) == 'n':
|
||||
+ return False
|
||||
+ return True
|
||||
+
|
||||
+class DependencyProg:
|
||||
+ def __init__(self, name, envname, exename, minver, defaultlibs, version_flag="--version"):
|
||||
+ self.name = name
|
||||
+ command = os.environ.get(envname, exename)
|
||||
+ self.lib_dir = ''
|
||||
+ self.inc_dir = ''
|
||||
+ self.libs = []
|
||||
+ self.cflags = ''
|
||||
+ try:
|
||||
+ # freetype-config for freetype2 version 2.3.7 on Debian lenny
|
||||
+ # does not recognize multiple command line options. So execute
|
||||
+ # 'command' separately for each option.
|
||||
+ config = (os.popen(command + ' ' + version_flag).readlines() +
|
||||
+ os.popen(command + ' --cflags').readlines() +
|
||||
+ os.popen(command + ' --libs').readlines())
|
||||
+ flags = ' '.join(config[1:]).split()
|
||||
+
|
||||
+ # remove this GNU_SOURCE if there... since python has it already,
|
||||
+ # it causes a warning.
|
||||
+ if '-D_GNU_SOURCE=1' in flags:
|
||||
+ flags.remove('-D_GNU_SOURCE=1')
|
||||
+ self.ver = config[0].strip()
|
||||
+ if minver and self.ver < minver:
|
||||
+ err= 'WARNING: requires %s version %s (%s found)' % (self.name, self.ver, minver)
|
||||
+ raise ValueError(err)
|
||||
+ self.found = 1
|
||||
+ self.cflags = ''
|
||||
+ for f in flags:
|
||||
+ if f[:2] in ('-l', '-D', '-I', '-L'):
|
||||
+ self.cflags += f + ' '
|
||||
+ elif f[:3] == '-Wl':
|
||||
+ self.cflags += f + ' '
|
||||
+ if self.name == 'SDL':
|
||||
+ inc = '-I' + '/boot/system/develop/headers/SDL'
|
||||
+ self.cflags = inc + ' ' + self.cflags
|
||||
+ except:
|
||||
+ print ('WARNING: "%s" failed!' % command)
|
||||
+ self.found = 0
|
||||
+ self.ver = '0'
|
||||
+ self.libs = defaultlibs
|
||||
+
|
||||
+ def configure(self, incdirs, libdir):
|
||||
+ if self.found:
|
||||
+ print (self.name + ' '[len(self.name):] + ': found ' + self.ver)
|
||||
+ self.found = 1
|
||||
+ else:
|
||||
+ print (self.name + ' '[len(self.name):] + ': not found')
|
||||
+
|
||||
+class Dependency:
|
||||
+ def __init__(self, name, checkhead, checklib, libs):
|
||||
+ self.name = name
|
||||
+ self.inc_dir = None
|
||||
+ self.lib_dir = None
|
||||
+ self.libs = libs
|
||||
+ self.found = 0
|
||||
+ self.checklib = checklib
|
||||
+ self.checkhead = checkhead
|
||||
+ self.cflags = ''
|
||||
+
|
||||
+ def configure(self, incdirs, libdirs):
|
||||
+ incname = self.checkhead
|
||||
+ libnames = self.checklib, self.name.lower()
|
||||
+
|
||||
+ if incname:
|
||||
+ for dir in incdirs:
|
||||
+ path = os.path.join(dir, incname)
|
||||
+ if os.path.isfile(path):
|
||||
+ self.inc_dir = dir
|
||||
+
|
||||
+ for dir in libdirs:
|
||||
+ for name in libnames:
|
||||
+ path = os.path.join(dir, name)
|
||||
+ if filter(os.path.isfile, glob(path+'*')):
|
||||
+ self.lib_dir = dir
|
||||
+
|
||||
+ if (incname and self.lib_dir and self.inc_dir) or (not incname and self.lib_dir):
|
||||
+ print (self.name + ' '[len(self.name):] + ': found')
|
||||
+ self.found = 1
|
||||
+ else:
|
||||
+ print (self.name + ' '[len(self.name):] + ': not found')
|
||||
+
|
||||
+
|
||||
+class DependencyPython:
|
||||
+ def __init__(self, name, module, header):
|
||||
+ self.name = name
|
||||
+ self.lib_dir = ''
|
||||
+ self.inc_dir = ''
|
||||
+ self.libs = []
|
||||
+ self.cflags = ''
|
||||
+ self.found = 0
|
||||
+ self.ver = '0'
|
||||
+ self.module = module
|
||||
+ self.header = header
|
||||
+
|
||||
+ def configure(self, incdirs, libdirs):
|
||||
+ self.found = 1
|
||||
+ if self.module:
|
||||
+ try:
|
||||
+ self.ver = __import__(self.module).__version__
|
||||
+ except ImportError:
|
||||
+ self.found = 0
|
||||
+ if self.found and self.header:
|
||||
+ fullpath = os.path.join(get_python_inc(0), self.header)
|
||||
+ if not os.path.isfile(fullpath):
|
||||
+ self.found = 0
|
||||
+ else:
|
||||
+ self.inc_dir = os.path.split(fullpath)[0]
|
||||
+ if self.found:
|
||||
+ print (self.name + ' '[len(self.name):] + ': found', self.ver)
|
||||
+ else:
|
||||
+ print (self.name + ' '[len(self.name):] + ': not found')
|
||||
+
|
||||
+sdl_lib_name = 'SDL'
|
||||
+
|
||||
+def main():
|
||||
+ print ('\nHunting dependencies...')
|
||||
+
|
||||
+ def get_porttime_dep():
|
||||
+ """ returns the porttime Dependency
|
||||
+
|
||||
+ On some distributions, such as Fedora, porttime is compiled into portmidi.
|
||||
+ On others, such as Debian, it is a separate library.
|
||||
+ """
|
||||
+ portmidi_as_porttime = True
|
||||
+
|
||||
+ if 'PORTMIDI_INC_PORTTIME' in os.environ:
|
||||
+ inc_porttime = os.environ.get('PORTMIDI_INC_PORTTIME')
|
||||
+ portmidi_as_porttime = True if inc_porttime in ['1', 'True'] else False
|
||||
+ else:
|
||||
+ if os.path.exists('/etc/redhat-release'):
|
||||
+ portmidi_as_porttime = True
|
||||
+ else:
|
||||
+ portmidi_as_porttime = False
|
||||
+
|
||||
+ if portmidi_as_porttime:
|
||||
+ return Dependency('PORTTIME', 'porttime.h', 'libportmidi.so', ['portmidi'])
|
||||
+ else:
|
||||
+ return Dependency('PORTTIME', 'porttime.h', 'libporttime.so', ['porttime'])
|
||||
+
|
||||
+ porttime_dep = get_porttime_dep()
|
||||
+
|
||||
+ DEPS = [
|
||||
+ DependencyProg('SDL', 'SDL_CONFIG', 'sdl-config', '1.2', ['sdl']),
|
||||
+ Dependency('FONT', 'SDL_ttf.h', 'libSDL_ttf.so', ['SDL_ttf']),
|
||||
+ Dependency('IMAGE', 'SDL_image.h', 'libSDL_image.so', ['SDL_image']),
|
||||
+ Dependency('MIXER', 'SDL_mixer.h', 'libSDL_mixer.so', ['SDL_mixer']),
|
||||
+ Dependency('PNG', 'png.h', 'libpng', ['png']),
|
||||
+ Dependency('JPEG', 'jpeglib.h', 'libjpeg', ['jpeg']),
|
||||
+ Dependency('SCRAP', '', 'libX11', ['X11']),
|
||||
+ Dependency('PORTMIDI', 'portmidi.h', 'libportmidi.so', ['portmidi']),
|
||||
+ porttime_dep,
|
||||
+ DependencyProg('FREETYPE', 'FREETYPE_CONFIG', 'freetype-config', '2.0',
|
||||
+ ['freetype'], '--ftversion'),
|
||||
+ #Dependency('GFX', 'SDL_gfxPrimitives.h', 'libSDL_gfx.so', ['SDL_gfx']),
|
||||
+ ]
|
||||
+ if not DEPS[0].found:
|
||||
+ sys.exit('Unable to run "sdl-config". Please make sure a development version of SDL is installed.')
|
||||
+
|
||||
+ incdirs = []
|
||||
+ libdirs = []
|
||||
+ incdirs += ["/system"+d for d in origincdirs]
|
||||
+ libdirs += ["/system"+d for d in origlibdirs]
|
||||
+ if localbase:
|
||||
+ incdirs = [localbase+d for d in origincdirs]
|
||||
+ libdirs = [localbase+d for d in origlibdirs]
|
||||
+
|
||||
+ for arg in DEPS[0].cflags.split():
|
||||
+ if arg[:2] == '-I':
|
||||
+ incdirs.append(arg[2:])
|
||||
+ elif arg[:2] == '-L':
|
||||
+ libdirs.append(arg[2:])
|
||||
+ for d in DEPS:
|
||||
+ d.configure(incdirs, libdirs)
|
||||
+
|
||||
+ for d in DEPS[1:]:
|
||||
+ if not d.found:
|
||||
+ if "-auto" not in sys.argv and not confirm("""
|
||||
+Warning, some of the pygame dependencies were not found. Pygame can still
|
||||
+compile and install, but games that depend on those missing dependencies
|
||||
+will not run. Would you like to continue the configuration?"""):
|
||||
+ raise SystemExit("Missing dependencies")
|
||||
+ break
|
||||
+
|
||||
+ return DEPS
|
||||
+
|
||||
+if __name__ == '__main__':
|
||||
+ print ("""This is the configuration subscript for Unix.
|
||||
+Please run "config.py" for full configuration.""")
|
||||
+
|
||||
diff --git a/pygame.egg-info/SOURCES.txt b/pygame.egg-info/SOURCES.txt
|
||||
index c54a93a..1b9d208 100644
|
||||
--- a/pygame.egg-info/SOURCES.txt
|
||||
+++ b/pygame.egg-info/SOURCES.txt
|
||||
@@ -308,11 +308,7 @@ src/pypm.pyx
|
||||
src/rect.c
|
||||
src/rotozoom.c
|
||||
src/rwobject.c
|
||||
-src/scale.h
|
||||
src/scale2x.c
|
||||
-src/scale_mmx.c
|
||||
-src/scale_mmx32.c
|
||||
-src/scale_mmx64.c
|
||||
src/scale_mmx64_gcc.c
|
||||
src/scale_mmx64_msvc.c
|
||||
src/scrap.c
|
||||
@@ -537,4 +533,4 @@ test/util/build_page/results/.htaccess
|
||||
test/util/build_page/results/index.py
|
||||
test/util/build_page/results/results.css
|
||||
test/util/build_page/upload_results/.htaccess
|
||||
-test/util/build_page/upload_results/index.py
|
||||
\ No newline at end of file
|
||||
+test/util/build_page/upload_results/index.py
|
||||
diff --git a/setup.py b/setup.py
|
||||
index e5cc8cf..499ae73 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -125,7 +125,7 @@ else:
|
||||
|
||||
#headers to install
|
||||
headers = glob.glob(os.path.join('src', '*.h'))
|
||||
-headers.remove(os.path.join('src', 'scale.h'))
|
||||
+#headers.remove(os.path.join('src', 'scale.h'))
|
||||
|
||||
# option for not installing the headers.
|
||||
if "-noheaders" in sys.argv:
|
||||
@@ -418,22 +418,6 @@ if sys.platform == 'win32':
|
||||
build_ext.run(self)
|
||||
cmdclass['build_ext'] = WinBuildExt
|
||||
|
||||
- # Add the precompiled smooth scale MMX functions to transform.
|
||||
- def replace_scale_mmx():
|
||||
- for e in extensions:
|
||||
- if e.name == 'transform':
|
||||
- if '64 bit' in sys.version:
|
||||
- e.extra_objects.append(
|
||||
- os.path.join('obj', 'win64', 'scale_mmx.obj'))
|
||||
- else:
|
||||
- e.extra_objects.append(
|
||||
- os.path.join('obj', 'win32', 'scale_mmx.obj'))
|
||||
- for i in range(len(e.sources)):
|
||||
- if e.sources[i].endswith('scale_mmx.c'):
|
||||
- del e.sources[i]
|
||||
- return
|
||||
- replace_scale_mmx()
|
||||
-
|
||||
|
||||
#clean up the list of extensions
|
||||
for e in extensions[:]:
|
||||
diff --git a/src/pgcompat.h b/src/pgcompat.h
|
||||
index bd18431..324130f 100644
|
||||
--- a/src/pgcompat.h
|
||||
+++ b/src/pgcompat.h
|
||||
@@ -81,9 +81,7 @@
|
||||
#define DECREF_MOD(mod)
|
||||
|
||||
/* Type header differs. */
|
||||
-#define TYPE_HEAD(x,y) \
|
||||
- PyObject_HEAD_INIT(x) \
|
||||
- 0,
|
||||
+#define TYPE_HEAD(x,y) PyObject_HEAD_INIT(x) 0,
|
||||
|
||||
/* Text interface. Use ascii strings. */
|
||||
#define Text_Type PyString_Type
|
||||
diff --git a/src/transform.c b/src/transform.c
|
||||
index 4fb2fd9..56025b9 100644
|
||||
--- a/src/transform.c
|
||||
+++ b/src/transform.c
|
||||
@@ -29,7 +29,7 @@
|
||||
#include "doc/transform_doc.h"
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
-#include "scale.h"
|
||||
+//#include "scale.h"
|
||||
|
||||
|
||||
typedef void (* SMOOTHSCALE_FILTER_P)(Uint8 *, Uint8 *, int, int, int, int, int);
|
||||
--
|
||||
2.13.1
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
SUMMARY="A popular game development module for python"
|
||||
DESCRIPTION="PyGame - python bindings to sdl and other libs that facilitate \
|
||||
game production."
|
||||
HOMEPAGE="http://www.pygame.org/"
|
||||
COPYRIGHT="2000-2004, 2007 Pete Shinners
|
||||
2004 Takafumi Mizuno
|
||||
2006-2007 Rene Dudfield
|
||||
2007 Richard Goedeken
|
||||
2007-2008 Marcus von Appen"
|
||||
LICENSE="GNU LGPL v2.1"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://pypi.python.org/packages/61/06/3c25051549c252cc6fde01c8aeae90b96831370884504fe428a623316def/pygame-1.9.3.tar.gz#md5=ac744ea6952b68d5f2b6d02a6d8e836c"
|
||||
CHECKSUM_SHA256="751021819bdc0cbe5cbd51904abb6ff9e9aee5b0e8955af02284d0e77d6c9ec2"
|
||||
SOURCE_DIR="pygame-$portVersion"
|
||||
PATCHES="pygame-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="?x86 ?x86_gcc2 x86_64"
|
||||
|
||||
PROVIDES="
|
||||
pygame = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
cmd:python2
|
||||
lib:libjpeg
|
||||
lib:libpng16
|
||||
lib:libsdl
|
||||
lib:libsdl_gfx
|
||||
lib:libsdl_image
|
||||
lib:libsdl_mixer
|
||||
lib:libsdl_ttf
|
||||
lib:libsmpeg_0.4
|
||||
"
|
||||
# portmidi ^
|
||||
# portmap |
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku_devel
|
||||
setuptools_python
|
||||
devel:libjpeg
|
||||
devel:libpng16
|
||||
devel:libsdl
|
||||
devel:libsdl_gfx
|
||||
devel:libsdl_image
|
||||
devel:libsdl_mixer
|
||||
devel:libsdl_ttf
|
||||
devel:libsmpeg_0.4
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:python2
|
||||
cmd:gcc
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# don't build without features
|
||||
echo "y" | $portPackageLinksDir/cmd~python2/bin/python2 setup.py build || exit 1
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
# GENERIC: all python_setuptools-based installs need this
|
||||
python=$portPackageLinksDir/cmd~python2/bin/python2
|
||||
pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3)
|
||||
installLocation=$prefix/lib/python$pythonVersion/vendor-packages/
|
||||
export PYTHONPATH=$installLocation:$PYTHONPATH
|
||||
mkdir -p $installLocation
|
||||
|
||||
echo "y" | $portPackageLinksDir/cmd~python2/bin/python2 setup.py \
|
||||
build install --prefix $prefix || exit 1
|
||||
}
|
||||
Reference in New Issue
Block a user