Extract libs from pillow-depends

This commit is contained in:
hugovk 2016-08-29 14:53:48 +03:00
parent ad3aa0c196
commit 5a0104f64d
3 changed files with 23 additions and 32 deletions

View File

@ -1,10 +1,9 @@
from fetch import fetch
from unzip import unzip from unzip import unzip
from untar import untar from untar import untar
import os import os
import hashlib import hashlib
from config import bin_libs, compilers, compiler_fromEnv, libs from config import compilers, compiler_fromEnv, libs
def _relpath(*args): def _relpath(*args):
@ -59,10 +58,10 @@ def extract(src, dest):
return untar(src, dest) return untar(src, dest)
def fetch_libs(): def extract_libs():
for name, lib in libs.items(): for name, lib in libs.items():
if name == 'openjpeg': if name == 'openjpeg':
filename = check_hash(fetch(lib['url']), lib['hash']) filename = check_hash(lib['filename'], lib['hash'])
for compiler in compilers.values(): for compiler in compilers.values():
if not os.path.exists(os.path.join( if not os.path.exists(os.path.join(
build_dir, lib['dir']+compiler['inc_dir'])): build_dir, lib['dir']+compiler['inc_dir'])):
@ -71,12 +70,7 @@ def fetch_libs():
os.path.join( os.path.join(
build_dir, lib['dir']+compiler['inc_dir'])) build_dir, lib['dir']+compiler['inc_dir']))
else: else:
extract(check_hash(fetch(lib['url']), lib['hash']), build_dir) extract(check_hash(lib['filename'], lib['hash']), build_dir)
def extract_binlib():
lib = bin_libs['openjpeg']
extract(lib['filename'], build_dir)
def extract_openjpeg(compiler): def extract_openjpeg(compiler):
@ -306,8 +300,7 @@ def add_compiler(compiler):
mkdirs() mkdirs()
fetch_libs() extract_libs()
# extract_binlib()
script = [header(), cp_tk(libs['tk-8.5']['version'], libs['tk-8.6']['version'])] script = [header(), cp_tk(libs['tk-8.5']['version'], libs['tk-8.6']['version'])]

View File

