Esempio n. 1
0
    def ruleBemacsCli(self):
        log.info('Running ruleBemacsCli')
        self.make('all')

        build_utils.mkdirAndParents(self.BUILD_BEMACS_BIN_DIR)
        build_utils.copyFile('../Editor/exe-cli-bemacs/bemacs-cli',
                             self.BUILD_BEMACS_BIN_DIR, 0o555)
Esempio n. 2
0
    def ruleBemacsGui(self):
        log.info('Running ruleBemacsGui')

        self.make('all')

        if self.platform in ('Linux', 'NetBSD', 'MacOSX'):
            build_utils.copyFile('../Editor/exe-pybemacs/_bemacs.so',
                                 self.BUILD_BEMACS_LIB_DIR, 0o555)
            build_utils.copyFile('../Editor/exe-cli-bemacs/bemacs-cli',
                                 self.BUILD_BEMACS_BIN_DIR, 0o555)

        if self.platform == 'MacOSX':
            run(('./build-macosx.sh', '--package'), cwd='../Editor/PyQtBEmacs')

            build_utils.mkdirAndParents(self.BUILD_BEMACS_BIN_DIR)
            build_utils.copyFile('../Editor/exe-cli-bemacs/bemacs-cli',
                                 self.BUILD_BEMACS_BIN_DIR, 0o555)

        elif self.platform == 'win64':
            run(('build-windows.cmd', self.KITFILES,
                 self.bemacs_version_info.get('win_version')),
                cwd=r'..\Editor\PyQtBEmacs')

        else:
            run(('./build-linux.sh', self.BEMACS_ROOT_DIR,
                 self.INSTALL_BEMACS_BIN_DIR, self.INSTALL_BEMACS_LIB_DIR,
                 self.INSTALL_BEMACS_DOC_DIR),
                cwd='../Editor/PyQtBEmacs')
Esempio n. 3
0
    def ruleBuild(self):
        self.ruleBrand()
        for folder in (self.BUILD_BEMACS_DOC_DIR, self.BUILD_BEMACS_LIB_DIR,
                       self.BUILD_BEMACS_BIN_DIR):
            build_utils.mkdirAndParents(folder)

        if self.target == 'gui':
            self.ruleBemacsGui()
        else:
            self.ruleBemacsCli()

        if not self.opt_sqlite:
            self.ruleUtils()

        if self.opt_hunspell_package_dictionaries:
            self.ruleHunspellDictionaries()
        self.ruleMlisp()
        self.ruleDescribe()
        self.ruleQuickInfo()
        self.ruleDocs()

        if self.platform == 'MacOSX':
            self.ruleMacosPackage()
        if self.platform == 'win64':
            self.ruleInnoInstaller()
Esempio n. 4
0
    def ruleMacosPackage(self):
        log.info('Make macOS package')

        pkg_name = 'BarrysEmacs-%s' % (
            self.bemacs_version_info.get('version'), )
        dmg_folder = '%s/Builder/tmp/dmg' % (self.BUILDER_TOP_DIR, )
        pkg_folder = '%s/Builder/tmp/pkg' % (self.BUILDER_TOP_DIR, )

        build_utils.mkdirAndParents(pkg_folder)
        build_utils.mkdirAndParents(dmg_folder)

        run(('cp', '-r', "%s/Barry's Emacs-Devel.app" % (pkg_folder, ),
             "%s/Barry's Emacs.app" % (dmg_folder, )))

        os.rename(
            "%s/Barry's Emacs.app/Contents/MacOS/Barry's Emacs-Devel" %
            (dmg_folder, ),
            "%s/Barry's Emacs.app/Contents/MacOS/Barry's Emacs" %
            (dmg_folder, ))

        log.info('Create DMG')
        # use 2.7 version as 3.5 version does not work yet (confuses bytes and str)
        run(('/Library/Frameworks/Python.framework/Versions/2.7/bin/dmgbuild',
             '--settings', 'package_macos_dmg_settings.py', "Barry's Emacs",
             '%s/%s.dmg' % (dmg_folder, pkg_name)))
Esempio n. 5
0
    def ruleBuild( self ):
        log.info( 'Running ruleBuild' )
        for folder in (self.BUILD_DOC_DIR, self.BUILD_BIN_DIR):
            build_utils.mkdirAndParents( folder )

        self.ruleScmWorkbench()

        if self.platform == 'MacOSX':
            self.ruleMacosPackage()

        if self.platform == 'win64':
            self.ruleInnoInstaller()
Esempio n. 6
0
    def ruleMacosPackage( self ):
        log.info( 'Running ruleMacosPackage' )

        pkg_name = 'SCM Workbench-%s' % (self.wb_version_info.get('version'),)
        dmg_folder = '%s/Builder/tmp/dmg' % (self.BUILDER_TOP_DIR,)
        app_folder = '%s/Builder/tmp/app' % (self.BUILDER_TOP_DIR,)
        venv_bin = '%s/Builder/tmp/venv/bin' % (self.BUILDER_TOP_DIR,)

        build_utils.mkdirAndParents( app_folder )
        build_utils.mkdirAndParents( dmg_folder )

        log.info( 'Create DMG' )
        run( ('%s/dmgbuild' % (venv_bin,),
                '--settings', 'package_macos_dmg_settings.py',
                'SCM Workbench',
                '%s/%s.dmg' % (dmg_folder, pkg_name)) )
Esempio n. 7
0
    def ruleMacosPackage(self):
        log.info('Make macOS package')

        pkg_name = 'BarrysEmacs-%s' % (
            self.bemacs_version_info.get('version'), )
        dmg_folder = '%s/Builder/tmp/dmg' % (self.BUILDER_TOP_DIR, )
        pkg_folder = '%s/Builder/tmp/pkg' % (self.BUILDER_TOP_DIR, )
        venv_bin = '%s/Builder/venv.tmp/bin' % (self.BUILDER_TOP_DIR, )

        build_utils.mkdirAndParents(pkg_folder)
        build_utils.mkdirAndParents(dmg_folder)

        run(('cp', '-r', "%s/Barry's Emacs.app" % (pkg_folder, ),
             "%s/Barry's Emacs.app" % (dmg_folder, )))

        log.info('Create DMG')
        run(('%s/dmgbuild' % (venv_bin, ), '--settings',
             'package_macos_dmg_settings.py', "Barry's Emacs",
             '%s/%s.dmg' % (dmg_folder, pkg_name)))