@@ -381,7 +381,7 @@ def cassowary(**kwargs):
381
381
def Pillow (** kwargs ):
382
382
setuptools (** kwargs )
383
383
build_env = {"MAX_CONCURRENCY" : "0" }
384
- install_from_pypi ("Pillow==6.2.0" , env = build_env , ** kwargs )
384
+ install_from_pypi ("Pillow==6.2.0" , build_cmd = [ "build_ext" , "--disable-jpeg" ], env = build_env , ** kwargs )
385
385
386
386
@pip_package ()
387
387
def matplotlib (** kwargs ):
@@ -449,7 +449,7 @@ def _download_with_curl_and_extract(dest_dir, url):
449
449
return bare_name
450
450
451
451
452
- def _install_from_url (url , package , extra_opts = [], add_cflags = "" , ignore_errors = False , env = {}, version = None , pre_install_hook = None ):
452
+ def _install_from_url (url , package , extra_opts = [], add_cflags = "" , ignore_errors = False , env = {}, version = None , pre_install_hook = None , build_cmd = [] ):
453
453
tempdir = tempfile .mkdtemp ()
454
454
455
455
os_env = os .environ
@@ -487,7 +487,7 @@ def _install_from_url(url, package, extra_opts=[], add_cflags="", ignore_errors=
487
487
user_arg = ["--user" ]
488
488
else :
489
489
user_arg = []
490
- status = run_cmd ([sys .executable , "setup.py" , "install" ] + user_arg + extra_opts , env = setup_env ,
490
+ status = run_cmd ([sys .executable , "setup.py" ] + build_cmd + [ "install" ] + user_arg + extra_opts , env = setup_env ,
491
491
cwd = os .path .join (tempdir , bare_name ))
492
492
if status != 0 and not ignore_errors :
493
493
xit ("An error occurred trying to run `setup.py install %s %s'" % (user_arg , " " .join (extra_opts )))
@@ -522,7 +522,7 @@ def read_first_existing(pkg_name, versions, dir, suffix):
522
522
523
523
# end of code duplicated in pip_hook.py
524
524
525
- def install_from_pypi (package , extra_opts = [], add_cflags = "" , ignore_errors = True , env = None , pre_install_hook = None ):
525
+ def install_from_pypi (package , extra_opts = [], add_cflags = "" , ignore_errors = True , env = None , pre_install_hook = None , build_cmd = [] ):
526
526
package_pattern = os .environ .get ("GINSTALL_PACKAGE_PATTERN" , "https://pypi.org/pypi/%s/json" )
527
527
package_version_pattern = os .environ .get ("GINSTALL_PACKAGE_VERSION_PATTERN" , "https://pypi.org/pypi/%s/%s/json" )
528
528
@@ -567,7 +567,8 @@ def set_if_exists(env_var, conf_var):
567
567
568
568
if url :
569
569
_install_from_url (url , package = package , extra_opts = extra_opts , add_cflags = add_cflags ,
570
- ignore_errors = ignore_errors , env = env , version = version , pre_install_hook = pre_install_hook )
570
+ ignore_errors = ignore_errors , env = env , version = version , pre_install_hook = pre_install_hook ,
571
+ build_cmd = build_cmd )
571
572
else :
572
573
xit ("Package not found: '%s'" % package )
573
574
0 commit comments