def unpack(self): destdir = os.path.join(self.sourceDir(), "bin") utils.createDir(self.sourceDir()) utils.createDir(destdir) postfix = "" if self.buildType() == "Debug": postfix = "d" srcdir = None files = [] if compiler.isMinGW(): if self.subinfo.options.features.legacyGCC: if compiler.isMinGW_W32(): srcdir = os.path.join(self.rootdir, "mingw", "bin") elif compiler.isMinGW_W64(): srcdir = os.path.join(self.rootdir, "mingw64", "bin") files = ['libgcc_s_sjlj-1.dll', 'libgomp-1.dll'] else: files = [ 'libgomp-1.dll', 'libstdc++-6.dll', 'libwinpthread-1.dll' ] if compiler.isMinGW_W32(): files.append('libgcc_s_sjlj-1.dll') srcdir = os.path.join(self.rootdir, "mingw", "bin") elif compiler.isMinGW_W64(): files.append('libgcc_s_seh-1.dll') srcdir = os.path.join(self.rootdir, "mingw64", "bin") elif compiler.isMSVC(): if compiler.isX86( ) and os.environ["PROCESSOR_ARCHITECTURE"] == "AMD64": srcdir = os.path.join(os.environ["SystemRoot"], "SysWOW64") else: srcdir = os.path.join(os.environ["SystemRoot"], "System32") if compiler.isMSVC2010(): files = [ "msvcr100%s.dll" % postfix, "msvcp100%s.dll" % postfix ] elif compiler.isMSVC2013(): files = [ "msvcr120%s.dll" % postfix, "msvcp120%s.dll" % postfix ] elif compiler.isMSVC2015(): files = [ "concrt140%s.dll" % postfix, "msvcp140%s.dll" % postfix, "vccorlib140%s.dll" % postfix, "vcruntime140%s.dll" % postfix ] for file in files: utils.copyFile(os.path.join(srcdir, file), os.path.join(destdir, file), False) return True
def unpack( self ): destdir = os.path.join( self.sourceDir(), "bin" ) utils.createDir( self.sourceDir() ) utils.createDir( destdir ) postfix = "" if self.buildType() == "Debug": postfix = "d" srcdir = None files = [] if compiler.isMinGW(): if self.subinfo.options.features.legacyGCC: if compiler.isMinGW_W32(): srcdir = os.path.join( self.rootdir, "mingw", "bin" ) elif compiler.isMinGW_W64(): srcdir = os.path.join( self.rootdir, "mingw64", "bin" ) files = [ 'libgcc_s_sjlj-1.dll', 'libgomp-1.dll' ] else: files = [ 'libgomp-1.dll', 'libstdc++-6.dll', 'libwinpthread-1.dll' ] if compiler.isMinGW_W32(): files.append('libgcc_s_sjlj-1.dll') srcdir = os.path.join( self.rootdir, "mingw", "bin" ) elif compiler.isMinGW_W64(): files.append('libgcc_s_seh-1.dll') srcdir = os.path.join( self.rootdir, "mingw64", "bin" ) elif compiler.isMSVC(): if compiler.isX86() and os.environ["PROCESSOR_ARCHITECTURE"] == "AMD64": srcdir = os.path.join( os.environ["SystemRoot"], "SysWOW64") else: srcdir = os.path.join( os.environ["SystemRoot"], "System32") if compiler.isMSVC2010(): files = [ "msvcr100%s.dll" % postfix, "msvcp100%s.dll" % postfix ] elif compiler.isMSVC2013(): files = [ "msvcr120%s.dll" % postfix, "msvcp120%s.dll" % postfix ] elif compiler.isMSVC2015(): files = [ "concrt140%s.dll" % postfix, "msvcp140%s.dll" % postfix, "vccorlib140%s.dll" % postfix, "vcruntime140%s.dll" % postfix ] for file in files: utils.copyFile( os.path.join( srcdir, file ), os.path.join( destdir, file ), False ) return True
def unpack( self ): destdir = os.path.join( self.installDir(), "bin" ) utils.createDir( self.workDir() ) utils.createDir( destdir ) postfix = "" if self.buildType() == "Debug": postfix = "d" files = [] if compiler.isMinGW(): if compiler.isMinGW32(): srcdir = os.path.join( self.rootdir, "mingw", "bin" ) files = [ 'mingwm10.dll', 'libgcc_s_dw2-1.dll' ] elif compiler.isMinGW_W32(): srcdir = os.path.join( self.rootdir, "mingw", "bin" ) files = [ 'libgcc_s_sjlj-1.dll', 'libgomp-1.dll' ] elif compiler.isMinGW_W64(): srcdir = os.path.join( self.rootdir, "mingw64", "bin" ) files = [ 'libgcc_s_sjlj-1.dll', 'libgomp-1.dll' ] # elif compiler.isMSVC2008(): # if self.buildType() == "Debug": # srcdir = os.path.join( self.packageDir(), "redist", "Debug_NonRedist", "x86", "Microsoft.VC90.DebugCRT" ) # files = [ "Microsoft.VC90.DebugCRT.manifest", "msvcr90d.dll", "msvcp90d.dll", "msvcm90d.dll"] # else: # srcdir = os.path.join( self.packageDir(), "redist", "x86", "Microsoft.VC90.CRT" ) # files = [ "Microsoft.VC90.CRT.manifest", "msvcr90.dll", "msvcp90.dll", "msvcm90.dll" ] elif compiler.isMSVC2010(): srcdir = os.path.join( os.environ["windir"], "system32" ) files = [ "msvcr100%s.dll" % postfix, "msvcp100%s.dll" % postfix ] for file in files: utils.copyFile( os.path.join( srcdir, file ), os.path.join( destdir, file ) ) # extract pthread package. if compiler.isMinGW_WXX(): tmpdir = os.getenv( "TEMP" ) if compiler.isMinGW_W32(): _ext = 32 elif compiler.isMinGW_W64(): _ext = 64 else: utils.die( "unknown flavor of mingw-wXX" ) pthreadPackageName = os.path.join( self.rootdir, "mingw", "pthreads-w%s.zip" ) % _ext pthreadDll = "pthreadGC2-w%s.dll" % _ext utils.unZip( pthreadPackageName, tmpdir ) srcdir = os.path.join( tmpdir, "bin" ) files = [ pthreadDll ] for file in files: utils.copyFile( os.path.join( srcdir, file ), os.path.join( destdir, file ) ) return True
def setDependencies( self ): if not utils.envAsBool('EMERGE_ENABLE_IMPLICID_BUILDTIME_DEPENDENCIES'): self.buildDependencies['gnuwin32/wget'] = 'default' self.buildDependencies['dev-util/7zip'] = 'default' self.buildDependencies['gnuwin32/patch'] = 'default' self.buildDependencies['gnuwin32/sed'] = 'default' self.buildDependencies['dev-util/cmake'] = 'default' self.buildDependencies['dev-util/subversion'] = 'default' self.buildDependencies['dev-util/git'] = 'default' # for creating combined packages self.buildDependencies['dev-util/pexports'] = 'default' #add c++ runtime if we xcompile if emergePlatform.isCrossCompilingEnabled(): self.dependencies['win32libs-bin/runtime-ce'] = 'default' if not utils.envAsBool('EMERGE_ENABLE_IMPLICID_BUILDTIME_DEPENDENCIES'): if os.getenv( "SVN_SSH" ) == "plink" or \ os.getenv( "GIT_SSH" ) == "plink": self.buildDependencies['dev-util/putty'] = 'default' if compiler.isMinGW(): if compiler.isMinGW_W64(): self.buildDependencies['dev-util/mingw-w64'] = 'default' elif emergePlatform.buildArchitecture() == 'arm-wince': self.buildDependencies['dev-util/cegcc-arm-wince'] = 'default' else: if compiler.isMinGW32(): self.buildDependencies['dev-util/mingw4'] = 'default' else: self.buildDependencies['dev-util/mingw-w32'] = 'default' if os.getenv( "EMERGE_MAKE_PROGRAM" ) != "": self.buildDependencies['dev-util/jom'] = 'default'
def setDependencies( self ): self.dependencies[ 'kdesupport/poppler' ] = 'default' if compiler.isMinGW32(): self.dependencies[ 'dev-util/mingw4' ] = 'default' elif compiler.isMinGW_W32(): self.dependencies[ 'dev-util/mingw-w32' ] = 'default' elif compiler.isMinGW_W64(): self.dependencies[ 'dev-util/mingw-w64' ] = 'default'
def install(self): if not BinaryPackageBase.install(self): return False if compiler.isMinGW_W32(): shutil.move(os.path.join(self.imageDir(),"yasm-1.2.0-win32.exe"),os.path.join(self.imageDir(),"yasm.exe")) if compiler.isMinGW_W64(): shutil.move(os.path.join(self.imageDir(),"yasm-1.2.0-win64.exe"),os.path.join(self.imageDir(),"yasm.exe")) return True
def install(self): if not BinaryPackageBase.install(self): return False if compiler.isMinGW_W32(): shutil.move(os.path.join(self.imageDir(), "yasm-1.2.0-win32.exe"), os.path.join(self.imageDir(), "yasm.exe")) if compiler.isMinGW_W64(): shutil.move(os.path.join(self.imageDir(), "yasm-1.2.0-win64.exe"), os.path.join(self.imageDir(), "yasm.exe")) return True
def setDependencies( self ): self.buildDependencies['dev-util/cmake'] = 'default' if os.getenv( "EMERGE_MAKE_PROGRAM" ) != "": self.buildDependencies['dev-util/jom'] = 'default' if compiler.isMinGW(): if compiler.isMinGW_W64(): self.buildDependencies['dev-util/mingw-w64'] = 'default' elif compiler.isMinGW_ARM(): self.buildDependencies['dev-util/cegcc-arm-wince'] = 'default' else: if compiler.isMinGW32(): self.buildDependencies['dev-util/mingw4'] = 'default' else: self.buildDependencies['dev-util/mingw-w32'] = 'default'
def setDependencies(self): utils.debug("emergebuildsystem:subinfo.setDependencies not implemented yet", 1) # we need at least qmake # self.dependencies['libs/qt'] = 'default' if os.getenv("EMERGE_MAKE_PROGRAM") != "": self.buildDependencies["dev-util/jom"] = "default" if compiler.isMinGW(): if compiler.isMinGW_W64(): self.buildDependencies["dev-util/mingw-w64"] = "default" elif compiler.isMinGW_ARM(): self.buildDependencies["dev-util/cegcc-arm-wince"] = "default" else: if compiler.isMinGW32(): self.buildDependencies["dev-util/mingw4"] = "default" else: self.buildDependencies["dev-util/mingw-w32"] = "default"
def setTargets( self ): for ver in [ '0.9.8k' , '0.9.8m' ,'1.0.0', '1.0.0a', '1.0.0b', '1.0.0c','1.0.0d' ]: self.targets[ ver ] = 'http://www.openssl.org/source/openssl-' + ver + '.tar.gz' self.targetInstSrc[ ver ] = 'openssl-' + ver if ver != '1.0.0a': self.patchToApply[ ver ] = ('openssl-'+ver+'.diff', 1) self.targetDigestUrls[ ver ] = 'http://www.openssl.org/source/openssl-' + ver + '.tar.gz.sha1' self.targets[ '1.0.1-snapshot' ] = 'ftp://ftp.openssl.org/snapshot/openssl-1.0.1-stable-SNAP-20101028.tar.gz' self.shortDescription = "The OpenSSL runtime environment" if emergePlatform.isCrossCompilingEnabled(): self.defaultTarget = '1.0.0' else: self.defaultTarget = '1.0.0d' if compiler.isMinGW_W64(): self.patchToApply[ '1.0.0' ] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply[ '1.0.0a' ] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply[ '1.0.0b' ] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply[ '1.0.0c' ] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply[ '1.0.0d' ] = ('openssl-1.0.0a-mingw64-asm.diff', 1)
def setTargets( self ): self.vlcArch = "32" if( emergePlatform.buildArchitecture() == 'x64' ): self.vlcArch = "64" self.vlcBaseUrl = 'http://nightlies.videolan.org/build/win'+self.vlcArch+'/last/' self.vlcTagName = '1.2.0-git-' self.targets[ self.vlcTagName + self.getVer() ] = self.vlcBaseUrl + 'vlc-' + self.vlcTagName + self.getVer() + "-win32.7z" self.targetInstSrc[ self.vlcTagName + self.getVer() ] = 'vlc-' + self.vlcTagName + self.getVer() self.targets[ self.vlcTagName + self.getVer() +"-debug" ] = self.vlcBaseUrl + 'vlc-' + self.vlcTagName + self.getVer() + "-win32-debug.7z" self.targetInstSrc[ self.vlcTagName + self.getVer() + "-debug" ] = 'vlc-' + self.vlcTagName + self.getVer() releaseTag = '1.1.11' self.targets[ releaseTag ] = "http://downloads.sourceforge.net/sourceforge/vlc/vlc-"+releaseTag+"-win32.7z" self.targetInstSrc[ releaseTag ] = 'vlc-' + releaseTag self.targetDigests['1.1.11'] = '5d95a0e55c1d30f21e6dd4aa2fb1744a3ab694ac' self.shortDescription = "an open-source multimedia framework" if compiler.isMinGW_W64(): self.defaultTarget = self.vlcTagName + self.getVer() +"-debug" else: self.defaultTarget = releaseTag
def setTargets(self): # The deref version is a repackaged tarball of 1.0.0d # creation of this tarball was done on a secure machine # and the sources are exactly the same. Packaged # with GNU Tar options: tar --dereference -czf to avoid # problems with symlinks on windows # TODO: Patch this to use icl.exe when compiler.isIntel() # As this is pure C, there should be no problem with building it with cl.exe by now self.targets['1.0.0d'] = ('https://downloads.sourceforge.net/project/kde-windows' '/openssl/1.0.0d/openssl-1.0.0d-orig-deref-src.tar.gz') self.targetInstSrc['1.0.0d'] = 'openssl-1.0.0d' self.patchToApply['1.0.0d'] = ('openssl-1.0.0d.diff', 1) self.targetDigests['1.0.0d'] = '5c8472d09958c630eeb7548a1aeccb78fbd5cd10' for ver in ['0.9.8k', '0.9.8m', '1.0.0', '1.0.0a', '1.0.0b', '1.0.0c', '1.0.1c', '1.0.1e', '1.0.1f', '1.0.1g', '1.0.1h', '1.0.1i', '1.0.1j', '1.0.1k', '1.0.2a', '1.0.2c', '1.0.2d']: self.targets[ver] = 'ftp://ftp.openssl.org/source/openssl-' + ver + '.tar.gz' self.targetInstSrc[ver] = 'openssl-' + ver # if compiler.isMSVC() and ver not in [ '0.9.8k' , '0.9.8m' ,'1.0.0', '1.0.0a', '1.0.0b', '1.0.0c' ]: # self.patchToApply[ ver ] = ('openssl-with-pdbs.diff', 1) if (compiler.isMSVC2013() or compiler.isMSVC2015()) and ver in ['1.0.1k']: self.patchToApply[ver] = ('openssl-1.0.1k.diff', 1) self.targetDigestUrls[ver] = 'ftp://ftp.openssl.org/source/openssl-' + ver + '.tar.gz.sha1' self.targets['1.0.1-snapshot'] = 'ftp://ftp.openssl.org/snapshot/openssl-1.0.1-stable-SNAP-20101028.tar.gz' self.shortDescription = "The OpenSSL runtime environment" self.defaultTarget = '1.0.2d' if compiler.isMinGW_W64(): self.patchToApply['1.0.0'] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply['1.0.0a'] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply['1.0.0b'] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply['1.0.0c'] = ('openssl-1.0.0a-mingw64-asm.diff', 1) self.patchToApply['1.0.0d'] = ('openssl-1.0.0a-mingw64-asm.diff', 1)