Example #1
0
def main(args):
    pyver = python_major_minor_version()
    b = build_dir()
    if ismacos:
        b = os.path.join(
            b, 'python/Python.framework/Versions/{}.{}'.format(*pyver))
    elif iswindows:
        b = os.path.join(b, 'private', 'python')
    cmd = [
        PYTHON, 'configure.py', '--no-pyi', '--sip-module=PyQt5.sip',
        '--bindir=%s/bin' % build_dir()
    ]
    sp = 'Lib' if iswindows else 'lib/python{}.{}'.format(*pyver)
    inc = 'include' if iswindows else 'include/python{}.{}'.format(*pyver)
    cmd += [
        '--destdir=%s/%s/site-packages' % (b, sp),
        '--sipdir=%s/share/sip' % b,
        '--incdir=%s/%s' % (b, inc)
    ]
    run(*cmd, library_path=True)
    if iswindows:
        run(f'"{NMAKE}"'), run(f'"{NMAKE}" install')
    else:
        run('make ' + MAKEOPTS)
        run('make install', library_path=True)
    q, r = build_dir(), PREFIX
    if iswindows:
        q = q.replace(os.sep, os.sep + os.sep)
        r = r.replace(os.sep, os.sep + os.sep)
    p = 'Lib' if iswindows else 'lib/python{}.{}'.format(*pyver)
    replace_in_file(os.path.join(b, p, 'site-packages/sipconfig.py'), q, r)
Example #2
0
def post_install_check():
    if iswindows:
        # Ensure the system python27.dll is not being loaded
        run(PYTHON, '-c',
            "import sys; 'MSC v.1916' not in sys.version and sys.exit(1)")
    mods = '_ssl zlib bz2 ctypes sqlite3'.split()
    if python_major_minor_version()[0] > 2:
        mods.append('lzma')
    if not iswindows:
        mods.extend('readline _curses'.split())
    run(PYTHON, '-c', 'import ' + ','.join(mods), library_path=True)
Example #3
0
 def __init__(self, build_dir):
     self.python_base = os.path.join(PREFIX, 'private', 'python')
     self.portable_uncompressed_size = 0
     self.src_root = CALIBRE_DIR
     self.base = j(build_dir, 'winfrozen')
     self.app_base = j(self.base, 'app')
     self.rc_template = j(d(a(__file__)), 'template.rc')
     self.py_ver = '.'.join(map(str, python_major_minor_version()))
     self.lib_dir = j(self.app_base, 'Lib')
     self.pylib = j(self.app_base, 'pylib.zip')
     self.dll_dir = j(self.app_base, 'bin')
     self.portable_base = j(d(self.base), 'Calibre Portable')
     self.obj_dir = j(build_dir, 'launcher')
     self.installer_dir = j(build_dir, 'wix')
     self.dist = j(SW, 'dist')
Example #4
0
File: pyqt.py Project: rayx/bypy
def run_configure(for_webengine=False):
    pyver = python_major_minor_version()
    b = build_dir()
    if ismacos:
        b = os.path.join(
            b, 'python/Python.framework/Versions/{}.{}'.format(*pyver))
    elif iswindows:
        b = os.path.join(b, 'private', 'python')
    lp = os.path.join(PREFIX, 'qt', 'lib')
    sip, qmake = 'sip', 'qmake'
    if iswindows:
        sip += '.exe'
        qmake += '.exe'
    sp = 'Lib' if iswindows else 'lib/python{}.{}'.format(*pyver)
    sip_dir = f'{b}/share/sip/PyQt5'
    dest_dir = f'{b}/{sp}/site-packages'
    if for_webengine:
        pyqt_options = []
        os.makedirs(sip_dir)
        dest_dir += '/PyQt5'
    else:
        pyqt_options = [
            '--confirm-license',
            '--assume-shared',
            f'--bindir={b}/bin',
            '--no-designer-plugin',
            '--no-qml-plugin',
        ]
    cmd = [PYTHON, 'configure.py'] + pyqt_options + [
        '--sip=%s/bin/%s' % (PREFIX, sip),
        '--qmake=%s/qt/bin/%s' % (PREFIX, qmake),
        f'--destdir={dest_dir}',
        '--verbose',
        f'--sipdir={sip_dir}',
        '--no-stubs',
        '-c',
        '-j5',
        '--no-docstrings',
    ]
    if iswindows:
        cmd.append('--spec=win32-msvc')
        cmd.append('--sip-incdir=%s/private/python/include' % PREFIX)
        if for_webengine:
            cmd.append(
                f'--pyqt-sipdir={PREFIX}/private/python/share/sip/PyQt5')
    run(*cmd, library_path=lp)
    return dest_dir
Example #5
0
import shutil
import stat
import subprocess
import tarfile
import time

from bypy.constants import (OUTPUT_DIR, PREFIX, is64bit,
                            python_major_minor_version)
from bypy.freeze import (extract_extension_modules, freeze_python,
                         path_to_freeze_dir)
from bypy.utils import get_dll_path, mkdtemp, py_compile, walk

j = os.path.join
arch = 'x86_64' if is64bit else 'i686'
self_dir = os.path.dirname(os.path.abspath(__file__))
py_ver = '.'.join(map(str, python_major_minor_version()))
iv = globals()['init_env']
kitty_constants = iv['kitty_constants']


def binary_includes():
    return tuple(
        map(get_dll_path, (
            'expat',
            'sqlite3',
            'ffi',
            'z',
            'lzma',
            'png16',
            'lcms2',
            'crypt',
Example #6
0
from bypy.constants import (
    LIBDIR, PREFIX, PYTHON, SRC as CALIBRE_DIR, SW, build_dir, is64bit,
    python_major_minor_version, worker_env
)
from bypy.pkgs.qt import PYQT_MODULES, QT_DLLS, QT_PLUGINS
from bypy.utils import (
    create_job, get_dll_path, mkdtemp, parallel_build, py_compile, run, run_shell,
    walk
)

j = os.path.join
self_dir = os.path.dirname(os.path.abspath(__file__))
arch = 'x86_64' if is64bit else 'i686'

py_ver = '.'.join(map(str, python_major_minor_version()))
QT_PREFIX = os.path.join(PREFIX, 'qt')
calibre_constants = globals()['init_env']['calibre_constants']
qt_get_dll_path = partial(get_dll_path, loc=os.path.join(QT_PREFIX, 'lib'))


def binary_includes():
    return [
        j(PREFIX, 'bin', x) for x in ('pdftohtml', 'pdfinfo', 'pdftoppm', 'optipng', 'JxrDecApp')] + [

        j(PREFIX, 'private', 'mozjpeg', 'bin', x) for x in ('jpegtran', 'cjpeg')] + [
        ] + list(map(
            get_dll_path,
            ('usb-1.0 mtp expat sqlite3 ffi z poppler dbus-1 iconv xml2 xslt jpeg png16'
             ' webp exslt ncursesw readline chm icudata icui18n icuuc icuio gcrypt gpg-error'
             ' gobject-2.0 glib-2.0 gthread-2.0 gmodule-2.0 gio-2.0 dbus-glib-1').split()