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)
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')
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()
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)))
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()
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)) )
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)))