PIL/pillow: replace discontinued python-imglib (PIL) with pillow
Signed-off-by: Gergely Kiss <mail.gery@gmail.com>
This commit is contained in:
parent
973556f292
commit
fd9d063e94
6 changed files with 234 additions and 132 deletions
53
lang/pillow/Makefile
Normal file
53
lang/pillow/Makefile
Normal file
|
@ -0,0 +1,53 @@
|
|||
#
|
||||
# Copyright © 1997-2011 by Secret Labs AB
|
||||
# Copyright © 1995-2011 by Fredrik Lundh
|
||||
# Copyright © 2016 by Alex Clark and contributors
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=pillow
|
||||
PKG_VERSION:=3.2.0
|
||||
PKG_RELEASE=1
|
||||
PKG_LICENSE:=CUSTOM
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/python-pillow/Pillow.git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_VERSION:=344cb709ed0111adcc6ad47cc007507c3f5efeb3
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_BUILD_DEPENDS:=python python-setuptools
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
$(call include_mk, python-package.mk)
|
||||
|
||||
define Package/pillow
|
||||
SUBMENU:=Python
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=The friendly PIL fork
|
||||
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
|
||||
URL:=https://www.pillowproject.com/
|
||||
DEPENDS:=+python +libfreetype +libjpeg +zlib +libtiff
|
||||
endef
|
||||
|
||||
define Package/pillow/description
|
||||
The friendly PIL fork
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
|
||||
endef
|
||||
|
||||
define Package/pillow/install
|
||||
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
|
||||
$(1)$(PYTHON_PKG_DIR)/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
|
||||
$(CP) $(PKG_BUILD_DIR)/LICENSE $(1)$(PYTHON_PKG_DIR)/PIL/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,pillow))
|
180
lang/pillow/patches/010-fix-paths.patch
Normal file
180
lang/pillow/patches/010-fix-paths.patch
Normal file
|
@ -0,0 +1,180 @@
|
|||
diff -rupN Pillow-3.2.0.orig/setup.py Pillow-3.2.0/setup.py
|
||||
--- Pillow-3.2.0.orig/setup.py 2016-04-01 14:17:23.000000000 +0200
|
||||
+++ Pillow-3.2.0/setup.py 2016-04-28 23:24:08.633969175 +0200
|
||||
@@ -90,11 +90,11 @@ except (ImportError, OSError):
|
||||
NAME = 'Pillow'
|
||||
PILLOW_VERSION = '3.2.0'
|
||||
TCL_ROOT = None
|
||||
-JPEG_ROOT = None
|
||||
+JPEG_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
|
||||
JPEG2K_ROOT = None
|
||||
-ZLIB_ROOT = None
|
||||
-TIFF_ROOT = None
|
||||
-FREETYPE_ROOT = None
|
||||
+ZLIB_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
|
||||
+TIFF_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
|
||||
+FREETYPE_ROOT = _lib_include(os.environ['STAGING_DIR'] + "/usr")
|
||||
LCMS_ROOT = None
|
||||
|
||||
|
||||
@@ -187,129 +187,6 @@ class pil_build_ext(build_ext):
|
||||
_add_directory(library_dirs, os.path.join(prefix, "lib"))
|
||||
_add_directory(include_dirs, os.path.join(prefix, "include"))
|
||||
|
||||
- #
|
||||
- # add platform directories
|
||||
-
|
||||
- if sys.platform == "cygwin":
|
||||
- # pythonX.Y.dll.a is in the /usr/lib/pythonX.Y/config directory
|
||||
- _add_directory(library_dirs,
|
||||
- os.path.join("/usr/lib", "python%s" %
|
||||
- sys.version[:3], "config"))
|
||||
-
|
||||
- elif sys.platform == "darwin":
|
||||
- # attempt to make sure we pick freetype2 over other versions
|
||||
- _add_directory(include_dirs, "/sw/include/freetype2")
|
||||
- _add_directory(include_dirs, "/sw/lib/freetype2/include")
|
||||
- # fink installation directories
|
||||
- _add_directory(library_dirs, "/sw/lib")
|
||||
- _add_directory(include_dirs, "/sw/include")
|
||||
- # darwin ports installation directories
|
||||
- _add_directory(library_dirs, "/opt/local/lib")
|
||||
- _add_directory(include_dirs, "/opt/local/include")
|
||||
-
|
||||
- # if Homebrew is installed, use its lib and include directories
|
||||
- import subprocess
|
||||
- try:
|
||||
- prefix = subprocess.check_output(['brew', '--prefix']).strip(
|
||||
- ).decode('latin1')
|
||||
- except:
|
||||
- # Homebrew not installed
|
||||
- prefix = None
|
||||
-
|
||||
- ft_prefix = None
|
||||
-
|
||||
- if prefix:
|
||||
- # add Homebrew's include and lib directories
|
||||
- _add_directory(library_dirs, os.path.join(prefix, 'lib'))
|
||||
- _add_directory(include_dirs, os.path.join(prefix, 'include'))
|
||||
- ft_prefix = os.path.join(prefix, 'opt', 'freetype')
|
||||
-
|
||||
- if ft_prefix and os.path.isdir(ft_prefix):
|
||||
- # freetype might not be linked into Homebrew's prefix
|
||||
- _add_directory(library_dirs, os.path.join(ft_prefix, 'lib'))
|
||||
- _add_directory(include_dirs,
|
||||
- os.path.join(ft_prefix, 'include'))
|
||||
- else:
|
||||
- # fall back to freetype from XQuartz if
|
||||
- # Homebrew's freetype is missing
|
||||
- _add_directory(library_dirs, "/usr/X11/lib")
|
||||
- _add_directory(include_dirs, "/usr/X11/include")
|
||||
-
|
||||
- elif sys.platform.startswith("linux"):
|
||||
- arch_tp = (plat.processor(), plat.architecture()[0])
|
||||
- if arch_tp == ("x86_64", "32bit"):
|
||||
- # 32-bit build on 64-bit machine.
|
||||
- _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
|
||||
- else:
|
||||
- for platform_ in arch_tp:
|
||||
-
|
||||
- if not platform_:
|
||||
- continue
|
||||
-
|
||||
- if platform_ in ["x86_64", "64bit"]:
|
||||
- _add_directory(library_dirs, "/lib64")
|
||||
- _add_directory(library_dirs, "/usr/lib64")
|
||||
- _add_directory(library_dirs,
|
||||
- "/usr/lib/x86_64-linux-gnu")
|
||||
- break
|
||||
- elif platform_ in ["i386", "i686", "32bit"]:
|
||||
- _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
|
||||
- break
|
||||
- elif platform_ in ["aarch64"]:
|
||||
- _add_directory(library_dirs, "/usr/lib64")
|
||||
- _add_directory(library_dirs,
|
||||
- "/usr/lib/aarch64-linux-gnu")
|
||||
- break
|
||||
- elif platform_ in ["arm", "armv7l"]:
|
||||
- _add_directory(library_dirs,
|
||||
- "/usr/lib/arm-linux-gnueabi")
|
||||
- break
|
||||
- elif platform_ in ["ppc64"]:
|
||||
- _add_directory(library_dirs, "/usr/lib64")
|
||||
- _add_directory(library_dirs,
|
||||
- "/usr/lib/ppc64-linux-gnu")
|
||||
- _add_directory(library_dirs,
|
||||
- "/usr/lib/powerpc64-linux-gnu")
|
||||
- break
|
||||
- elif platform_ in ["ppc"]:
|
||||
- _add_directory(library_dirs, "/usr/lib/ppc-linux-gnu")
|
||||
- _add_directory(library_dirs,
|
||||
- "/usr/lib/powerpc-linux-gnu")
|
||||
- break
|
||||
- elif platform_ in ["s390x"]:
|
||||
- _add_directory(library_dirs, "/usr/lib64")
|
||||
- _add_directory(library_dirs,
|
||||
- "/usr/lib/s390x-linux-gnu")
|
||||
- break
|
||||
- elif platform_ in ["s390"]:
|
||||
- _add_directory(library_dirs, "/usr/lib/s390-linux-gnu")
|
||||
- break
|
||||
- else:
|
||||
- raise ValueError(
|
||||
- "Unable to identify Linux platform: `%s`" % platform_)
|
||||
-
|
||||
- # XXX Kludge. Above /\ we brute force support multiarch. Here we
|
||||
- # try Barry's more general approach. Afterward, something should
|
||||
- # work ;-)
|
||||
- self.add_multiarch_paths()
|
||||
-
|
||||
- elif sys.platform.startswith("gnu"):
|
||||
- self.add_multiarch_paths()
|
||||
-
|
||||
- elif sys.platform.startswith("freebsd"):
|
||||
- _add_directory(library_dirs, "/usr/local/lib")
|
||||
- _add_directory(include_dirs, "/usr/local/include")
|
||||
-
|
||||
- elif sys.platform.startswith("netbsd"):
|
||||
- _add_directory(library_dirs, "/usr/pkg/lib")
|
||||
- _add_directory(include_dirs, "/usr/pkg/include")
|
||||
-
|
||||
- elif sys.platform.startswith("sunos5"):
|
||||
- _add_directory(library_dirs, "/opt/local/lib")
|
||||
- _add_directory(include_dirs, "/opt/local/include")
|
||||
-
|
||||
- # FIXME: check /opt/stuff directories here?
|
||||
-
|
||||
# locate tkinter libraries
|
||||
|
||||
if _tkinter:
|
||||
@@ -343,21 +220,6 @@ class pil_build_ext(build_ext):
|
||||
else:
|
||||
TCL_ROOT = None
|
||||
|
||||
- # add standard directories
|
||||
-
|
||||
- # look for tcl specific subdirectory (e.g debian)
|
||||
- if _tkinter:
|
||||
- tcl_dir = "/usr/include/tcl" + TCL_VERSION
|
||||
- if os.path.isfile(os.path.join(tcl_dir, "tk.h")):
|
||||
- _add_directory(include_dirs, tcl_dir)
|
||||
-
|
||||
- # standard locations
|
||||
- _add_directory(library_dirs, "/usr/local/lib")
|
||||
- _add_directory(include_dirs, "/usr/local/include")
|
||||
-
|
||||
- _add_directory(library_dirs, "/usr/lib")
|
||||
- _add_directory(include_dirs, "/usr/include")
|
||||
-
|
||||
# on Windows, look for the OpenJPEG libraries in the location that
|
||||
# the official installer puts them
|
||||
if sys.platform == "win32":
|
||||
@@ -449,7 +311,7 @@ class pil_build_ext(build_ext):
|
||||
# look for freetype2 include files
|
||||
freetype_version = 0
|
||||
for dir in self.compiler.include_dirs:
|
||||
- if os.path.isfile(os.path.join(dir, "ft2build.h")):
|
||||
+ if os.path.isfile(os.path.join(dir, "freetype2/ft2build.h")):
|
||||
freetype_version = 21
|
||||
dir = os.path.join(dir, "freetype2")
|
||||
break
|
|
@ -1,62 +0,0 @@
|
|||
#
|
||||
# Copyright (c) 1997-2009 by Secret Labs AB
|
||||
# Copyright (c) 1995-2009 by Fredrik Lundh
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=python-imglib
|
||||
PKG_VERSION:=1.1.7
|
||||
PKG_RELEASE:=1
|
||||
PKG_LICENSE:=CUSTOM
|
||||
PKG_LICENSE_FILES:=README
|
||||
|
||||
PKG_SOURCE:=Imaging-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://effbot.org/downloads
|
||||
PKG_MD5SUM:=fc14a54e1ce02a0225be8854bfba478e
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/Imaging-$(PKG_VERSION)
|
||||
PKG_BUILD_DEPENDS:=python python-setuptools
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
$(call include_mk, python-package.mk)
|
||||
|
||||
define Package/python-imglib
|
||||
SECTION:=language-python
|
||||
CATEGORY:=Languages
|
||||
SUBMENU:=Python
|
||||
TITLE:=Python Imaging Library (PIL)
|
||||
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
|
||||
URL:=http://www.pythonware.com/products/pil/
|
||||
DEPENDS:=+python +libfreetype +libjpeg +zlib
|
||||
endef
|
||||
|
||||
define Package/python-imglib/description
|
||||
The Python Imaging Library adds image processing capabilities to your
|
||||
Python interpreter.
|
||||
|
||||
This library provides extensive file format support, an efficient
|
||||
internal representation, and fairly powerful image processing
|
||||
capabilities.
|
||||
|
||||
The core image library is designed for fast access to data stored in a
|
||||
few basic pixel formats. It should provide a solid foundation for a
|
||||
general image processing tool.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/PyMod,., \
|
||||
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \
|
||||
)
|
||||
endef
|
||||
|
||||
define Package/python-imglib/install
|
||||
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
|
||||
$(1)$(PYTHON_PKG_DIR)/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,python-imglib))
|
|
@ -1,48 +0,0 @@
|
|||
diff -rupN Imaging-1.1.7.orig/setup.py Imaging-1.1.7/setup.py
|
||||
--- Imaging-1.1.7.orig/setup.py 2009-11-15 17:06:10.000000000 +0100
|
||||
+++ Imaging-1.1.7/setup.py 2014-12-11 01:01:10.857100877 +0100
|
||||
@@ -34,10 +34,10 @@ def libinclude(root):
|
||||
# TIFF_ROOT = libinclude("/opt/tiff")
|
||||
|
||||
TCL_ROOT = None
|
||||
-JPEG_ROOT = None
|
||||
-ZLIB_ROOT = None
|
||||
+JPEG_ROOT = os.environ['STAGING_DIR'] + "/usr/lib", os.environ['STAGING_DIR'] + "/usr/include"
|
||||
+ZLIB_ROOT = os.environ['STAGING_DIR'] + "/usr/lib", os.environ['STAGING_DIR'] + "/usr/include"
|
||||
TIFF_ROOT = None
|
||||
-FREETYPE_ROOT = None
|
||||
+FREETYPE_ROOT = os.environ['STAGING_DIR'] + "/usr/lib", os.environ['STAGING_DIR'] + "/usr/include"
|
||||
LCMS_ROOT = None
|
||||
|
||||
# FIXME: add mechanism to explicitly *disable* the use of a library
|
||||
@@ -147,7 +147,6 @@ class pil_build_ext(build_ext):
|
||||
add_directory(library_dirs, "/opt/local/lib")
|
||||
add_directory(include_dirs, "/opt/local/include")
|
||||
|
||||
- add_directory(library_dirs, "/usr/local/lib")
|
||||
# FIXME: check /opt/stuff directories here?
|
||||
|
||||
prefix = sysconfig.get_config_var("prefix")
|
||||
@@ -199,22 +198,6 @@ class pil_build_ext(build_ext):
|
||||
add_directory(include_dirs, include_root)
|
||||
|
||||
#
|
||||
- # add standard directories
|
||||
-
|
||||
- # look for tcl specific subdirectory (e.g debian)
|
||||
- if _tkinter:
|
||||
- tcl_dir = "/usr/include/tcl" + TCL_VERSION
|
||||
- if os.path.isfile(os.path.join(tcl_dir, "tk.h")):
|
||||
- add_directory(include_dirs, tcl_dir)
|
||||
-
|
||||
- # standard locations
|
||||
- add_directory(library_dirs, "/usr/local/lib")
|
||||
- add_directory(include_dirs, "/usr/local/include")
|
||||
-
|
||||
- add_directory(library_dirs, "/usr/lib")
|
||||
- add_directory(include_dirs, "/usr/include")
|
||||
-
|
||||
- #
|
||||
# insert new dirs *before* default libs, to avoid conflicts
|
||||
# between Python PYD stub libs and real libraries
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
diff -rupN Imaging-1.1.7.orig/_imagingft.c Imaging-1.1.7/_imagingft.c
|
||||
--- Imaging-1.1.7.orig/_imagingft.c 2009-11-01 01:44:12.000000000 +0100
|
||||
+++ Imaging-1.1.7/_imagingft.c 2014-12-11 01:05:21.290135484 +0100
|
||||
@@ -32,7 +32,7 @@
|
||||
#include FT_FREETYPE_H
|
||||
#else
|
||||
/* freetype 2.0 */
|
||||
-#include <freetype/freetype.h>
|
||||
+#include <freetype2/freetype.h>
|
||||
#endif
|
||||
|
||||
#if PY_VERSION_HEX < 0x01060000
|
||||
@@ -70,7 +70,7 @@ struct {
|
||||
const char* message;
|
||||
} ft_errors[] =
|
||||
|
||||
-#include <freetype/fterrors.h>
|
||||
+#include <freetype2/fterrors.h>
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* font objects */
|
|
@ -27,7 +27,7 @@ define Package/seafile-seahub
|
|||
TITLE:=Seafile server - seahub component
|
||||
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
|
||||
URL:=http://seafile.com/
|
||||
DEPENDS:=+python +simplejson +python-imglib +python-setuptools
|
||||
DEPENDS:=+python +simplejson +pillow +python-setuptools
|
||||
endef
|
||||
|
||||
define Package/seafile-seahub/description
|
||||
|
|
Loading…
Reference in a new issue