def build_osx(): """Build OS X .dmg/.app.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building .app via pyinstaller") call_tox('pyinstaller', '-r') utils.print_title("Patching .app") patch_osx_app() utils.print_title("Building .dmg") subprocess.check_call(['make', '-f', 'scripts/dev/Makefile-dmg']) utils.print_title("Cleaning up...") for f in ['wc.dmg', 'template.dmg']: os.remove(f) for d in ['dist', 'build']: shutil.rmtree(d) dmg_name = 'qutebrowser-{}.dmg'.format(qutebrowser.__version__) os.rename('qutebrowser.dmg', dmg_name) utils.print_title("Running smoke test") with tempfile.TemporaryDirectory() as tmpdir: subprocess.check_call( ['hdiutil', 'attach', dmg_name, '-mountpoint', tmpdir]) try: binary = os.path.join(tmpdir, 'qutebrowser.app', 'Contents', 'MacOS', 'qutebrowser') smoke_test(binary) finally: subprocess.check_call(['hdiutil', 'detach', tmpdir]) return [(dmg_name, 'application/x-apple-diskimage', 'OS X .dmg')]
def build_windows(): """Build windows executables/setups.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building Windows binaries") parts = str(sys.version_info.major), str(sys.version_info.minor) ver = ''.join(parts) python_x86 = r'C:\Program Files (x86)\Python{}-32\python.exe'.format(ver) python_x64 = r'C:\Program Files\Python{}\python.exe'.format(ver) out_pyinstaller = os.path.join('dist', 'qutebrowser') out_32 = os.path.join('dist', 'qutebrowser-{}-x86'.format(qutebrowser.__version__)) out_64 = os.path.join('dist', 'qutebrowser-{}-x64'.format(qutebrowser.__version__)) artifacts = [] utils.print_title("Running pyinstaller 32bit") _maybe_remove(out_32) call_tox('pyinstaller', '-r', python=python_x86) shutil.move(out_pyinstaller, out_32) patch_windows(out_32) utils.print_title("Running pyinstaller 64bit") _maybe_remove(out_64) call_tox('pyinstaller', '-r', python=python_x64) shutil.move(out_pyinstaller, out_64) patch_windows(out_64) # name_32 = 'qutebrowser-{}-win32.msi'.format(qutebrowser.__version__) # name_64 = 'qutebrowser-{}-amd64.msi'.format(qutebrowser.__version__) # artifacts += [ # (os.path.join('dist', name_32), 'application/x-msi', # 'Windows 32bit installer'), # (os.path.join('dist', name_64), 'application/x-msi', # 'Windows 64bit installer'), # ] utils.print_title("Running 32bit smoke test") smoke_test(os.path.join(out_32, 'qutebrowser.exe')) utils.print_title("Running 64bit smoke test") smoke_test(os.path.join(out_64, 'qutebrowser.exe')) utils.print_title("Zipping 32bit standalone...") name = 'qutebrowser-{}-windows-standalone-win32'.format( qutebrowser.__version__) shutil.make_archive(name, 'zip', 'dist', os.path.basename(out_32)) artifacts.append( ('{}.zip'.format(name), 'application/zip', 'Windows 32bit standalone')) utils.print_title("Zipping 64bit standalone...") name = 'qutebrowser-{}-windows-standalone-amd64'.format( qutebrowser.__version__) shutil.make_archive(name, 'zip', 'dist', os.path.basename(out_64)) artifacts.append( ('{}.zip'.format(name), 'application/zip', 'Windows 64bit standalone')) return artifacts
def build_osx(): """Build OS X .dmg/.app.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building .app via pyinstaller") call_tox('pyinstaller', '-r') utils.print_title("Building .dmg") subprocess.check_call(['make', '-f', 'scripts/dev/Makefile-dmg']) utils.print_title("Cleaning up...") for f in ['wc.dmg', 'template.dmg']: os.remove(f) for d in ['dist', 'build']: shutil.rmtree(d) dmg_name = 'qutebrowser-{}.dmg'.format(qutebrowser.__version__) os.rename('qutebrowser.dmg', dmg_name) utils.print_title("Running smoke test") with tempfile.TemporaryDirectory() as tmpdir: subprocess.check_call(['hdiutil', 'attach', dmg_name, '-mountpoint', tmpdir]) try: binary = os.path.join(tmpdir, 'qutebrowser.app', 'Contents', 'MacOS', 'qutebrowser') smoke_test(binary) finally: subprocess.check_call(['hdiutil', 'detach', tmpdir]) return [(dmg_name, 'application/x-apple-diskimage', 'OS X .dmg')]
def build_windows(): """Build windows executables/setups.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building Windows binaries") parts = str(sys.version_info.major), str(sys.version_info.minor) ver = ''.join(parts) dotver = '.'.join(parts) python_x86 = r'C:\Python{}_x32'.format(ver) python_x64 = r'C:\Python{}'.format(ver) utils.print_title("Running 32bit freeze.py build_exe") call_freeze('build_exe', python=python_x86) utils.print_title("Running 32bit freeze.py bdist_msi") call_freeze('bdist_msi', python=python_x86) utils.print_title("Running 64bit freeze.py build_exe") call_freeze('build_exe', python=python_x64) utils.print_title("Running 64bit freeze.py bdist_msi") call_freeze('bdist_msi', python=python_x64) utils.print_title("Running 32bit smoke test") smoke_test('build/exe.win32-{}/qutebrowser.exe'.format(dotver)) utils.print_title("Running 64bit smoke test") smoke_test('build/exe.win-amd64-{}/qutebrowser.exe'.format(dotver)) destdir = os.path.join('dist', 'zip') _maybe_remove(destdir) os.makedirs(destdir) basedirname = 'qutebrowser-{}'.format(qutebrowser.__version__) builddir = os.path.join('build', basedirname) _maybe_remove(builddir) utils.print_title("Zipping 32bit standalone...") name = 'qutebrowser-{}-windows-standalone-win32'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win32-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(os.path.join(destdir, name), 'zip', 'build', basedirname) shutil.rmtree(builddir) utils.print_title("Zipping 64bit standalone...") name = 'qutebrowser-{}-windows-standalone-amd64'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win-amd64-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(os.path.join(destdir, name), 'zip', 'build', basedirname) shutil.rmtree(builddir) utils.print_title("Creating final zip...") shutil.move(os.path.join('dist', 'qutebrowser-{}-amd64.msi'.format( qutebrowser.__version__)), os.path.join('dist', 'zip')) shutil.move(os.path.join('dist', 'qutebrowser-{}-win32.msi'.format( qutebrowser.__version__)), os.path.join('dist', 'zip')) shutil.make_archive('qutebrowser-{}-windows'.format( qutebrowser.__version__), 'zip', destdir)
def build_osx(): """Build OS X .dmg/.app.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building .app via pyinstaller") call_tox('pyinstaller') utils.print_title("Building .dmg") subprocess.check_call(['make', '-f', 'scripts/dev/Makefile-dmg']) utils.print_title("Cleaning up...") for f in ['wc.dmg', 'template.dmg']: os.remove(f) for d in ['dist', 'build']: shutil.rmtree(d)
def build_windows(): """Build windows executables/setups.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building Windows binaries") parts = str(sys.version_info.major), str(sys.version_info.minor) ver = ''.join(parts) dotver = '.'.join(parts) python_x86 = r'C:\Python{}_x32'.format(ver) python_x64 = r'C:\Python{}'.format(ver) artifacts = [] utils.print_title("Rebuilding tox environment") call_tox('cxfreeze-windows', '-r', '--notest') utils.print_title("Running 32bit freeze.py build_exe") call_tox('cxfreeze-windows', 'build_exe', python=python_x86) utils.print_title("Running 32bit freeze.py bdist_msi") call_tox('cxfreeze-windows', 'bdist_msi', python=python_x86) utils.print_title("Running 64bit freeze.py build_exe") call_tox('cxfreeze-windows', 'build_exe', python=python_x64) utils.print_title("Running 64bit freeze.py bdist_msi") call_tox('cxfreeze-windows', 'bdist_msi', python=python_x64) name_32 = 'qutebrowser-{}-win32.msi'.format(qutebrowser.__version__) name_64 = 'qutebrowser-{}-amd64.msi'.format(qutebrowser.__version__) artifacts += [ (os.path.join('dist', name_32), 'application/x-msi', 'Windows 32bit installer'), (os.path.join('dist', name_64), 'application/x-msi', 'Windows 64bit installer'), ] utils.print_title("Running 32bit smoke test") smoke_test('build/exe.win32-{}/qutebrowser.exe'.format(dotver)) utils.print_title("Running 64bit smoke test") smoke_test('build/exe.win-amd64-{}/qutebrowser.exe'.format(dotver)) basedirname = 'qutebrowser-{}'.format(qutebrowser.__version__) builddir = os.path.join('build', basedirname) _maybe_remove(builddir) utils.print_title("Zipping 32bit standalone...") name = 'qutebrowser-{}-windows-standalone-win32'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win32-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(name, 'zip', 'build', basedirname) shutil.rmtree(builddir) artifacts.append( ('{}.zip'.format(name), 'application/zip', 'Windows 32bit standalone')) utils.print_title("Zipping 64bit standalone...") name = 'qutebrowser-{}-windows-standalone-amd64'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win-amd64-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(name, 'zip', 'build', basedirname) shutil.rmtree(builddir) artifacts.append( ('{}.zip'.format(name), 'application/zip', 'Windows 64bit standalone')) return artifacts
def build_windows(): """Build windows executables/setups.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building Windows binaries") parts = str(sys.version_info.major), str(sys.version_info.minor) ver = ''.join(parts) dotver = '.'.join(parts) python_x86 = r'C:\Python{}_x32'.format(ver) python_x64 = r'C:\Python{}'.format(ver) artifacts = [] utils.print_title("Rebuilding tox environment") call_tox('cxfreeze-windows', '-r', '--notest') utils.print_title("Running 32bit freeze.py build_exe") call_tox('cxfreeze-windows', 'build_exe', python=python_x86) utils.print_title("Running 32bit freeze.py bdist_msi") call_tox('cxfreeze-windows', 'bdist_msi', python=python_x86) utils.print_title("Running 64bit freeze.py build_exe") call_tox('cxfreeze-windows', 'build_exe', python=python_x64) utils.print_title("Running 64bit freeze.py bdist_msi") call_tox('cxfreeze-windows', 'bdist_msi', python=python_x64) name_32 = 'qutebrowser-{}-win32.msi'.format(qutebrowser.__version__) name_64 = 'qutebrowser-{}-amd64.msi'.format(qutebrowser.__version__) artifacts += [ (os.path.join('dist', name_32), 'application/x-msi', 'Windows 32bit installer'), (os.path.join('dist', name_64), 'application/x-msi', 'Windows 64bit installer'), ] utils.print_title("Running 32bit smoke test") smoke_test('build/exe.win32-{}/qutebrowser.exe'.format(dotver)) utils.print_title("Running 64bit smoke test") smoke_test('build/exe.win-amd64-{}/qutebrowser.exe'.format(dotver)) basedirname = 'qutebrowser-{}'.format(qutebrowser.__version__) builddir = os.path.join('build', basedirname) _maybe_remove(builddir) utils.print_title("Zipping 32bit standalone...") name = 'qutebrowser-{}-windows-standalone-win32'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win32-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(name, 'zip', 'build', basedirname) shutil.rmtree(builddir) artifacts.append(('{}.zip'.format(name), 'application/zip', 'Windows 32bit standalone')) utils.print_title("Zipping 64bit standalone...") name = 'qutebrowser-{}-windows-standalone-amd64'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win-amd64-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(name, 'zip', 'build', basedirname) shutil.rmtree(builddir) artifacts.append(('{}.zip'.format(name), 'application/zip', 'Windows 64bit standalone')) return artifacts
def build_windows(): """Build windows executables/setups.""" utils.print_title("Updating 3rdparty content") update_3rdparty.update_pdfjs() utils.print_title("Building Windows binaries") parts = str(sys.version_info.major), str(sys.version_info.minor) ver = ''.join(parts) dotver = '.'.join(parts) python_x86 = r'C:\Python{}_x32'.format(ver) python_x64 = r'C:\Python{}'.format(ver) utils.print_title("Running 32bit freeze.py build_exe") call_freeze('build_exe', python=python_x86) utils.print_title("Running 32bit freeze.py bdist_msi") call_freeze('bdist_msi', python=python_x86) utils.print_title("Running 64bit freeze.py build_exe") call_freeze('build_exe', python=python_x64) utils.print_title("Running 64bit freeze.py bdist_msi") call_freeze('bdist_msi', python=python_x64) utils.print_title("Running 32bit smoke test") smoke_test('build/exe.win32-{}/qutebrowser.exe'.format(dotver)) utils.print_title("Running 64bit smoke test") smoke_test('build/exe.win-amd64-{}/qutebrowser.exe'.format(dotver)) destdir = os.path.join('dist', 'zip') _maybe_remove(destdir) os.makedirs(destdir) basedirname = 'qutebrowser-{}'.format(qutebrowser.__version__) builddir = os.path.join('build', basedirname) _maybe_remove(builddir) utils.print_title("Zipping 32bit standalone...") name = 'qutebrowser-{}-windows-standalone-win32'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win32-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(os.path.join(destdir, name), 'zip', 'build', basedirname) shutil.rmtree(builddir) utils.print_title("Zipping 64bit standalone...") name = 'qutebrowser-{}-windows-standalone-amd64'.format( qutebrowser.__version__) origin = os.path.join('build', 'exe.win-amd64-{}'.format(dotver)) os.rename(origin, builddir) shutil.make_archive(os.path.join(destdir, name), 'zip', 'build', basedirname) shutil.rmtree(builddir) utils.print_title("Creating final zip...") shutil.move( os.path.join( 'dist', 'qutebrowser-{}-amd64.msi'.format(qutebrowser.__version__)), os.path.join('dist', 'zip')) shutil.move( os.path.join( 'dist', 'qutebrowser-{}-win32.msi'.format(qutebrowser.__version__)), os.path.join('dist', 'zip')) shutil.make_archive( 'qutebrowser-{}-windows'.format(qutebrowser.__version__), 'zip', destdir)