@ -1,6 +1,7 @@
import os import os
SF_MIRROR = 'http://iweb.dl.sourceforge.net' SF_MIRROR = 'http://iweb.dl.sourceforge.net'
PILLOW_DEPENDS_DIR = 'C:\\pillow-depends\\'
pythons = { # '26': 7, pythons = { # '26': 7,
'27': 7, '27': 7,
@ -12,73 +13,70 @@ VIRT_BASE = "c:/vp/"
X64_EXT = os.environ.get('X64_EXT', "x64") X64_EXT = os.environ.get('X64_EXT', "x64")
libs = { libs = {
# 'openjpeg': {
# 'filename': 'openjpeg-2.0.0-win32-x86.zip',
# 'hash': 'sha1:xxx',
# 'version': '2.0'
# },
'zlib': { 'zlib': {
'url': 'http://zlib.net/zlib128.zip', 'filename': PILLOW_DEPENDS_DIR + 'zlib128.zip',
'hash': 'md5:126f8676442ffbd97884eb4d6f32afb4', 'hash': 'md5:126f8676442ffbd97884eb4d6f32afb4',
'dir': 'zlib-1.2.8', 'dir': 'zlib-1.2.8',
}, },
'jpeg': { 'jpeg': {
'url': 'http://www.ijg.org/files/jpegsr9b.zip', 'filename': PILLOW_DEPENDS_DIR + 'jpegsr9b.zip',
'hash': 'md5:a21b8024d78ba05857a75272b4fa95ec', # not found - generated by wiredfool 'hash': 'md5:a21b8024d78ba05857a75272b4fa95ec', # not found - generated by wiredfool
'dir': 'jpeg-9b', 'dir': 'jpeg-9b',
}, },
'tiff': { 'tiff': {
'url': 'ftp://ftp.remotesensing.org/pub/libtiff/tiff-4.0.6.zip', 'filename': PILLOW_DEPENDS_DIR + 'tiff-4.0.6.zip',
'hash': 'md5:f5b485d750b2001255ed64224b98b857', 'hash': 'md5:f5b485d750b2001255ed64224b98b857',
'dir': 'tiff-4.0.6', 'dir': 'tiff-4.0.6',
}, },
'freetype': { 'freetype': {
'url': 'http://download.savannah.gnu.org/releases/freetype/freetype-2.6.5.tar.gz', 'filename': PILLOW_DEPENDS_DIR + 'freetype-2.6.5.tar.gz',
'hash': 'md5:31b2276515d9ee1c7f37d9c9f4f3145a', 'hash': 'md5:31b2276515d9ee1c7f37d9c9f4f3145a',
'dir': 'freetype-2.6.5', 'dir': 'freetype-2.6.5',
}, },
'lcms': { 'lcms': {
'url': SF_MIRROR+'/project/lcms/lcms/2.7/lcms2-2.7.zip', 'filename': PILLOW_DEPENDS_DIR + 'lcms2-2.7.zip',
'hash': 'sha1:7ff1a5b721ca719760ba6eb4ec6f38d5e65381cf', 'hash': 'sha1:7ff1a5b721ca719760ba6eb4ec6f38d5e65381cf',
'dir': 'lcms2-2.7', 'dir': 'lcms2-2.7',
}, },
'tcl-8.5': { 'tcl-8.5': {
'url': SF_MIRROR+'/project/tcl/Tcl/8.5.19/tcl8519-src.zip', 'filename': PILLOW_DEPENDS_DIR + 'tcl8519-src.zip',
'hash': 'sha1:9de57fd34bd688716c16c978db96fa16a5fde924', 'hash': 'sha1:9de57fd34bd688716c16c978db96fa16a5fde924',
'dir': '', 'dir': '',
}, },
'tk-8.5': { 'tk-8.5': {
'url': SF_MIRROR+'/project/tcl/Tcl/8.5.19/tk8519-src.zip', 'filename': PILLOW_DEPENDS_DIR + 'tk8519-src.zip',
'hash': 'sha1:78d0d2c81e024e0b48bfd7b2cc16718f08f46ed9', 'hash': 'sha1:78d0d2c81e024e0b48bfd7b2cc16718f08f46ed9',
'dir': '', 'dir': '',
'version': '8.5.19', 'version': '8.5.19',
}, },
'tcl-8.6': { 'tcl-8.6': {
'url': SF_MIRROR+'/project/tcl/Tcl/8.6.5/tcl865-src.zip', 'filename': PILLOW_DEPENDS_DIR + 'tcl865-src.zip',
'hash': 'md5:932e360acb40ec760ebeed659bc893de', 'hash': 'md5:932e360acb40ec760ebeed659bc893de',
'dir': '', 'dir': '',
}, },
'tk-8.6': { 'tk-8.6': {
'url': SF_MIRROR+'/project/tcl/Tcl/8.6.5/tk865-src.zip', 'filename': PILLOW_DEPENDS_DIR + 'tk865-src.zip',
'hash': 'md5:f2f5802a5a3b1f70b906e6930db12089', 'hash': 'md5:f2f5802a5a3b1f70b906e6930db12089',
'dir': '', 'dir': '',
'version': '8.6.5', 'version': '8.6.5',
}, },
'webp': { 'webp': {
'url': 'http://downloads.webmproject.org/releases/webp/libwebp-0.5.0.tar.gz', 'filename': PILLOW_DEPENDS_DIR + 'libwebp-0.5.0.tar.gz',
'hash': 'sha1:d3de815b272fcf88fc4f2dc1ab65d176bcb8df68', 'hash': 'sha1:d3de815b272fcf88fc4f2dc1ab65d176bcb8df68',
'dir': 'libwebp-0.5.0', 'dir': 'libwebp-0.5.0',
}, },
'openjpeg': { 'openjpeg': {
'url': SF_MIRROR+'/project/openjpeg/openjpeg/2.1.0/openjpeg-2.1.0.tar.gz', 'filename': PILLOW_DEPENDS_DIR + 'openjpeg-2.1.0.tar.gz',
'hash': 'md5:f6419fcc233df84f9a81eb36633c6db6', 'hash': 'md5:f6419fcc233df84f9a81eb36633c6db6',
'dir': 'openjpeg-2.1.0', 'dir': 'openjpeg-2.1.0',
}, },
} }
bin_libs = {
'openjpeg': {
'filename': 'openjpeg-2.0.0-win32-x86.zip',
'hash': 'sha1:xxx',
'version': '2.0'
},
}
compilers = { compilers = {
(7, 64): { (7, 64): {
'env_version': 'v7.0', 'env_version': 'v7.0',

View File

@ -1,5 +1,5 @@
import sys
import os import os
import sys
import urllib.parse import urllib.parse
import urllib.request import urllib.request