Пример #1
0
 def prepare_packages_posix(self, vars):
     if sys.platform.startswith('linux'):
         # patchelf -> Shiboken/patchelf
         copyfile(
             "{script_dir}/patchelf",
             "{dist_dir}/Shiboken/patchelf",
             vars=vars)
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     makefile(
         "{dist_dir}/Shiboken/__init__.py",
         content="__all__ = ['shiboken']",
         vars=vars)
     # <build>/shiboken/doc/html/* -> <setup>/Shiboken/docs/shiboken
     copydir(
         "{build_dir}/shiboken/doc/html",
         "{dist_dir}/Shiboken/docs/shiboken",
         force=False, vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/Shiboken/shiboken.so
     copyfile(
         "{site_packages_dir}/shiboken.so",
         "{dist_dir}/Shiboken/shiboken.so",
         vars=vars)
     # <install>/bin/* -> Shiboken/
     copydir(
         "{install_dir}/bin/",
         "{dist_dir}/Shiboken",
         filter=[
             "shiboken",
         ],
         recursive=False, vars=vars)
     # <install>/lib/lib* -> Shiboken/
     copydir(
         "{install_dir}/lib/",
         "{dist_dir}/Shiboken",
         filter=[
             "libshiboken*" + so_star,
         ],
         recursive=False, vars=vars)
     # <install>/include/* -> <setup>/Shiboken/include
     copydir(
         "{install_dir}/include",
         "{dist_dir}/Shiboken/include",
         vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/lib/* -> <setup>/Shiboken
         copydir("{qt_lib_dir}", "{dist_dir}/Shiboken",
             filter=[
                 "libQtCore*.so.?", "libQtXml*.so.?",
             ],
             recursive=False, vars=vars)
Пример #2
0
import sys, os, shutil

sys.path.append(os.path.dirname(os.path.dirname(__file__)))
import utils

srcpath = os.path.abspath(os.path.join(os.path.dirname(__file__), 'srcdir'))
dstpath = os.path.abspath(os.path.join(os.path.dirname(__file__), 'dstdir'))
try:
    os.makedirs(srcpath)
except:
    pass
try:
    os.makedirs(dstpath)
except:
    pass
f = open(os.path.join(srcpath, 'tmp1'), 'w')
f.close()
utils.copydir(srcpath, dstpath)
shutil.rmtree(srcpath)
shutil.rmtree(dstpath)
Пример #3
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'] if self.debug or self.build_type == 'RelWithDebInfo' else []       
        # <install>/lib/site-packages/PySide/* -> <setup>/PySide
        copydir(
            "{install_dir}/lib/site-packages/PySide",
            "{dist_dir}/PySide",
            logger=log, vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside/PySide/*.pdb -> <setup>/PySide
            copydir(
                "{build_dir}/pyside/PySide",
                "{dist_dir}/PySide",
                filter=pdbs,
                recursive=False, logger=log, vars=vars)
        # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
        copydir(
            "{build_dir}/shiboken/doc/html",
            "{dist_dir}/PySide/docs/shiboken",
            force=False, logger=log, vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
        copyfile(
            "{install_dir}/lib/site-packages/shiboken{dbgPostfix}.pyd",
            "{dist_dir}/PySide/shiboken{dbgPostfix}.pyd",
            logger=log, vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken{dbgPostfix}.pdb",
                logger=log, vars=vars)        
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir(
            "{install_dir}/lib/site-packages/pysideuic",
            "{dist_dir}/pysideuic",
            force=False, logger=log, vars=vars)
        # <install>/bin/pyside-uic -> PySide/scripts/uic.py
        makefile(
            "{dist_dir}/PySide/scripts/__init__.py",
            logger=log, vars=vars)
        copyfile(
            "{install_dir}/bin/pyside-uic",
            "{dist_dir}/PySide/scripts/uic.py",
            force=False, logger=log, vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide/
        copydir(
            "{install_dir}/bin/",
            "{dist_dir}/PySide",
            filter=["*.exe", "*.dll"] + pdbs,
            recursive=False, logger=log, vars=vars)
        # <install>/lib/*.lib -> PySide/
        copydir(
            "{install_dir}/lib/",
            "{dist_dir}/PySide",
            filter=["*.lib"],
            recursive=False, logger=log, vars=vars)
        # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
        copydir(
            "{install_dir}/share/PySide/typesystems",
            "{dist_dir}/PySide/typesystems",
            logger=log, vars=vars)
        # <install>/include/* -> <setup>/PySide/include
        copydir(
            "{install_dir}/include",
            "{dist_dir}/PySide/include",
            logger=log, vars=vars)
        # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
        copydir(
            "{sources_dir}/pyside-examples/examples",
            "{dist_dir}/PySide/examples",
            force=False, logger=log, vars=vars)
        # <ssl_libs>/* -> <setup>/PySide/
        copydir("{ssl_libs_dir}", "{dist_dir}/PySide",
            filter=[
                "libeay32.dll",
                "ssleay32.dll"],
            force=False, logger=log, vars=vars)
        
        # <qt>/bin/*.dll -> <setup>/PySide
        copydir("{qt_bin_dir}", "{dist_dir}/PySide",
            filter=[
                "*.dll",
                "designer.exe",
                "linguist.exe",
                "lrelease.exe",
                "lupdate.exe",
                "lconvert.exe"],
            ignore=["*d4.dll"],
            recursive=False, logger=log, vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide
            copydir("{qt_bin_dir}", "{dist_dir}/PySide",
                filter=["*d4.dll"] + pdbs,
                recursive=False, logger=log, vars=vars)

        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide
            copydir("{qt_lib_dir}", "{dist_dir}/PySide",
                filter=["*.pdb"],
                recursive=False, logger=log, vars=vars)
            
        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide
        copydir("{qt_lib_dir}", "{dist_dir}/PySide",
            filter=["*.dll"],
            ignore=["*d?.dll"],
            recursive=False, logger=log, vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide
            copydir("{qt_lib_dir}", "{dist_dir}/PySide",
                filter=["*d?.dll"],
                recursive=False, logger=log, vars=vars)
        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide
            copydir("{qt_lib_dir}", "{dist_dir}/PySide",
                filter=pdbs,
                recursive=False, logger=log, vars=vars)
        
        # <qt>/plugins/* -> <setup>/PySide/plugins
        copydir("{qt_plugins_dir}", "{dist_dir}/PySide/plugins",
            filter=["*.dll"] + pdbs,
            logger=log, vars=vars)
        # <qt>/imports/* -> <setup>/PySide/imports
        copydir("{qt_imports_dir}", "{dist_dir}/PySide/imports",
            filter=["qmldir", "*.dll"] + pdbs,
            logger=log, vars=vars)
        # <qt>/translations/* -> <setup>/PySide/translations
        copydir("{qt_translations_dir}", "{dist_dir}/PySide/translations",
            filter=["*.qm"],
            logger=log, vars=vars)
Пример #4
0
 def prepare_packages_posix(self, vars):
     if sys.platform == 'linux2':
         # patchelf -> PySide/patchelf
         copyfile(
             "{script_dir}/patchelf",
             "{dist_dir}/PySide/patchelf",
             logger=log, vars=vars)
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
     copydir(
         "{build_dir}/shiboken/doc/html",
         "{dist_dir}/PySide/docs/shiboken",
         force=False, logger=log, vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/PySide",
         "{dist_dir}/PySide",
         logger=log, vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile(
         "{install_dir}/lib/python{py_version}/site-packages/shiboken.so",
         "{dist_dir}/PySide/shiboken.so",
         logger=log, vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/pysideuic",
         "{dist_dir}/pysideuic",
         force=False, logger=log, vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile(
         "{dist_dir}/PySide/scripts/__init__.py",
         logger=log, vars=vars)
     copyfile(
         "{install_dir}/bin/pyside-uic",
         "{dist_dir}/PySide/scripts/uic.py",
         force=False, logger=log, vars=vars)
     # <install>/bin/* -> PySide/
     copydir(
         "{install_dir}/bin/",
         "{dist_dir}/PySide",
         filter=[
             "pyside-lupdate",
             "pyside-rcc",
             "shiboken",
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/lib/lib* -> PySide/
     copydir(
         "{install_dir}/lib/",
         "{dist_dir}/PySide",
         filter=[
             "libpyside*" + so_star,
             "libshiboken*" + so_star,
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir(
         "{install_dir}/share/PySide/typesystems",
         "{dist_dir}/PySide/typesystems",
         logger=log, vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir(
         "{install_dir}/include",
         "{dist_dir}/PySide/include",
         logger=log, vars=vars)
     # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
     copydir(
         "{sources_dir}/pyside-examples/examples",
         "{dist_dir}/PySide/examples",
         force=False, logger=log, vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide
         copydir("{qt_bin_dir}", "{dist_dir}/PySide",
             filter=[
                 "designer",
                 "linguist",
                 "lrelease",
                 "lupdate",
                 "lconvert",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}", "{dist_dir}/PySide",
             filter=[
                 "libQt*.so.?",
                 "libphonon.so.?",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}", "{dist_dir}/PySide/plugins",
             filter=["*.so"],
             logger=log, vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}", "{dist_dir}/PySide/imports",
                 filter=["qmldir", "*.so"],
                 logger=log, vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}", "{dist_dir}/PySide/translations",
             filter=["*.qm"],
             logger=log, vars=vars)
Пример #5
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'] if self.debug or self.build_type == 'RelWithDebInfo' else []
        # <install>/lib/site-packages/PySide2/* -> <setup>/PySide2
        copydir(
            "{site_packages_dir}/PySide2",
            "{dist_dir}/PySide2",
            vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside2/PySide2/*.pdb -> <setup>/PySide2
            copydir(
                "{build_dir}/pyside2/PySide2",
                "{dist_dir}/PySide2",
                filter=pdbs,
                recursive=False, vars=vars)
        # <build>/shiboken2/doc/html/* -> <setup>/PySide2/docs/shiboken2
        copydir(
            "{build_dir}/shiboken2/doc/html",
            "{dist_dir}/PySide2/docs/shiboken2",
            force=False, vars=vars)
        # <install>/lib/site-packages/shiboken2.pyd -> <setup>/PySide2/shiboken2.pyd
        copyfile(
            "{site_packages_dir}/shiboken2{dbgPostfix}.pyd",
            "{dist_dir}/PySide2/shiboken2{dbgPostfix}.pyd",
            vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken2/shibokenmodule/shiboken2{dbgPostfix}.pdb",
                "{dist_dir}/PySide2/shiboken2{dbgPostfix}.pdb",
                vars=vars)
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir(
            "{site_packages_dir}/pysideuic",
            "{dist_dir}/pysideuic",
            force=False, vars=vars)
        if sys.version_info[0] > 2:
            rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
        else:
            rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
        # <install>/bin/pyside2-uic -> PySide2/scripts/uic.py
        makefile(
            "{dist_dir}/PySide2/scripts/__init__.py",
            vars=vars)
        copyfile(
            "{install_dir}/bin/pyside2-uic",
            "{dist_dir}/PySide2/scripts/uic.py",
            force=False, vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide2/
        copydir(
            "{install_dir}/bin/",
            "{dist_dir}/PySide2",
            filter=["*.exe", "*.dll"] + pdbs,
            recursive=False, vars=vars)
        # <install>/lib/*.lib -> PySide2/
        copydir(
            "{install_dir}/lib/",
            "{dist_dir}/PySide2",
            filter=["*.lib"],
            recursive=False, vars=vars)
        # <install>/share/PySide2/typesystems/* -> <setup>/PySide2/typesystems
        copydir(
            "{install_dir}/share/PySide2/typesystems",
            "{dist_dir}/PySide2/typesystems",
            vars=vars)
        # <install>/include/* -> <setup>/PySide2/include
        copydir(
            "{install_dir}/include",
            "{dist_dir}/PySide2/include",
            vars=vars)
        if not OPTION_NOEXAMPLES:
            # <sources>/pyside2-examples/examples/* -> <setup>/PySide2/examples
            folder = get_extension_folder('pyside2-examples')
            copydir(
                "{sources_dir}/%s/examples" % folder,
                "{dist_dir}/PySide2/examples",
                force=False, vars=vars)
            # Re-generate examples Qt resource files for Python 3 compatibility
            if sys.version_info[0] == 3:
                examples_path = "{dist_dir}/PySide2/examples".format(**vars)
                pyside_rcc_path = "{install_dir}/bin/pyside2-rcc".format(**vars)
                pyside_rcc_options = '-py3'
                regenerate_qt_resources(examples_path, pyside_rcc_path,
                    pyside_rcc_options)
        # <ssl_libs>/* -> <setup>/PySide2/openssl
        copydir("{ssl_libs_dir}", "{dist_dir}/PySide2/openssl",
            filter=[
                "libeay32.dll",
                "ssleay32.dll"],
            force=False, vars=vars)

        # <qt>/bin/*.dll -> <setup>/PySide2
        copydir("{qt_bin_dir}", "{dist_dir}/PySide2",
            filter=[
                "*.dll",
                "designer.exe",
                "linguist.exe",
                "lrelease.exe",
                "lupdate.exe",
                "lconvert.exe"],
            ignore=["*d4.dll"],
            recursive=False, vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide2
            copydir("{qt_bin_dir}", "{dist_dir}/PySide2",
                filter=["*d4.dll"] + pdbs,
                recursive=False, vars=vars)

        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide2
            copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
                filter=["*.pdb"],
                recursive=False, vars=vars)

        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide2
        copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
            filter=["*.dll"],
            ignore=["*d?.dll"],
            recursive=False, vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide2
            copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
                filter=["*d?.dll"],
                recursive=False, vars=vars)
        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide2
            copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
                filter=pdbs,
                recursive=False, vars=vars)

        # <qt>/plugins/* -> <setup>/PySide2/plugins
        copydir("{qt_plugins_dir}", "{dist_dir}/PySide2/plugins",
            filter=["*.dll"] + pdbs,
            vars=vars)
        # <qt>/imports/* -> <setup>/PySide2/imports
        copydir("{qt_imports_dir}", "{dist_dir}/PySide2/imports",
            filter=["qmldir", "*.dll"] + pdbs,
            vars=vars)
        # <qt>/translations/* -> <setup>/PySide2/translations
        copydir("{qt_translations_dir}", "{dist_dir}/PySide2/translations",
            filter=["*.qm"],
            vars=vars)

        # pdb files for libshiboken and libpyside
        if self.debug or self.build_type == 'RelWithDebInfo':
            # XXX dbgPostfix gives problems - the structure in shiboken2/data should be re-written!
            copyfile(
                "{build_dir}/shiboken2/libshiboken/shiboken2-python{py_version}.pdb",
                "{dist_dir}/PySide2/shiboken2-python{py_version}.pdb", # omitted dbgPostfix
                vars=vars)
            copyfile(
                "{build_dir}/pyside2/libpyside/pyside2-python{py_version}.pdb",
                "{dist_dir}/PySide2/pyside2-python{py_version}.pdb", # omitted dbgPostfix
                vars=vars)
Пример #6
0
 def prepare_packages_posix(self, vars):
     executables = []
     if sys.platform.startswith('linux'):
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken2/doc/html/* -> <setup>/PySide2/docs/shiboken2
     copydir(
         "{build_dir}/shiboken2/doc/html",
         "{dist_dir}/PySide2/docs/shiboken2",
         force=False, vars=vars)
     # <install>/lib/site-packages/PySide2/* -> <setup>/PySide2
     copydir(
         "{site_packages_dir}/PySide2",
         "{dist_dir}/PySide2",
         vars=vars)
     # <install>/lib/site-packages/shiboken2.so -> <setup>/PySide2/shiboken2.so
     copyfile(
         "{site_packages_dir}/shiboken2.so",
         "{dist_dir}/PySide2/shiboken2.so",
         vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{site_packages_dir}/pysideuic",
         "{dist_dir}/pysideuic",
         force=False, vars=vars)
     if sys.version_info[0] > 2:
         rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
     else:
         rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
     # <install>/bin/pyside2-uic -> PySide2/scripts/uic.py
     makefile(
         "{dist_dir}/PySide2/scripts/__init__.py",
         vars=vars)
     copyfile(
         "{install_dir}/bin/pyside2-uic",
         "{dist_dir}/PySide2/scripts/uic.py",
         force=False, vars=vars)
     # <install>/bin/* -> PySide2/
     executables.extend(copydir(
         "{install_dir}/bin/",
         "{dist_dir}/PySide2",
         filter=[
             "pyside2-lupdate",
             "pyside2-rcc",
             "shiboken2",
         ],
         recursive=False, vars=vars))
     # <install>/lib/lib* -> PySide2/
     copydir(
         "{install_dir}/lib/",
         "{dist_dir}/PySide2",
         filter=[
             "libpyside*" + so_star,
             "libshiboken*" + so_star,
         ],
         recursive=False, vars=vars)
     # <install>/share/PySide2/typesystems/* -> <setup>/PySide2/typesystems
     copydir(
         "{install_dir}/share/PySide2/typesystems",
         "{dist_dir}/PySide2/typesystems",
         vars=vars)
     # <install>/include/* -> <setup>/PySide2/include
     copydir(
         "{install_dir}/include",
         "{dist_dir}/PySide2/include",
         vars=vars)
     if not OPTION_NOEXAMPLES:
         # <sources>/pyside2-examples/examples/* -> <setup>/PySide2/examples
         folder = get_extension_folder('pyside2-examples')
         copydir(
             "{sources_dir}/%s/examples" % folder,
             "{dist_dir}/PySide2/examples",
             force=False, vars=vars)
         # Re-generate examples Qt resource files for Python 3 compatibility
         if sys.version_info[0] == 3:
             examples_path = "{dist_dir}/PySide2/examples".format(**vars)
             pyside_rcc_path = "{install_dir}/bin/pyside2-rcc".format(**vars)
             pyside_rcc_options = '-py3'
             regenerate_qt_resources(examples_path, pyside_rcc_path,
                 pyside_rcc_options)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide2
         executables.extend(copydir("{qt_bin_dir}", "{dist_dir}/PySide2",
             filter=[
                 "designer",
                 "linguist",
                 "lrelease",
                 "lupdate",
                 "lconvert",
             ],
             recursive=False, vars=vars))
         # <qt>/lib/* -> <setup>/PySide2
         copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
             filter=[
                 "libQt*.so.?",
                 "libphonon.so.?",
             ],
             recursive=False, vars=vars)
         # <qt>/plugins/* -> <setup>/PySide2/plugins
         copydir("{qt_plugins_dir}", "{dist_dir}/PySide2/plugins",
             filter=["*.so"],
             vars=vars)
         # <qt>/imports/* -> <setup>/PySide2/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}", "{dist_dir}/PySide2/imports",
                 filter=["qmldir", "*.so"],
                 force=False, vars=vars)
         # <qt>/translations/* -> <setup>/PySide2/translations
         copydir("{qt_translations_dir}", "{dist_dir}/PySide2/translations",
             filter=["*.qm"],
             vars=vars)
     # Update rpath to $ORIGIN
     if sys.platform.startswith('linux') or sys.platform.startswith('darwin'):
         self.update_rpath("{dist_dir}/PySide2".format(**vars), executables)
Пример #7
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'
                ] if self.debug or self.build_type == 'RelWithDebInfo' else []
        # <install>/lib/site-packages/PySide/* -> <setup>/PySide
        copydir("{site_packages_dir}/PySide", "{dist_dir}/PySide", vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside/PySide/*.pdb -> <setup>/PySide
            copydir("{build_dir}/pyside/PySide",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    vars=vars)
        # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
        copydir("{build_dir}/shiboken/doc/html",
                "{dist_dir}/PySide/docs/shiboken",
                force=False,
                vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
        copyfile("{site_packages_dir}/shiboken{dbgPostfix}.pyd",
                 "{dist_dir}/PySide/shiboken{dbgPostfix}.pyd",
                 vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken{dbgPostfix}.pdb",
                vars=vars)
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir("{site_packages_dir}/pysideuic",
                "{dist_dir}/pysideuic",
                force=False,
                vars=vars)
        if sys.version_info[0] > 2:
            rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
        else:
            rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
        # <install>/bin/pyside-uic -> PySide/scripts/uic.py
        makefile("{dist_dir}/PySide/scripts/__init__.py", vars=vars)
        copyfile("{install_dir}/bin/pyside-uic",
                 "{dist_dir}/PySide/scripts/uic.py",
                 force=False,
                 vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide/
        copydir("{install_dir}/bin/",
                "{dist_dir}/PySide",
                filter=["*.exe", "*.dll"] + pdbs,
                recursive=False,
                vars=vars)
        # <install>/lib/*.lib -> PySide/
        copydir("{install_dir}/lib/",
                "{dist_dir}/PySide",
                filter=["*.lib"],
                recursive=False,
                vars=vars)
        # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
        copydir("{install_dir}/share/PySide/typesystems",
                "{dist_dir}/PySide/typesystems",
                vars=vars)
        # <install>/include/* -> <setup>/PySide/include
        copydir("{install_dir}/include",
                "{dist_dir}/PySide/include",
                vars=vars)
        if not OPTION_NOEXAMPLES:
            # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
            copydir("{sources_dir}/pyside-examples/examples",
                    "{dist_dir}/PySide/examples",
                    force=False,
                    vars=vars)
            # Re-generate examples Qt resource files for Python 3 compatibility
            if sys.version_info[0] == 3:
                examples_path = "{dist_dir}/PySide/examples".format(**vars)
                pyside_rcc_path = "{install_dir}/bin/pyside-rcc".format(**vars)
                pyside_rcc_options = '-py3'
                regenerate_qt_resources(examples_path, pyside_rcc_path,
                                        pyside_rcc_options)
        # <ssl_libs>/* -> <setup>/PySide/openssl
        copydir("{ssl_libs_dir}",
                "{dist_dir}/PySide/openssl",
                filter=["libeay32.dll", "ssleay32.dll"],
                force=False,
                vars=vars)

        # <qt>/bin/*.dll -> <setup>/PySide
        copydir("{qt_bin_dir}",
                "{dist_dir}/PySide",
                filter=[
                    "*.dll", "designer.exe", "linguist.exe", "lrelease.exe",
                    "lupdate.exe", "lconvert.exe"
                ],
                ignore=["*d4.dll"],
                recursive=False,
                vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide
            copydir("{qt_bin_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d4.dll"] + pdbs,
                    recursive=False,
                    vars=vars)

        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*.pdb"],
                    recursive=False,
                    vars=vars)

        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide
        copydir("{qt_lib_dir}",
                "{dist_dir}/PySide",
                filter=["*.dll"],
                ignore=["*d?.dll"],
                recursive=False,
                vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d?.dll"],
                    recursive=False,
                    vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    vars=vars)

        # <qt>/plugins/* -> <setup>/PySide/plugins
        copydir("{qt_plugins_dir}",
                "{dist_dir}/PySide/plugins",
                filter=["*.dll"] + pdbs,
                vars=vars)
        # <qt>/imports/* -> <setup>/PySide/imports
        copydir("{qt_imports_dir}",
                "{dist_dir}/PySide/imports",
                filter=["qmldir", "*.dll"] + pdbs,
                vars=vars)
        # <qt>/translations/* -> <setup>/PySide/translations
        copydir("{qt_translations_dir}",
                "{dist_dir}/PySide/translations",
                filter=["*.qm"],
                vars=vars)

        # pdb files for libshiboken and libpyside
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/libshiboken/shiboken-python{py_version}{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken-python{py_version}{dbgPostfix}.pdb",
                vars=vars)
            copyfile(
                "{build_dir}/pyside/libpyside/pyside-python{py_version}{dbgPostfix}.pdb",
                "{dist_dir}/PySide/pyside-python{py_version}{dbgPostfix}.pdb",
                vars=vars)
Пример #8
0
 def prepare_packages_posix(self, vars):
     executables = []
     if sys.platform.startswith('linux'):
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
     copydir("{build_dir}/shiboken/doc/html",
             "{dist_dir}/PySide/docs/shiboken",
             force=False,
             vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir("{site_packages_dir}/PySide", "{dist_dir}/PySide", vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile("{site_packages_dir}/shiboken.so",
              "{dist_dir}/PySide/shiboken.so",
              vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir("{site_packages_dir}/pysideuic",
             "{dist_dir}/pysideuic",
             force=False,
             vars=vars)
     if sys.version_info[0] > 2:
         rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
     else:
         rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile("{dist_dir}/PySide/scripts/__init__.py", vars=vars)
     copyfile("{install_dir}/bin/pyside-uic",
              "{dist_dir}/PySide/scripts/uic.py",
              force=False,
              vars=vars)
     # <install>/bin/* -> PySide/
     executables.extend(
         copydir("{install_dir}/bin/",
                 "{dist_dir}/PySide",
                 filter=[
                     "pyside-lupdate",
                     "pyside-rcc",
                     "shiboken",
                 ],
                 recursive=False,
                 vars=vars))
     # <install>/lib/lib* -> PySide/
     copydir("{install_dir}/lib/",
             "{dist_dir}/PySide",
             filter=[
                 "libpyside*" + so_star,
                 "libshiboken*" + so_star,
             ],
             recursive=False,
             vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir("{install_dir}/share/PySide/typesystems",
             "{dist_dir}/PySide/typesystems",
             vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir("{install_dir}/include",
             "{dist_dir}/PySide/include",
             vars=vars)
     if not OPTION_NOEXAMPLES:
         # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
         copydir("{sources_dir}/pyside-examples/examples",
                 "{dist_dir}/PySide/examples",
                 force=False,
                 vars=vars)
         # Re-generate examples Qt resource files for Python 3 compatibility
         if sys.version_info[0] == 3:
             examples_path = "{dist_dir}/PySide/examples".format(**vars)
             pyside_rcc_path = "{install_dir}/bin/pyside-rcc".format(**vars)
             pyside_rcc_options = '-py3'
             regenerate_qt_resources(examples_path, pyside_rcc_path,
                                     pyside_rcc_options)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide
         executables.extend(
             copydir("{qt_bin_dir}",
                     "{dist_dir}/PySide",
                     filter=[
                         "designer",
                         "linguist",
                         "lrelease",
                         "lupdate",
                         "lconvert",
                     ],
                     recursive=False,
                     vars=vars))
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}",
                 "{dist_dir}/PySide",
                 filter=[
                     "libQt*.so.?",
                     "libphonon.so.?",
                 ],
                 recursive=False,
                 vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}",
                 "{dist_dir}/PySide/plugins",
                 filter=["*.so"],
                 vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}",
                     "{dist_dir}/PySide/imports",
                     filter=["qmldir", "*.so"],
                     force=False,
                     vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}",
                 "{dist_dir}/PySide/translations",
                 filter=["*.qm"],
                 vars=vars)
     # Update rpath to $ORIGIN
     if sys.platform.startswith('linux') or sys.platform.startswith(
             'darwin'):
         self.update_rpath("{dist_dir}/PySide".format(**vars), executables)
Пример #9
0
    def prepare_packages_win32(self, vars):
        makefile(
            "{dist_dir}/Shiboken/__init__.py",
            content="__all__ = ['shiboken']",
            vars=vars)
        pdbs = ['*.pdb'] if self.debug or self.build_type == 'RelWithDebInfo' else []       
        # <build>/shiboken/doc/html/* -> <setup>/Shiboken/docs/shiboken
        copydir(
            "{build_dir}/shiboken/doc/html",
            "{dist_dir}/Shiboken/docs/shiboken",
            force=False, vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/Shiboken/shiboken.pyd
        copyfile(
            "{site_packages_dir}/shiboken{dbgPostfix}.pyd",
            "{dist_dir}/Shiboken/shiboken{dbgPostfix}.pyd",
            vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/Shiboken/shiboken{dbgPostfix}.pdb",
                vars=vars)        
        # <install>/bin/*.exe,*.dll,*.pdb -> Shiboken/
        copydir(
            "{install_dir}/bin/",
            "{dist_dir}/Shiboken",
            filter=["*.exe", "*.dll"] + pdbs,
            recursive=False, vars=vars)
        # <install>/lib/*.lib -> Shiboken/
        copydir(
            "{install_dir}/lib/",
            "{dist_dir}/Shiboken",
            filter=["*.lib"],
            recursive=False, vars=vars)
        # <install>/include/* -> <setup>/Shiboken/include
        copydir(
            "{install_dir}/include",
            "{dist_dir}/Shiboken/include",
            vars=vars)
        
        # <qt>/bin/*.dll -> <setup>/Shiboken
        copydir("{qt_bin_dir}", "{dist_dir}/Shiboken",
            filter=[
                "QtCore4.dll",
                "QtXml4.dll"],
            recursive=False, vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/Shiboken
            copydir("{qt_bin_dir}", "{dist_dir}/Shiboken",
                filter=["QtCored4.dll", "QtXmld4.dll"] + pdbs,
                recursive=False, vars=vars)

        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/Shiboken
            copydir("{qt_lib_dir}", "{dist_dir}/Shiboken",
                filter=["QtCore*.pdb", "QtXml*.pdb"],
                recursive=False, vars=vars)

        # pdb files for libshiboken
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/libshiboken/shiboken-python{py_version}{dbgPostfix}.pdb",
                "{dist_dir}/Shiboken/shiboken-python{py_version}{dbgPostfix}.pdb",
                vars=vars)
Пример #10
0
 def prepare_packages_win32(self, vars):
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir(
         "{install_dir}/lib/site-packages/PySide",
         "{setup_dir}/PySide",
         logger=log, vars=vars)
     if self.debug:
         # <build>/pyside/PySide/*.pdb -> <setup>/PySide
         copydir(
             "{build_dir}/pyside/PySide",
             "{setup_dir}/PySide",
             filter=["*.pdb"],
             recursive=False, logger=log, vars=vars)
     # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
     copyfile(
         "{install_dir}/lib/site-packages/shiboken.pyd",
         "{setup_dir}/PySide/shiboken.pyd",
         logger=log, vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{install_dir}/lib/site-packages/pysideuic",
         "{setup_dir}/pysideuic",
         force=False, logger=log, vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile(
         "{setup_dir}/PySide/scripts/__init__.py",
         logger=log, vars=vars)
     copyfile(
         "{install_dir}/bin/pyside-uic",
         "{setup_dir}/PySide/scripts/uic.py",
         force=False, logger=log, vars=vars)
     # <install>/bin/*.exe,*.dll -> PySide/
     copydir(
         "{install_dir}/bin/",
         "{setup_dir}/PySide",
         filter=["*.exe", "*.dll"],
         recursive=False, logger=log, vars=vars)
     # <install>/lib/*.lib -> PySide/
     copydir(
         "{install_dir}/lib/",
         "{setup_dir}/PySide",
         filter=["*.lib"],
         recursive=False, logger=log, vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir(
         "{install_dir}/share/PySide/typesystems",
         "{setup_dir}/PySide/typesystems",
         logger=log, vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir(
         "{install_dir}/include",
         "{setup_dir}/PySide/include",
         logger=log, vars=vars)
     # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
     copydir(
         "{sources_dir}/pyside-examples/examples",
         "{setup_dir}/PySide/examples",
         force=False, logger=log, vars=vars)
     # <ssl_libs>/* -> <setup>/PySide/
     copydir("{ssl_libs_dir}", "{setup_dir}/PySide",
         filter=[
             "libeay32.dll",
             "ssleay32.dll"],
         force=False, logger=log, vars=vars)
     # <qt>/bin/*.dll -> <setup>/PySide
     copydir("{qt_bin_dir}", "{setup_dir}/PySide",
         filter=[
             "*.dll",
             "designer.exe",
             "linguist.exe",
             "lrelease.exe",
             "lupdate.exe",
             "lconvert.exe"],
         ignore=["*d4.dll"],
         recursive=False, logger=log, vars=vars)
     if self.debug:
         # <qt>/bin/*d4.dll -> <setup>/PySide
         copydir("{qt_bin_dir}", "{setup_dir}/PySide",
             filter=["*d4.dll"],
             recursive=False, logger=log, vars=vars)
     # <qt>/plugins/* -> <setup>/PySide/plugins
     copydir("{qt_plugins_dir}", "{setup_dir}/PySide/plugins",
         filter=["*.dll"],
         logger=log, vars=vars)
     # <qt>/imports/* -> <setup>/PySide/imports
     copydir("{qt_imports_dir}", "{setup_dir}/PySide/imports",
         filter=["qmldir", "*.dll"],
         logger=log, vars=vars)
     # <qt>/translations/* -> <setup>/PySide/translations
     copydir("{qt_translations_dir}", "{setup_dir}/PySide/translations",
         filter=["*.qm"],
         logger=log, vars=vars)
Пример #11
0
 def prepare_packages_linux(self, vars):
     # patchelf -> PySide/patchelf
     copyfile(
         "{setup_dir}/patchelf",
         "{setup_dir}/PySide/patchelf",
         logger=log, vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/PySide",
         "{setup_dir}/PySide",
         logger=log, vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile(
         "{install_dir}/lib/python{py_version}/site-packages/shiboken.so",
         "{setup_dir}/PySide/shiboken.so",
         logger=log, vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/pysideuic",
         "{setup_dir}/pysideuic",
         force=False, logger=log, vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile(
         "{setup_dir}/PySide/scripts/__init__.py",
         logger=log, vars=vars)
     copyfile(
         "{install_dir}/bin/pyside-uic",
         "{setup_dir}/PySide/scripts/uic.py",
         force=False, logger=log, vars=vars)
     # <install>/bin/* -> PySide/
     copydir(
         "{install_dir}/bin/",
         "{setup_dir}/PySide",
         filter=[
             "pyside-lupdate",
             "pyside-rcc",
             "shiboken",
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/lib/lib* -> PySide/
     copydir(
         "{install_dir}/lib/",
         "{setup_dir}/PySide",
         filter=[
             "libpyside*.so.*",
             "libshiboken*.so.*",
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir(
         "{install_dir}/share/PySide/typesystems",
         "{setup_dir}/PySide/typesystems",
         logger=log, vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir(
         "{install_dir}/include",
         "{setup_dir}/PySide/include",
         logger=log, vars=vars)
     # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
     copydir(
         "{sources_dir}/pyside-examples/examples",
         "{setup_dir}/PySide/examples",
         force=False, logger=log, vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         # <qt>/bin/* -> <setup>/PySide
         copydir("{qt_bin_dir}", "{setup_dir}/PySide",
             filter=[
                 "designer",
                 "linguist",
                 "lrelease",
                 "lupdate",
                 "lconvert",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}", "{setup_dir}/PySide",
             filter=[
                 "libQt*.so.?",
                 "libphonon.so.?",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}", "{setup_dir}/PySide/plugins",
             filter=["*.so"],
             logger=log, vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}", "{setup_dir}/PySide/imports",
                 filter=["qmldir", "*.so"],
                 logger=log, vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}", "{setup_dir}/PySide/translations",
             filter=["*.qm"],
             logger=log, vars=vars)
Пример #12
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'
                ] if self.debug or self.build_type == 'RelWithDebInfo' else []
        # <install>/lib/site-packages/PySide/* -> <setup>/PySide
        copydir("{site_packages_dir}/PySide",
                "{dist_dir}/PySide",
                logger=log,
                vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside/PySide/*.pdb -> <setup>/PySide
            copydir("{build_dir}/pyside/PySide",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    logger=log,
                    vars=vars)
        # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
        copydir("{build_dir}/shiboken/doc/html",
                "{dist_dir}/PySide/docs/shiboken",
                force=False,
                logger=log,
                vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
        copyfile("{site_packages_dir}/shiboken{dbgPostfix}.pyd",
                 "{dist_dir}/PySide/shiboken{dbgPostfix}.pyd",
                 logger=log,
                 vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken{dbgPostfix}.pdb",
                logger=log,
                vars=vars)
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir("{site_packages_dir}/pysideuic",
                "{dist_dir}/pysideuic",
                force=False,
                logger=log,
                vars=vars)
        # <install>/bin/pyside-uic -> PySide/scripts/uic.py
        makefile("{dist_dir}/PySide/scripts/__init__.py",
                 logger=log,
                 vars=vars)
        copyfile("{install_dir}/bin/pyside-uic",
                 "{dist_dir}/PySide/scripts/uic.py",
                 force=False,
                 logger=log,
                 vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide/
        copydir("{install_dir}/bin/",
                "{dist_dir}/PySide",
                filter=["*.exe", "*.dll"] + pdbs,
                recursive=False,
                logger=log,
                vars=vars)
        # <install>/lib/*.lib -> PySide/
        copydir("{install_dir}/lib/",
                "{dist_dir}/PySide",
                filter=["*.lib"],
                recursive=False,
                logger=log,
                vars=vars)
        # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
        copydir("{install_dir}/share/PySide/typesystems",
                "{dist_dir}/PySide/typesystems",
                logger=log,
                vars=vars)
        # <install>/include/* -> <setup>/PySide/include
        copydir("{install_dir}/include",
                "{dist_dir}/PySide/include",
                logger=log,
                vars=vars)
        if not OPTION_NOEXAMPLES:
            # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
            copydir("{sources_dir}/pyside-examples/examples",
                    "{dist_dir}/PySide/examples",
                    force=False,
                    logger=log,
                    vars=vars)
        # <ssl_libs>/* -> <setup>/PySide/openssl
        copydir("{ssl_libs_dir}",
                "{dist_dir}/PySide/openssl",
                filter=["libeay32.dll", "ssleay32.dll"],
                force=False,
                logger=log,
                vars=vars)

        # <qt>/bin/*.dll -> <setup>/PySide
        copydir("{qt_bin_dir}",
                "{dist_dir}/PySide",
                filter=[
                    "*.dll", "designer.exe", "linguist.exe", "lrelease.exe",
                    "lupdate.exe", "lconvert.exe"
                ],
                ignore=["*d4.dll"],
                recursive=False,
                logger=log,
                vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide
            copydir("{qt_bin_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d4.dll"] + pdbs,
                    recursive=False,
                    logger=log,
                    vars=vars)

        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*.pdb"],
                    recursive=False,
                    logger=log,
                    vars=vars)

        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide
        copydir("{qt_lib_dir}",
                "{dist_dir}/PySide",
                filter=["*.dll"],
                ignore=["*d?.dll"],
                recursive=False,
                logger=log,
                vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d?.dll"],
                    recursive=False,
                    logger=log,
                    vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    logger=log,
                    vars=vars)

        # <qt>/plugins/* -> <setup>/PySide/plugins
        copydir("{qt_plugins_dir}",
                "{dist_dir}/PySide/plugins",
                filter=["*.dll"] + pdbs,
                logger=log,
                vars=vars)
        # <qt>/imports/* -> <setup>/PySide/imports
        copydir("{qt_imports_dir}",
                "{dist_dir}/PySide/imports",
                filter=["qmldir", "*.dll"] + pdbs,
                logger=log,
                vars=vars)
        # <qt>/translations/* -> <setup>/PySide/translations
        copydir("{qt_translations_dir}",
                "{dist_dir}/PySide/translations",
                filter=["*.qm"],
                logger=log,
                vars=vars)
Пример #13
0
 def prepare_packages_posix(self, vars):
     if sys.platform.startswith('linux'):
         # patchelf -> PySide/patchelf
         copyfile("{script_dir}/patchelf",
                  "{dist_dir}/PySide/patchelf",
                  logger=log,
                  vars=vars)
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
     copydir("{build_dir}/shiboken/doc/html",
             "{dist_dir}/PySide/docs/shiboken",
             force=False,
             logger=log,
             vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir("{site_packages_dir}/PySide",
             "{dist_dir}/PySide",
             logger=log,
             vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile("{site_packages_dir}/shiboken.so",
              "{dist_dir}/PySide/shiboken.so",
              logger=log,
              vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir("{site_packages_dir}/pysideuic",
             "{dist_dir}/pysideuic",
             force=False,
             logger=log,
             vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile("{dist_dir}/PySide/scripts/__init__.py",
              logger=log,
              vars=vars)
     copyfile("{install_dir}/bin/pyside-uic",
              "{dist_dir}/PySide/scripts/uic.py",
              force=False,
              logger=log,
              vars=vars)
     # <install>/bin/* -> PySide/
     copydir("{install_dir}/bin/",
             "{dist_dir}/PySide",
             filter=[
                 "pyside-lupdate",
                 "pyside-rcc",
                 "shiboken",
             ],
             recursive=False,
             logger=log,
             vars=vars)
     # <install>/lib/lib* -> PySide/
     copydir("{install_dir}/lib/",
             "{dist_dir}/PySide",
             filter=[
                 "libpyside*" + so_star,
                 "libshiboken*" + so_star,
             ],
             recursive=False,
             logger=log,
             vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir("{install_dir}/share/PySide/typesystems",
             "{dist_dir}/PySide/typesystems",
             logger=log,
             vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir("{install_dir}/include",
             "{dist_dir}/PySide/include",
             logger=log,
             vars=vars)
     if not OPTION_NOEXAMPLES:
         # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
         copydir("{sources_dir}/pyside-examples/examples",
                 "{dist_dir}/PySide/examples",
                 force=False,
                 logger=log,
                 vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide
         copydir("{qt_bin_dir}",
                 "{dist_dir}/PySide",
                 filter=[
                     "designer",
                     "linguist",
                     "lrelease",
                     "lupdate",
                     "lconvert",
                 ],
                 recursive=False,
                 logger=log,
                 vars=vars)
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}",
                 "{dist_dir}/PySide",
                 filter=[
                     "libQt*.so.?",
                     "libphonon.so.?",
                 ],
                 recursive=False,
                 logger=log,
                 vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}",
                 "{dist_dir}/PySide/plugins",
                 filter=["*.so"],
                 logger=log,
                 vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}",
                     "{dist_dir}/PySide/imports",
                     filter=["qmldir", "*.so"],
                     logger=log,
                     vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}",
                 "{dist_dir}/PySide/translations",
                 filter=["*.qm"],
                 logger=log,
                 vars=vars)
Пример #14
0
import sys, os, shutil

sys.path.append(os.path.dirname(os.path.dirname(__file__)))
import utils


srcpath = os.path.abspath(os.path.join(os.path.dirname(__file__), 'srcdir'))
dstpath = os.path.abspath(os.path.join(os.path.dirname(__file__), 'dstdir'))
try:
    os.makedirs(srcpath)
except:
    pass
try:
    os.makedirs(dstpath)
except:
    pass
f = open(os.path.join(srcpath, 'tmp1'), 'w')
f.close()
utils.copydir(srcpath, dstpath)
shutil.rmtree(srcpath)
shutil.rmtree(dstpath)