コード例 #1
0
ファイル: runtime.py プロジェクト: pgquiles/kdewindows-emerge
    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
コード例 #2
0
ファイル: runtime.py プロジェクト: pgquiles/kdewindows-emerge
    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
コード例 #3
0
    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
コード例 #4
0
ファイル: base-0.2.py プロジェクト: KDE/emerge-history
    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'
コード例 #5
0
 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'
コード例 #6
0
ファイル: yasm.py プロジェクト: TheOneRing/emerge
 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
コード例 #7
0
 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
コード例 #8
0
    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'
コード例 #9
0
    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"
コード例 #10
0
    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)
コード例 #11
0
  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
コード例 #12
0
ファイル: openssl.py プロジェクト: pombredanne/emerge-1
    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)