- depsfile = 'GtkR-deps-1.6-3.zip'
- # TMP
- #if ( not os.path.exists( depsfile ) ):
- if ( True ):
- cmd = 'wget http://zerowing.idsoftware.com/files/radiant/developer/1.6.1/%s' % depsfile
- print cmd
- ret = os.system( cmd )
- if ( ret != 0 ):
- raise Exception( 'Failed to download dependencies file' )
-
- # extract one directoy above
- f = os.path.abspath( depsfile )
- backup_cwd = os.getcwd()
- os.chdir( os.path.dirname( backup_cwd ) )
- cmd = 'unzip %s' % f
- print cmd
- ret = os.system( cmd )
- if ( ret != 0 ):
- raise Exception( 'unzip dependencies file failed' )
- os.chdir( backup_cwd )
-
- # copy all the dependent runtime data to the install directory
- srcdir = os.path.dirname( backup_cwd )
- for f in [
- 'libxml2/bin/libxml2.dll',
- 'gtk2/bin/libglib-2.0-0.dll',
- 'gtk2/bin/libgobject-2.0-0.dll',
- 'gtk2/bin/libgdk-win32-2.0-0.dll',
- 'gtk2/bin/libgtk-win32-2.0-0.dll',
- 'gtk2/bin/intl.dll',
- 'gtk2/bin/libatk-1.0-0.dll',
- 'gtk2/bin/libcairo-2.dll',
- 'gtk2/bin/libgdk_pixbuf-2.0-0.dll',
- 'gtk2/bin/libgmodule-2.0-0.dll',
- 'gtk2/bin/libpng13.dll',
- 'gtk2/bin/libpango-1.0-0.dll',
- 'gtk2/bin/libpangocairo-1.0-0.dll',
- 'gtk2/bin/libpangowin32-1.0-0.dll',
- 'gtk2/lib/libgtkglext-win32-1.0-0.dll',
- 'gtk2/lib/libgdkglext-win32-1.0-0.dll',
- 'gtk2/lib/iconv.dll', ]:
- cmd = 'cp -v "%s" installs' % os.path.join( srcdir, f )
- print cmd
- ret = os.system( cmd )
- if ( ret != 0 ):
- raise Exception( 'runtime file copy failed' )
- for d in [
- 'gtk2/etc',
- 'gtk2/share',
- ]:
- cmd = 'cp -r -v "%s" install' % os.path.join( srcdir, d )
- print cmd
- ret = os.system( cmd )
- if ( ret != 0 ):
- raise Exception( 'runtime directory copy failed' )
+ backup_cwd = os.getcwd()
+ for lib_archive in [
+ 'gtk+-bundle-2.16.6-20100912-3-win32.zip',
+ 'gtkglext-1.2.0-3-win32.zip',
+ 'libxml2-2.7.3-2-win32.zip',
+ 'jpeg-8c-4-win32.zip',
+ 'STLport-5.2.1-4.zip'
+ ]:
+ if ( not os.path.exists( lib_archive ) ):
+ print( 'downloading %s' % lib_archive )
+ archive_web_request = urllib2.urlopen( 'http://icculus.org/gtkradiant/files/1.6.2/%s' % lib_archive )
+ archive_File = open( lib_archive, 'wb' )
+ while True:
+ data = archive_web_request.read( 1048576 ) #read 1mb at a time
+ if not data:
+ break
+ archive_File.write( data )
+
+ archive_web_request.close()
+ archive_File.close()
+
+ print( 'unpacking %s' % lib_archive )
+ lib_archive_path = os.path.abspath( lib_archive )
+ os.chdir( os.path.dirname( backup_cwd ) )
+
+ archive_Zip = zipfile.ZipFile( lib_archive_path, 'r' )
+ archive_Zip.extractall()
+ archive_Zip.close()
+
+ os.chdir( backup_cwd )
+
+ # copy all the dependent runtime data to the install directory
+ srcdir = os.path.dirname( backup_cwd )
+ for dll in [
+ 'gtk-2.16.6/bin/freetype6.dll',
+ 'gtk-2.16.6/bin/intl.dll',
+ 'gtk-2.16.6/bin/libasprintf-0.dll',
+ 'gtk-2.16.6/bin/libatk-1.0-0.dll',
+ 'gtk-2.16.6/bin/libcairo-2.dll',
+ 'gtk-2.16.6/bin/libexpat-1.dll',
+ 'gtk-2.16.6/bin/libfontconfig-1.dll',
+ 'gtk-2.16.6/bin/libgailutil-18.dll',
+ 'gtk-2.16.6/bin/libgcc_s_dw2-1.dll',
+ 'gtk-2.16.6/bin/libgdk-win32-2.0-0.dll',
+ 'gtk-2.16.6/bin/libgdk_pixbuf-2.0-0.dll',
+ 'gtk-2.16.6/bin/libgio-2.0-0.dll',
+ 'gtk-2.16.6/bin/libglib-2.0-0.dll',
+ 'gtk-2.16.6/bin/libgmodule-2.0-0.dll',
+ 'gtk-2.16.6/bin/libgobject-2.0-0.dll',
+ 'gtk-2.16.6/bin/libgthread-2.0-0.dll',
+ 'gtk-2.16.6/bin/libgtk-win32-2.0-0.dll',
+ 'gtk-2.16.6/bin/libpango-1.0-0.dll',
+ 'gtk-2.16.6/bin/libpangocairo-1.0-0.dll',
+ 'gtk-2.16.6/bin/libpangoft2-1.0-0.dll',
+ 'gtk-2.16.6/bin/libpangowin32-1.0-0.dll',
+ 'gtk-2.16.6/bin/libpng14-14.dll',
+ 'gtk-2.16.6/bin/zlib1.dll',
+ 'gtk-2.16.6/lib/GNU.Gettext.dll',
+ 'gtk-2.16.6/lib/gtk-2.0/2.10.0/engines/libpixmap.dll',
+ 'gtk-2.16.6/lib/gtk-2.0/2.10.0/engines/libwimp.dll',
+ 'gtk-2.16.6/lib/gtk-2.0/modules/libgail.dll',
+ 'gtkglext-1.2.0/bin/libgdkglext-win32-1.0-0.dll',
+ 'gtkglext-1.2.0/bin/libgtkglext-win32-1.0-0.dll',
+ 'libxml2-2.7.3/bin/libxml2-2.dll'
+ ]:
+ shutil.copy( os.path.join( srcdir, dll ), 'install' )
+
+ for extra in [
+ 'gtk-2.16.6/etc',
+ 'gtk-2.16.6/share',
+ 'gtkglext-1.2.0/share',
+ 'libxml2-2.7.3/share'
+ ]:
+ self.CopyTree( os.path.join( srcdir, extra ), 'install' )