Some questions about next versions of SIP

Kovid Goyal kovid at kovidgoyal.net
Tue Sep 15 17:42:55 BST 2020


So, I looked into moving calibre's build system to use sip5 +
sip-install and am currently stuck with the following:

I want to install PyQt and PyQtWebEngine using sip-install

I need the install to happen to a staging directory from where I will
copy the files to the final installation directory. This works fine
for PyQt with --target-dir

However, if I specify --target-dir for PyQtWebEngine, it fails to find
the needed PyQt sip files. If I dont, then it installs directly into the
python site-packags directory.

So I need someway to either add a path to sip_include_dirs when callig
sip-install, or have some option that overrides where it installs,
without changing where it looks for sip files.

Kovid.

On Tue, Sep 15, 2020 at 09:27:02AM +0100, Phil Thompson wrote:
> On 15/09/2020 07:36, Boudewijn Rempt wrote:
> > On Monday, 14 September 2020 23:23:39 CEST Phil Thompson wrote:
> > 
> > > The main difference between SIP v4 and v5 is the *addition* of a build
> > > system, so it's not possible to write a guide to converting from
> > > something I know nothing about.
> > 
> > Well, it's not complicated. We run a cmake configure_command and
> > build_command on the downloaded sip code:
> > 
> >         CONFIGURE_COMMAND ${PYTHON_EXECUTABLE_PATH}
> > <SOURCE_DIR>/configure.py -b ${PREFIX_ext_sip}/bin -d
> > ${PREFIX_ext_sip}/lib/python3.8/site-packages -e
> > ${PREFIX_ext_sip}/include  --sipdir ${PREFIX_ext_sip}/sip
> > --target-py-version 3.8 --sip-module PyQt5.sip
> >         BUILD_COMMAND make
> > 
> > For PyQt it's the same:
> > 
> >         CONFIGURE_COMMAND ${PYTHON_EXECUTABLE_PATH}
> > <SOURCE_DIR>/configure.py ${_PYQT_conf}
> >         BUILD_COMMAND make
> > 
> > We cannot use any prebuilt binaries because we need to use our own build
> > of Qt.
> > 
> > > There may be improvements that can be made to help projects move to
> > > SIP
> > > v5, but it is up to those projects to identify them.
> 
> So I need to clarify a previous answer. PyQt5 will not work with SIP v6 if
> you are still using configure.py.
> 
> Phil
> 

-- 
_____________________________________

Dr. Kovid Goyal 
https://www.kovidgoyal.net
https://calibre-ebook.com
_____________________________________


More information about the PyQt mailing list