mirror of
git://projects.qi-hardware.com/openwrt-packages.git
synced 2024-11-26 03:06:15 +02:00
alpy: add support for loading jpeg and png files
This commit is contained in:
parent
186242d171
commit
74e63f2bd2
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=alpy
|
PKG_NAME:=alpy
|
||||||
PKG_VERSION:=0.1.5
|
PKG_VERSION:=0.1.5
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
PKG_SOURCE:=Alpy-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=Alpy-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=@SF/project/pyallegro/alpy/alpy-$(PKG_VERSION)
|
PKG_SOURCE_URL:=@SF/project/pyallegro/alpy/alpy-$(PKG_VERSION)
|
||||||
PKG_MD5SUM:=862925d97931fc81d1e4c3b9159fe2b1
|
PKG_MD5SUM:=862925d97931fc81d1e4c3b9159fe2b1
|
||||||
@ -24,7 +24,8 @@ define Package/alpy/Default
|
|||||||
CATEGORY:=Languages
|
CATEGORY:=Languages
|
||||||
TITLE:=Alpy (Allegro bindings for Python)
|
TITLE:=Alpy (Allegro bindings for Python)
|
||||||
URL:=https://sourceforge.net/projects/forth-alpy/
|
URL:=https://sourceforge.net/projects/forth-alpy/
|
||||||
DEPENDS:=+python-mini +liballegro
|
DEPENDS:=+python-mini +liballegro +liballegro-png +liballegro-jpeg
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/alpy/Default/description
|
define Package/alpy/Default/description
|
||||||
@ -69,7 +70,15 @@ endef
|
|||||||
# $(PKG_BUILD_DIR)/setup.py build
|
# $(PKG_BUILD_DIR)/setup.py build
|
||||||
# endef
|
# endef
|
||||||
|
|
||||||
TARGET_LDFLAGS += -lm -lpthread -ldl -lrt -lalleg
|
# Note: this linking command will not work correctly when jpgalleg or loadpng
|
||||||
|
# are linked statically (Note how we patched allegro to make sure these are
|
||||||
|
# always compiled as dynamic libraries). The problem probably is, that
|
||||||
|
# Build/Compile adds these linking options to early in the command line, and
|
||||||
|
# static libraries won't resolve symbols of objects added later on.
|
||||||
|
#
|
||||||
|
# You won't even see a compiler error; the resulting _alpy.so would be going
|
||||||
|
# to segfault due to an unresolved (0-pointer) symbol.
|
||||||
|
TARGET_LDFLAGS += -ljpgalleg -lloadpng -lalleg -lpng -lz -lm -lpthread -ldl -lrt
|
||||||
|
|
||||||
define Build/Install
|
define Build/Install
|
||||||
$(call Build/Compile/PyMod,, \
|
$(call Build/Compile/PyMod,, \
|
||||||
|
37
alpy/patches/030-png-jpeg-addons.patch
Normal file
37
alpy/patches/030-png-jpeg-addons.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
Index: Alpy-0.1.5/_alpymodule.c
|
||||||
|
===================================================================
|
||||||
|
--- Alpy-0.1.5.orig/_alpymodule.c 2012-03-31 01:15:51.052570081 +0200
|
||||||
|
+++ Alpy-0.1.5/_alpymodule.c 2012-03-31 01:20:50.874079951 +0200
|
||||||
|
@@ -27,6 +27,8 @@
|
||||||
|
|
||||||
|
#include "Python.h"
|
||||||
|
#include "allegro.h"
|
||||||
|
+#include "loadpng.h"
|
||||||
|
+#include "jpgalleg.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <dlfcn.h>
|
||||||
|
@@ -253,6 +255,10 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
result = install_allegro(alpy_system, &errno, atexit);
|
||||||
|
+ if (result == 0)
|
||||||
|
+ result = loadpng_init();
|
||||||
|
+ if (result == 0)
|
||||||
|
+ result = jpgalleg_init();
|
||||||
|
|
||||||
|
return PyInt_FromLong(result);
|
||||||
|
}
|
||||||
|
@@ -2599,6 +2605,12 @@
|
||||||
|
else if(strcmp(type, "lbm")==0) {
|
||||||
|
bmp = Bitmap_Object_from_BITMAP(load_lbm(filename, PAL(pal)));
|
||||||
|
}
|
||||||
|
+ else if(strcmp(type, "png")==0) {
|
||||||
|
+ bmp = Bitmap_Object_from_BITMAP(load_png(filename, PAL(pal)));
|
||||||
|
+ }
|
||||||
|
+ else if(strcmp(type, "jpg")==0 || strcmp(type, "jpeg")==0) {
|
||||||
|
+ bmp = Bitmap_Object_from_BITMAP(load_jpg(filename, PAL(pal)));
|
||||||
|
+ }
|
||||||
|
else {
|
||||||
|
PyMem_Free(filename);
|
||||||
|
PyErr_SetString(AllegroError, "unknown image type");
|
Loading…
Reference in New Issue
Block a user