@@ -872,7 +872,8 @@ def make_winpython(build_number, release_level, architecture,
872872 basedir = None , verbose = False , remove_existing = True ,
873873 create_installer = True , simulation = False , rootdir = None ,
874874 install_options = None , flavor = '' , requirements = None ,
875- find_links = None ):
875+ find_links = None , source_dirs = None , toolsdirs = None ,
876+ docsdirs = None ):
876877 """Make WinPython distribution, for a given base directory and
877878 architecture:
878879
@@ -903,46 +904,75 @@ def make_winpython(build_number, release_level, architecture,
903904 shutil .rmtree (wheeldir , onerror = utils .onerror )
904905 os .mkdir (wheeldir )
905906 # Copy Every package directory to the wheel directory
906- source_dirs = [osp .join (basedir , 'packages' + suffix ),
907- osp .join (basedir , 'packages.src' ),
908- osp .join (basedir , flavor , 'packages' + suffix ),
909- osp .join (basedir , flavor , 'packages.src' )]
907+
908+ # Optional pre-defined source_dirs
909+ if source_dirs is None :
910+ source_dirs = ''
911+ if not source_dirs == list (source_dirs ):
912+ source_dirs = source_dirs .split ()
913+
914+ # Default natural behavior
915+ if source_dirs == []:
916+ source_dirs = [osp .join (basedir , 'packages' + suffix ),
917+ osp .join (basedir , 'packages.src' ),
918+ osp .join (basedir , flavor , 'packages' + suffix ),
919+ osp .join (basedir , flavor , 'packages.src' )]
920+ print ('source_dirs=' , source_dirs )
910921 for m in list (set (source_dirs )):
911922 if osp .isdir (m ):
912923 src_files = os .listdir (m )
913924 for file_name in src_files :
914925 full_file_name = os .path .join (m , file_name )
915926 shutil .copy (full_file_name , wheeldir )
916927
917- # Define List of Tools directory to collect
918- toolsdir1 = osp .join (basedir , 'tools' )
919- assert osp .isdir (toolsdir1 )
920- toolsdirs = [toolsdir1 ]
921- toolsdir2 = osp .join (basedir , 'tools' + suffix )
922- if osp .isdir (toolsdir2 ):
923- toolsdirs .append (toolsdir2 )
924- # add flavor tools
925- if flavor != '' :
926- toolsdir3 = osp .join (basedir , flavor , 'tools' )
927- toolsdir4 = osp .join (basedir , flavor , 'tools' + suffix )
928- for flavor_tools in [toolsdir3 , toolsdir4 ]:
929- if osp .isdir (flavor_tools ):
930- toolsdirs .append (flavor_tools )
931-
932- # Define List of docs directory to collect
933- docsdir1 = osp .join (basedir , 'docs' )
934- assert osp .isdir (docsdir1 )
935- docsdirs = [docsdir1 ]
936- docsdir2 = osp .join (basedir , 'docs' + suffix )
937- if osp .isdir (docsdir2 ):
938- docsdirs .append (docsdir2 )
939- # add flavor docs
940- if flavor != '' :
941- docsdir3 = osp .join (basedir , flavor , 'docs' )
942- docsdir4 = osp .join (basedir , flavor , 'docs' + suffix )
943- for flavor_docs in [docsdir3 , docsdir4 ]:
944- if osp .isdir (flavor_docs ):
945- docsdirs .append (flavor_docs )
928+ # Optional pre-defined toolsdirs
929+ if toolsdirs is None :
930+ toolsdirs = ''
931+ if not toolsdirs == list (toolsdirs ):
932+ toolsdirs = toolsdirs .split ()
933+
934+ # Default natural behavior
935+ if toolsdirs == []:
936+
937+ # Define List of Tools directory to collect
938+ toolsdir1 = osp .join (basedir , 'tools' )
939+ assert osp .isdir (toolsdir1 )
940+ toolsdirs = [toolsdir1 ]
941+ toolsdir2 = osp .join (basedir , 'tools' + suffix )
942+ if osp .isdir (toolsdir2 ):
943+ toolsdirs .append (toolsdir2 )
944+ # add flavor tools
945+ if flavor != '' :
946+ toolsdir3 = osp .join (basedir , flavor , 'tools' )
947+ toolsdir4 = osp .join (basedir , flavor , 'tools' + suffix )
948+ for flavor_tools in [toolsdir3 , toolsdir4 ]:
949+ if osp .isdir (flavor_tools ):
950+ toolsdirs .append (flavor_tools )
951+ print ('toolsdirs=' , toolsdirs )
952+
953+ # Optional pre-defined toolsdirs
954+ if docsdirs is None :
955+ docsdirs = ''
956+ if not docsdirs == list (docsdirs ):
957+ docsdirs = docsdirs .split ()
958+
959+ # Default natural behavior
960+ if docsdirs == []:
961+ # Define List of docs directory to collect
962+ docsdir1 = osp .join (basedir , 'docs' )
963+ assert osp .isdir (docsdir1 )
964+ docsdirs = [docsdir1 ]
965+ docsdir2 = osp .join (basedir , 'docs' + suffix )
966+ if osp .isdir (docsdir2 ):
967+ docsdirs .append (docsdir2 )
968+ # add flavor docs
969+ if flavor != '' :
970+ docsdir3 = osp .join (basedir , flavor , 'docs' )
971+ docsdir4 = osp .join (basedir , flavor , 'docs' + suffix )
972+ for flavor_docs in [docsdir3 , docsdir4 ]:
973+ if osp .isdir (flavor_docs ):
974+ docsdirs .append (flavor_docs )
975+ print ('docsdirs=' , docsdirs )
946976
947977 # install_options = ['--no-index', '--pre', '--find-links=%s' % wheeldir]
948978
@@ -968,7 +998,7 @@ def make_all(build_number, release_level, pyver,
968998 rootdir = None , simulation = False , create_installer = True ,
969999 verbose = False , remove_existing = True , archis = (32 , 64 ),
9701000 install_options = ['--no-index' ], flavor = '' , requirements = None ,
971- find_links = None ):
1001+ find_links = None , source_dirs = None , toolsdirs = None , docsdirs = None ):
9721002 """Make WinPython for both 32 and 64bit architectures:
9731003
9741004 make_all(build_number, release_level, pyver, rootdir, simulation=False,
@@ -992,7 +1022,8 @@ def make_all(build_number, release_level, pyver,
9921022 verbose , remove_existing , create_installer , simulation ,
9931023 rootdir = rootdir , install_options = install_options ,
9941024 flavor = flavor , requirements = requirements ,
995- find_links = find_links )
1025+ find_links = find_links , source_dirs = source_dirs ,
1026+ toolsdirs = toolsdirs , docsdirs = docsdirs )
9961027
9971028
9981029if __name__ == '__main__' :
@@ -1005,8 +1036,12 @@ def make_all(build_number, release_level, pyver,
10051036 # install_options=r'--no-index --pre --trusted-host=None',
10061037 # find_links=r'D:\Winpython\basedir34\packages.srcreq')
10071038
1008- make_all (7 , release_level = 'build1' , pyver = '3.4' , rootdir = r'D:\WinpythonQt5 ' , verbose = True ,
1009- archis = (64 , ), flavor = 'Qt5 ' ,
1010- requirements = r'D:\WinpythonQt5 \basedir34\zerorequirements .txt' ,
1039+ make_all (7 , release_level = 'build1' , pyver = '3.4' , rootdir = r'D:\Winpython ' , verbose = True ,
1040+ archis = (32 , ), flavor = 'Slim ' ,
1041+ requirements = r'D:\Winpython \basedir34\slim_requirements .txt' ,
10111042 install_options = r'--no-index --pre --trusted-host=None' ,
1012- find_links = r'D:\Winpython\basedir34\packages.srcreq' )
1043+ find_links = r'D:\Winpython\basedir34\packages.srcreq' ,
1044+ source_dirs = r'D:\WinPython\basedir34\packages.src D:\WinPython\basedir34\packages.win32.Slim' ,
1045+ toolsdirs = r'D:\WinPython\basedir34\Tools.Slim' ,
1046+ docsdirs = r'D:\WinPython\basedir34\docs.Slim'
1047+ )
0 commit comments