You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

181 lines
7.8 KiB

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