@@ -70,22 +70,18 @@ def latest_release_from_gnome_org_cache(url, lib_name):
7070 return '{}/{}' .format (url , latest_source )
7171
7272
73- def latest_release_from_github_api (repo ):
74- api_url = 'https://api.github.com/repos/{}/releases' .format (repo )
73+ def latest_release_json_from_github_api (repo ):
74+ api_url = 'https://api.github.com/repos/{}/releases/latest ' .format (repo )
7575
7676 # if we are running in CI, pass along the GH_TOKEN, so we don't get rate limited
7777 token = os .environ .get ("GH_TOKEN" )
7878 if token :
7979 log .info ("Using GitHub token to avoid rate limiting" )
80- api_releases = make_request (api_url , token , json_response = True )
81- releases = [r ['tarball_url' ] for r in api_releases if r ['prerelease' ] is False and r ['draft' ] is False ]
82- if not releases :
83- raise DistutilsError ('No release found for {}' .format (repo ))
84- return releases [0 ]
80+ return make_request (api_url , token , json_response = True )
8581
8682
8783def latest_openssl_release ():
88- return latest_release_from_github_api ('openssl/openssl' )
84+ return latest_release_json_from_github_api ('openssl/openssl' )[ 'tarball_url' ]
8985
9086
9187def latest_zlib_release ():
@@ -105,7 +101,9 @@ def latest_libxslt_release():
105101
106102
107103def latest_xmlsec_release ():
108- return latest_release_from_html ('https://www.aleksey.com/xmlsec/download/' , re .compile ('xmlsec1-(?P<version>.*).tar.gz' ))
104+ assets = latest_release_json_from_github_api ('lsh123/xmlsec' )['assets' ]
105+ (tar_gz ,) = [asset for asset in assets if asset ['name' ].endswith ('.tar.gz' )]
106+ return tar_gz ['browser_download_url' ]
109107
110108
111109class CrossCompileInfo :
@@ -381,7 +379,7 @@ def prepare_static_build(self, build_platform):
381379 url = latest_xmlsec_release ()
382380 self .info ('{:10}: {}' .format ('xmlsec1' , 'PYXMLSEC_XMLSEC1_VERSION unset, downloading latest from {}' .format (url )))
383381 else :
384- url = 'https://www.aleksey. com/xmlsec/download/xmlsec1-{}.tar.gz' .format (self .xmlsec1_version )
382+ url = 'https://github. com/lsh123/ xmlsec/releases/ download/{v}/ xmlsec1-{v }.tar.gz' .format (v = self .xmlsec1_version )
385383 self .info (
386384 '{:10}: {}' .format (
387385 'xmlsec1' , 'PYXMLSEC_XMLSEC1_VERSION={}, downloading from {}' .format (self .xmlsec1_version , url )
@@ -435,43 +433,41 @@ def prepare_static_build(self, build_platform):
435433 openssl_config_cmd .append (cross_compiling .triplet )
436434 else :
437435 openssl_config_cmd .insert (0 , './config' )
438- subprocess .check_output (openssl_config_cmd , cwd = str (openssl_dir ), env = env )
439- subprocess .check_output (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (openssl_dir ), env = env )
440- subprocess .check_output (
436+ subprocess .check_call (openssl_config_cmd , cwd = str (openssl_dir ), env = env )
437+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (openssl_dir ), env = env )
438+ subprocess .check_call (
441439 ['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install_sw' ], cwd = str (openssl_dir ), env = env
442440 )
443441
444442 self .info ('Building zlib' )
445443 zlib_dir = next (self .build_libs_dir .glob ('zlib-*' ))
446- subprocess .check_output (['./configure' , prefix_arg ], cwd = str (zlib_dir ), env = env )
447- subprocess .check_output (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (zlib_dir ), env = env )
448- subprocess .check_output (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (zlib_dir ), env = env )
444+ subprocess .check_call (['./configure' , prefix_arg ], cwd = str (zlib_dir ), env = env )
445+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (zlib_dir ), env = env )
446+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (zlib_dir ), env = env )
449447
450- host_arg = ""
448+ host_arg = []
451449 if cross_compiling :
452- host_arg = '--host={}' .format (cross_compiling .arch )
450+ host_arg = [ '--host={}' .format (cross_compiling .arch )]
453451
454452 self .info ('Building libiconv' )
455453 libiconv_dir = next (self .build_libs_dir .glob ('libiconv-*' ))
456- subprocess .check_output (
454+ subprocess .check_call (
457455 [
458456 './configure' ,
459457 prefix_arg ,
460458 '--disable-dependency-tracking' ,
461459 '--disable-shared' ,
462- host_arg ,
460+ * host_arg ,
463461 ],
464462 cwd = str (libiconv_dir ),
465463 env = env ,
466464 )
467- subprocess .check_output (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (libiconv_dir ), env = env )
468- subprocess .check_output (
469- ['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (libiconv_dir ), env = env
470- )
465+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (libiconv_dir ), env = env )
466+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (libiconv_dir ), env = env )
471467
472468 self .info ('Building LibXML2' )
473469 libxml2_dir = next (self .build_libs_dir .glob ('libxml2-*' ))
474- subprocess .check_output (
470+ subprocess .check_call (
475471 [
476472 './configure' ,
477473 prefix_arg ,
@@ -481,19 +477,17 @@ def prepare_static_build(self, build_platform):
481477 '--without-python' ,
482478 '--with-iconv={}' .format (self .prefix_dir ),
483479 '--with-zlib={}' .format (self .prefix_dir ),
484- host_arg ,
480+ * host_arg ,
485481 ],
486482 cwd = str (libxml2_dir ),
487483 env = env ,
488484 )
489- subprocess .check_output (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (libxml2_dir ), env = env )
490- subprocess .check_output (
491- ['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (libxml2_dir ), env = env
492- )
485+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (libxml2_dir ), env = env )
486+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (libxml2_dir ), env = env )
493487
494488 self .info ('Building libxslt' )
495489 libxslt_dir = next (self .build_libs_dir .glob ('libxslt-*' ))
496- subprocess .check_output (
490+ subprocess .check_call (
497491 [
498492 './configure' ,
499493 prefix_arg ,
@@ -502,27 +496,26 @@ def prepare_static_build(self, build_platform):
502496 '--without-python' ,
503497 '--without-crypto' ,
504498 '--with-libxml-prefix={}' .format (self .prefix_dir ),
505- host_arg ,
499+ * host_arg ,
506500 ],
507501 cwd = str (libxslt_dir ),
508502 env = env ,
509503 )
510- subprocess .check_output (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (libxslt_dir ), env = env )
511- subprocess .check_output (
512- ['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (libxslt_dir ), env = env
513- )
504+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )], cwd = str (libxslt_dir ), env = env )
505+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (libxslt_dir ), env = env )
514506
515507 self .info ('Building xmlsec1' )
516508 ldflags .append ('-lpthread' )
517509 env ['LDFLAGS' ] = ' ' .join (ldflags )
518510 xmlsec1_dir = next (self .build_libs_dir .glob ('xmlsec1-*' ))
519- subprocess .check_output (
511+ subprocess .check_call (
520512 [
521513 './configure' ,
522514 prefix_arg ,
523515 '--disable-shared' ,
524516 '--disable-gost' ,
525517 '--enable-md5' ,
518+ '--enable-ripemd160' ,
526519 '--disable-crypto-dl' ,
527520 '--enable-static=yes' ,
528521 '--enable-shared=no' ,
@@ -531,20 +524,18 @@ def prepare_static_build(self, build_platform):
531524 '--with-openssl={}' .format (self .prefix_dir ),
532525 '--with-libxml={}' .format (self .prefix_dir ),
533526 '--with-libxslt={}' .format (self .prefix_dir ),
534- host_arg ,
527+ * host_arg ,
535528 ],
536529 cwd = str (xmlsec1_dir ),
537530 env = env ,
538531 )
539- subprocess .check_output (
532+ subprocess .check_call (
540533 ['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 )]
541534 + ['-I{}' .format (str (self .prefix_dir / 'include' )), '-I{}' .format (str (self .prefix_dir / 'include' / 'libxml' ))],
542535 cwd = str (xmlsec1_dir ),
543536 env = env ,
544537 )
545- subprocess .check_output (
546- ['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (xmlsec1_dir ), env = env
547- )
538+ subprocess .check_call (['make' , '-j{}' .format (multiprocessing .cpu_count () + 1 ), 'install' ], cwd = str (xmlsec1_dir ), env = env )
548539
549540 ext = self .ext_map ['xmlsec' ]
550541 ext .define_macros = [
0 commit comments