@@ -1252,44 +1252,51 @@ def do_custom_build(self):
1252
1252
else :
1253
1253
libfreetype = 'libfreetype.a'
1254
1254
1255
- if os .path .isfile (os .path .join (src_path , 'objs' , '.libs' , libfreetype )):
1255
+ # bailing because it is already built
1256
+ if os .path .isfile (os .path .join (
1257
+ src_path , 'objs' , '.libs' , libfreetype )):
1256
1258
return
1257
- if not os .path .exists ('build' ):
1258
- os .makedirs ('build' )
1259
-
1260
- url_fmts = [
1261
- ('https://downloads.sourceforge.net/project/freetype'
1262
- '/freetype2/{version}/{tarball}' ),
1263
- ('https://download.savannah.gnu.org/releases/freetype'
1264
- '/{tarball}' )
1265
- ]
1266
- tarball = 'freetype-{0}.tar.gz' .format (LOCAL_FREETYPE_VERSION )
1267
1259
1268
- target_urls = [
1269
- url_fmt . format ( version = LOCAL_FREETYPE_VERSION ,
1270
- tarball = tarball )
1271
- for url_fmt in url_fmts ]
1260
+ # do we need to download / load the source from cache?
1261
+ if not os . path . exists ( src_path ):
1262
+ if not os . path . exists ( 'build' ):
1263
+ os . makedirs ( 'build' )
1272
1264
1273
- for tarball_url in target_urls :
1274
- try :
1275
- tar_contents = download_or_cache (tarball_url ,
1276
- LOCAL_FREETYPE_HASH )
1277
- break
1278
- except Exception :
1279
- pass
1280
- else :
1281
- raise IOError ("Failed to download FreeType. Please download " +
1282
- "one of {target_urls} " .format (
1283
- target_urls = target_urls ) +
1284
- "and extract it into the build directory "
1285
- "at the top-level of the source repository" )
1286
-
1287
- print ("Building {}" .format (tarball ))
1288
- tar_contents .seek (0 )
1289
- with tarfile .open (tarball , mode = "r:gz" , fileobj = tar_contents ) as tgz :
1290
- tgz .extractall ("build" )
1291
-
1292
- print ("Building {0}" .format (tarball ))
1265
+ url_fmts = [
1266
+ ('https://downloads.sourceforge.net/project/freetype'
1267
+ '/freetype2/{version}/{tarball}' ),
1268
+ ('https://download.savannah.gnu.org/releases/freetype'
1269
+ '/{tarball}' )
1270
+ ]
1271
+ tarball = 'freetype-{0}.tar.gz' .format (LOCAL_FREETYPE_VERSION )
1272
+
1273
+ target_urls = [
1274
+ url_fmt .format (version = LOCAL_FREETYPE_VERSION ,
1275
+ tarball = tarball )
1276
+ for url_fmt in url_fmts ]
1277
+
1278
+ for tarball_url in target_urls :
1279
+ try :
1280
+ tar_contents = download_or_cache (tarball_url ,
1281
+ LOCAL_FREETYPE_HASH )
1282
+ break
1283
+ except Exception :
1284
+ pass
1285
+ else :
1286
+ raise IOError ("Failed to download FreeType. Please download "
1287
+ "one of {target_urls} and extract it into "
1288
+ "{src_path} at the top-level of the source "
1289
+ "repository" .format (
1290
+ target_urls = target_urls , src_path = src_path ))
1291
+
1292
+ print ("Extracting {}" .format (tarball ))
1293
+ # just to be sure
1294
+ tar_contents .seek (0 )
1295
+ with tarfile .open (tarball , mode = "r:gz" ,
1296
+ fileobj = tar_contents ) as tgz :
1297
+ tgz .extractall ("build" )
1298
+
1299
+ print ("Building freetype in {}" .format (src_path ))
1293
1300
if sys .platform != 'win32' :
1294
1301
# compilation on all other platforms than windows
1295
1302
cflags = 'CFLAGS="{0} -fPIC" ' .format (os .environ .get ('CFLAGS' , '' ))
0 commit comments