Work on mac build scripts.

master
DominikDeak 4 years ago
parent d5170b7566
commit 5da9c7f116
No known key found for this signature in database
GPG Key ID: 85514EC0CCE7007C
  1. 58
      Scripts/build.py

@ -58,26 +58,42 @@ class Build:
utility.printHeading( "Configuring version information..." )
if platform.system() == "Linux":
import distro # TODO: Move 'import distro' to global scope when it supports cross platform
def makePlatformString():
if platform.system() == "Windows":
return "-".join( [ platform.system(), platform.release(), platform.machine() ] )
import distro # TODO: Move this to global scope when distro supports Windows
platformInfo = list( distro.linux_distribution( full_distribution_name = False ) );
while "" in platformInfo:
platformInfo.remove( "" )
platformInfo.append( platform.machine() )
self.platformString = "-".join( platformInfo )
else:
self.platformString = "-".join( [ platform.system(), platform.release(), platform.machine() ] )
versionFile = open( config.synergyVersionPath(), "r" )
versionData = versionFile.read();
versionFile.close()
return "-".join( platformInfo )
def makeProductVersion():
versionFile = open( config.synergyVersionPath(), "r" )
versionData = versionFile.read();
versionFile.close()
versionParts = re.findall( r" *(?:SET|export) +SYNERGY_VERSION_\w+ *= *\"?(\w+)\"?", versionData )
matches = re.findall( r" *(?:SET|export) +SYNERGY_VERSION_\w+ *= *\"?(\w+)\"?", versionData )
if len( versionParts ) != 4:
printError( "Failed to extract version information." )
raise SystemExit( 1 )
return versionParts
if len( matches ) != 4:
printError( "Failed to extract version information." )
raise SystemExit( 1 )
self.platformString = makePlatformString()
self.productVersion = ".".join( [ matches[ 0 ], matches[ 1 ], matches[ 2 ] ] )
self.productStage = matches[ 3 ]
versionParts = makeProductVersion()
self.productVersion = ".".join( versionParts[ 0:3 ] )
self.productStage = versionParts[ 3 ]
self.productPackageName = "-".join( [ self.productBaseName, self.productVersion, self.productStage, self.platformString ] ).lower()
@ -203,6 +219,20 @@ class Build:
utility.printHeading( "Building DMG disk image file..." )
targetSymlinkPath = utility.joinPath( config.synergyBuildPath(), "bundle/Applications" )
if not os.path.exists( targetSymlinkPath ):
os.symlink( "/Applications", targetSymlinkPath, target_is_directory = True )
volumeLabel = self.productBaseName + ' ' + self.productVersion;
bundlePath = utility.joinPath( config.synergyBuildPath(), "bundle" )
packagePath = utility.joinPath( config.binariesPath(), self.productPackageName + ".dmg" )
utility.runCommand( "hdiutil create "
'-volname "' + volumeLabel + '" '
'-srcfolder "' + bundlePath + '" '
'-ov -format UDZO ' + packagePath )
# Linux builds
def __linuxMakeBinaries( self ):

Loading…
Cancel
Save