diff --git a/setup.py b/setup.py
|
|
index 15d81e4..ee6dba6 100755
|
|
--- a/setup.py
|
|
+++ b/setup.py
|
|
@@ -136,12 +136,12 @@ except (ImportError, OSError):
|
|
|
|
NAME = 'Pillow'
|
|
PILLOW_VERSION = get_version()
|
|
-JPEG_ROOT = None
|
|
+JPEG_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
|
|
JPEG2K_ROOT = None
|
|
-ZLIB_ROOT = None
|
|
+ZLIB_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
|
|
IMAGEQUANT_ROOT = None
|
|
-TIFF_ROOT = None
|
|
-FREETYPE_ROOT = None
|
|
+TIFF_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
|
|
+FREETYPE_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
|
|
LCMS_ROOT = None
|
|
|
|
|
|
@@ -289,159 +289,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 self.disable_platform_guessing:
|
|
- pass
|
|
-
|
|
- elif 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
|
|
- try:
|
|
- prefix = subprocess.check_output(['brew', '--prefix']).strip(
|
|
- ).decode('latin1')
|
|
- except Exception:
|
|
- # 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])
|
|
- # This should be correct on debian derivatives.
|
|
- if os.path.exists('/etc/debian_version'):
|
|
- # If this doesn't work, don't just silently patch
|
|
- # downstream because it's going to break when people
|
|
- # try to build pillow from source instead of
|
|
- # installing from the system packages.
|
|
- self.add_multiarch_paths()
|
|
-
|
|
- elif arch_tp == ("x86_64", "32bit"):
|
|
- # Special Case: 32-bit build on 64-bit machine.
|
|
- _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
|
|
- else:
|
|
- libdirs = {
|
|
- 'x86_64': ["/lib64", "/usr/lib64",
|
|
- "/usr/lib/x86_64-linux-gnu"],
|
|
- '64bit': ["/lib64", "/usr/lib64",
|
|
- "/usr/lib/x86_64-linux-gnu"],
|
|
- 'i386': ["/usr/lib/i386-linux-gnu"],
|
|
- 'i686': ["/usr/lib/i386-linux-gnu"],
|
|
- '32bit': ["/usr/lib/i386-linux-gnu"],
|
|
- 'aarch64': ["/usr/lib64", "/usr/lib/aarch64-linux-gnu"],
|
|
- 'arm': ["/usr/lib/arm-linux-gnueabi"],
|
|
- 'armv71': ["/usr/lib/arm-linux-gnueabi"],
|
|
- 'armv7l': ["/usr/lib"],
|
|
- 'ppc64': ["/usr/lib64", "/usr/lib/ppc64-linux-gnu",
|
|
- "/usr/lib/powerpc64-linux-gnu"],
|
|
- 'ppc64le': ["/usr/lib64"],
|
|
- 'ppc': ["/usr/lib/ppc-linux-gnu",
|
|
- "/usr/lib/powerpc-linux-gnu"],
|
|
- 's390x': ["/usr/lib64", "/usr/lib/s390x-linux-gnu"],
|
|
- 's390': ["/usr/lib/s390-linux-gnu"],
|
|
- }
|
|
-
|
|
- for platform_ in arch_tp:
|
|
- dirs = libdirs.get(platform_, None)
|
|
- if not dirs:
|
|
- continue
|
|
- for path in dirs:
|
|
- _add_directory(library_dirs, path)
|
|
- break
|
|
-
|
|
- else:
|
|
- raise ValueError(
|
|
- "Unable to identify Linux platform: `%s`" % platform_)
|
|
-
|
|
- # termux support for android.
|
|
- # system libraries (zlib) are installed in /system/lib
|
|
- # headers are at $PREFIX/include
|
|
- # user libs are at $PREFIX/lib
|
|
- if os.environ.get('ANDROID_ROOT', None):
|
|
- _add_directory(library_dirs,
|
|
- os.path.join(os.environ['ANDROID_ROOT'],
|
|
- 'lib'))
|
|
-
|
|
- 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?
|
|
-
|
|
- # standard locations
|
|
- if not self.disable_platform_guessing:
|
|
- _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")
|
|
- # alpine, at least
|
|
- _add_directory(library_dirs, "/lib")
|
|
-
|
|
- # on Windows, look for the OpenJPEG libraries in the location that
|
|
- # the official installer puts them
|
|
- if sys.platform == "win32":
|
|
- program_files = os.environ.get('ProgramFiles', '')
|
|
- best_version = (0, 0)
|
|
- best_path = None
|
|
- for name in os.listdir(program_files):
|
|
- if name.startswith('OpenJPEG '):
|
|
- version = tuple(int(x) for x in
|
|
- name[9:].strip().split('.'))
|
|
- if version > best_version:
|
|
- best_version = version
|
|
- best_path = os.path.join(program_files, name)
|
|
-
|
|
- if best_path:
|
|
- _dbg('Adding %s to search list', best_path)
|
|
- _add_directory(library_dirs, os.path.join(best_path, 'lib'))
|
|
- _add_directory(include_dirs,
|
|
- os.path.join(best_path, 'include'))
|
|
-
|
|
#
|
|
# insert new dirs *before* default libs, to avoid conflicts
|
|
# between Python PYD stub libs and real libraries
|