Metadata-Version: 2.0 Name: Shiboken Version: 1.2.2 Summary: Shiboken generates bindings for C++ libraries using CPython source code Home-page: http://www.pyside.org Author: PySide Team Author-email: contact@pyside.org License: LGPL Keywords: Qt Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Environment :: MacOS X Classifier: Environment :: X11 Applications :: Qt Classifier: Environment :: Win32 (MS Windows) Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL) Classifier: Operating System :: MacOS :: MacOS X Classifier: Operating System :: POSIX Classifier: Operating System :: POSIX :: Linux Classifier: Operating System :: Microsoft Classifier: Operating System :: Microsoft :: Windows Classifier: Programming Language :: C++ Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.2 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Topic :: Database Classifier: Topic :: Software Development Classifier: Topic :: Software Development :: Code Generators ======== Shiboken ======== .. contents:: **Table of Contents** Introduction ============ Shiboken generates bindings for C++ libraries using CPython source code. Compatibility ============= Shiboken requires Python 2.6 or later and Qt 4.6 or better. .. note:: Qt 5.x is currently not supported. Installation ============ Installing prerequisities ------------------------- Install latest `pip` distribution: download `get-pip.py `_ and run it using the ``python`` interpreter. Installing Shiboken on a Windows System --------------------------------------- To install Shiboken on Windows you can choose from the following options: #. Use pip to install the `wheel` binary packages: :: c:\> c:\Python27\Scripts\pip install --use-wheel Shiboken #. Use setuptools to install the `egg` binary packages: :: c:\> c:\Python27\Scripts\easy_install Shiboken Installing Shiboken on a UNIX System ------------------------------------ We do not provide binaries for UNIX System. Please read the build instructions in section ``Building Shiboken on a UNIX System``. Building Shiboken on a Windows System ===================================== Installing prerequisities ------------------------- #. Install `Python `_. #. Install `Qt 4.8 libraries for Windows VS 2008 edition `_ when building against Python 2.6, 2.7 or 3.2. Install `Qt 4.8 libraries for Windows VS 2010 edition `_ when building against Python 3.3. #. Install `Cmake `_. #. Install `Windows SDK v7.0 `_ when building against Python 2.6, 2.7 or 3.2. Install `Windows SDK v7.1 `_ when building against Python 3.3. #. Install `Git `_. #. Install latest `pip` distribution into the Python you installed in the first step: download `get-pip.py `_ and run it using the ``python`` interpreter of your Python 2.7 installation using a command prompt: :: c:\> c:\Python27\python get-pip.py #. Install latest `wheel` distribution: :: c:\> c:\Python27\Scripts\pip install wheel Building Shiboken distribution ------------------------------ #. Download and extract `Shiboken source distribution `_ #. Switch to the distribution directory: :: c:\> cd Shiboken-1.2.2 #. Build the `wheel` binary distribution: :: c:\> c:\Python27\python.exe setup.py bdist_wheel --qmake=c:\Qt\4.8.5\bin\qmake.exe Building Shiboken distribution from git repository -------------------------------------------------- #. Clone ``Shiboken`` setup scripts from git repository: :: c:\> git clone https://github.com/PySide/shiboken-setup.git shiboken-setup #. Switch to the ``shiboken-setup`` directory: :: c:\> cd shiboken-setup #. Build the `wheel` binary distribution: :: c:\> c:\Python27\python.exe setup.py bdist_wheel --version=1.2.2 --qmake=c:\Qt\4.8.5\bin\qmake.exe #. To build the development version of ``Shiboken`` distribution, ignore the --version parameter: :: c:\> c:\Python27\python.exe setup.py bdist_wheel --qmake=c:\Qt\4.8.5\bin\qmake.exe Installing Shiboken distribution -------------------------------- #. After the successful build, install the distribution with ``pip``: :: c:\> c:\Python27\Scripts\pip install --use-wheel dist\Shiboken-1.2.2-cp27-none-win32.whl Installing Shiboken distribution into ``virtual`` Python environment -------------------------------------------------------------------- #. Install latest `virtualenv` distribution: :: c:\> c:\Python27\Scripts\pip install virtualenv #. Use `virtualenv` to make a workspace: :: c:\> c:\Python27\Scripts\virtualenv --no-site-packages env #. Switch to the ``env`` directory: :: c:\> cd env #. Install the distribution with ``pip``: :: c:\> Scripts\pip install ..\dist\Shiboken-1.2.2-cp27-none-win32.whl Building Shiboken on a UNIX System (Ubuntu 12.04 - 14.04) ========================================================= Installing prerequisities ------------------------- #. Install build dependencies: :: $ sudo apt-get install build-essential git cmake libqt4-dev python2.7-dev libxml2-dev libxslt1-dev #. Install latest `pip` distribution into the Python you installed in the first step: download `get-pip.py `_ and run it using the ``python`` interpreter of your Python 2.7 installation using a command prompt: :: $ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py $ sudo python2.7 get-pip.py #. Install latest `wheel` distribution: :: $ sudo pip2.7 install wheel Building Shiboken distribution ------------------------------ #. Download ``Shiboken`` source distribution: :: $ wget https://pypi.python.org/packages/source/S/Shiboken/Shiboken-1.2.2.tar.gz #. Extract the source distribution: :: $ tar -xvzf Shiboken-1.2.2.tar.gz #. Switch to the distribution directory: :: $ cd Shiboken-1.2.2 #. Build the `wheel` binary distribution: :: $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 #. Optionally you can build standalone version of distribution with embedded Qt libs: :: $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --standalone Building Shiboken distribution from git repository -------------------------------------------------- #. Clone ``Shiboken`` setup scripts from git repository: :: $ git clone https://github.com/PySide/shiboken-setup.git shiboken-setup #. Switch to the ``shiboken-setup`` directory: :: $ cd shiboken-setup #. Build ``Shiboken`` distribution: :: $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --version=1.2.2 #. Optionally you can build standalone version of distribution with embedded Qt libs: :: $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --version=1.2.2 --standalone #. To build the development version of ``Shiboken`` distribution, ignore the --version parameter: :: $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 Installing Shiboken distribution -------------------------------- #. After the successful build, install the distribution with ``pip``: :: $ sudo pip2.7 install dist/Shiboken-1.2.2-cp27-none-linux-x86_64.whl #. Run the post-install script to finish the package configuration: :: $ sudo python2.7 shiboken_postinstall.py -install Installing Shiboken distribution into ``virtual`` Python environment -------------------------------------------------------------------- #. Install latest `virtualenv` distribution: :: $ sudo pip2.7 virtualenv #. Use `virtualenv` to make a workspace: :: $ virtualenv-2.7 --no-site-packages env #. Switch to the ``env`` directory: :: $ cd env #. Install the distribution with ``pip``: :: $ bin/pip2.7 install ../dist/Shiboken-1.2.2-cp27-none-linux-x86_64.whl #. Run the post-install script to finish the package configuration: :: $ bin/python bin/shiboken_postinstall.py -install Shiboken Setup Script command line options ========================================== Usage on Windows System ----------------------- :: c:\> c:\Python27\python.exe setup.py [distribution_type] [options] Usage on UNIX System -------------------- :: python2.7 setup.py [distribution_type] [options] Distribution types ------------------ ``bdist_wheel`` Create wheel binary distribution. This distribution type can be installed with ``pip``. ``bdist_egg`` Create egg binary distribution. This distribution type can be installed with ``easy_install``. ``bdist_wininst`` Create standalone windows installer with embedded Qt libs and development tools. This distribution type can be installed with ``easy_install``. ``install`` Install package to site packages folder. ``develop`` Install package in ``development mode``, such that it's available on ``sys.path``, yet can still be edited directly from its source folder. ``sdist`` Create full source distribution with included sources of Shiboken Setup Scripts and Shiboken. Can be used to build binary distribution in offline mode. Options ------- ``--qmake`` Specify the path to qmake. Useful when the qmake is not in path or more than one Qt versions are installed. ``--only-package`` Skip rebuilding everything and create distribution from prebuilt binaries. Before using this option first time, the full distribution build is required. ``--cmake`` Specify the path to cmake. Useful when the cmake is not in path. ``--standalone`` When enabled, all required Qt libs will be included in Shiboken distribution. This option is allways enabled on Windows System. On Linux it's disabled by default. ``--version`` Specify what version of Shiboken distribution to build. This option is available only when the setup scripts are cloned from git repository. ``--list-versions`` List available versions of Shiboken distributions. ``--ignore-git`` Don't pull sources from git repository. ``--make-spec`` Specify the cmake makefile generator type. Available values are ``msvc`` on Windows System and ``make`` on UNIX System. ``--jobs`` Specify the number of parallel build jobs ``--jom`` Use `jom `_ instead of nmake with msvc ``--build-tests`` Enable building the tests Feedback and getting involved ============================= - Mailing list: http://lists.qt-project.org/mailman/listinfo/pyside - Issue tracker: https://bugreports.qt-project.org/browse/PYSIDE - Code Repository: http://qt.gitorious.org/pyside Changes ======= 1.2.2 (2014-04-24) ------------------ Complete list of changes and bug fixes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Remove rejection lines that cause the sample_list test to fail - Remove protected from samblebinding test - Add parsing of 'noexcept' keyword - Fix function rejections (i.e. support overloads) - Fix building with python 3.3 and 3.4 - Doc: Stop requiring sphinx.ext.refcounting with Sphinx 1.2+ - Fix for containers with 'const' values - Fix compilation issue on OS X 10.9 - Only use fields in PyTypeObject when defining types - Fix buffer overrun processing macro definitions - Fix 'special' include handling - Fix finding container base classes - Refactor and improve added function resolving - Work around MSVC's deficient in libsample/transform.cpp - Fix description of sample/transform unit test - Change wrapping and indent of some code in Handler::startElement to improve consistency - Fix '%#' substitution for # > 9 - Improve dependencies for tests 1.2.1 (2013-08-16) ------------------ Major changes ~~~~~~~~~~~~~ - Better support for more than 9 arguments to methods - Avoiding a segfault when getting the .name attribute on an enum value with no name 1.2.0 (2013-07-02) ------------------ Major changes ~~~~~~~~~~~~~ - Install the shiboken module to site-packages - Fix multiple segfaults Complete list of changes and bug fixes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Removed old logos from html docs - Add missing return on module init error - Don't break -Werror=non-virtual-dtor - Fixing shiboken test for minimal binding test - Decref reference to type object - Fix segfault when using shiboken.delete - Use non-static method def for instance methods - Fix bug introduced when recursive_invalidate was added - fix build in C++11 mode - Prevent infinite recursion in invalidate - Fix possible conflict with garbage collector - Fix possible crash at exit - Fix handling of unsigned long long and provide unittests - Add test to illustrate issue on typedef enum - Use getWrapperForQObject to convert if generating for PySide - Allow compilation without a python shared library - Use parent class's metaObject if wrapper is NULL - Optionally assert on free'd pointer with a valid wrapper - Find python3 libraries when built with pydebug enabled - Fix PYSIDE-108 bug and add example - PYSIDE-83 Fix segfault calling shiboken.dump - Fix and test case for bug PYSIDE-72 - Override all functions with the same name, not just one - Update vector conversion - Add typedef examples to minimal - Add test files back to cmake - Don't use it->second after erasing it - Find function modifications defined in the 2nd+ base class. Fixes bug PYSIDE-54. - Set a default hash function for all ObjectTypes. Fix bug PYSIDE-42. - Fix compilation when there is no libxslt installed on the system. - Fixed resolving of SOABI. SOABI is implemented on Linux, but not on Windows - Don't use inline methods in dllexported classes to keep VC++ happy - Use SpooledTemporaryFile in 2.6+ os.tmpfile() fails on win32 if process doesn't have admin permissions