Review Request 119302: Make FindPyQt4 work with PyQt's new build system.

Scott Kitterman kde at kitterman.com
Wed Jul 16 01:42:33 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119302/#review62457
-----------------------------------------------------------


This is the method used in qscintilla2's configure.py (which upstream has generally endorsed):

#! /usr/bin/python

import sys
import os

if sys.platform == 'win32':
    data_dir = sys.prefix
else:
    data_dir = sys.prefix + '/share'

py_sip_dir = os.path.join(data_dir, 'sip')

# Note: Set this by hand since the logic to figure out if we're using PyQt4 or
# PyQt5 isn't relevant to the question (QScintilla does do this, but it's not
# germane).
pyqt = 'PyQt4'

if pyqt is not None:
    pyqt_sip_dir = os.path.join(py_sip_dir, pyqt)
else:
    pyqt_sip_dir = None

print(pyqt_sip_dir)
# prints /usr/share/sip/PyQt4

We should use something similar.

- Scott Kitterman


On July 15, 2014, 9:19 p.m., Raphael Kubo da Costa wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119302/
> -----------------------------------------------------------
> 
> (Updated July 15, 2014, 9:19 p.m.)
> 
> 
> Review request for Build System, KDE Bindings, kdelibs, Alex Merry, Luca Beltrame, and Simon Edwards.
> 
> 
> Bugs: 337462
>     http://bugs.kde.org/show_bug.cgi?id=337462
> 
> 
> Repository: kdelibs
> 
> 
> Description
> -------
> 
> Since PyQt 4.10, PyQt.pyqtconfig is deprecated and not available unless
> PyQt is built using the old configure script.
> 
> There is no direct replacement for it, as PyQt's new build system does
> not provide as much information as before by design. Luckily, most of
> the variables we are interested in can be obtained from PyQt's QtCore
> module itself even if its old build system is used.
> 
> The only exception is `pyqt_sip_dir`, which cannot be determined at all
> if pyqtconfig is not available. In this case, there is nothing we can do
> but ask the user to specify it manually via CMake with something like
> `-DPYQT4_SIP_DIR=/usr/share/sip`. To this effect, all variables set by
> FindPyQt4.cmake have been made cache variables, which means their values
> can be overriden by the user, thus ignoring the contents read via
> FindPyQt.py.
> 
> 
> Diffs
> -----
> 
>   cmake/modules/FindPyQt.py 5d2f9514d87553d5a16a95943618572316c92861 
>   cmake/modules/FindPyQt4.cmake b176b4f8cfee471a1b7aecdd2723d165b0496a85 
> 
> Diff: https://git.reviewboard.kde.org/r/119302/diff/
> 
> 
> Testing
> -------
> 
> I was able to make Kate find PyQt by passing `-DPYQT4_SIP_DIR=<...>` with my PyQt installation without `pyqtconfig.py`, and calling `FindPyQt.py` by hand on a Debian system with `pyqtconfig.py` worked as before.
> 
> 
> Thanks,
> 
> Raphael Kubo da Costa
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20140716/22132efa/attachment-0001.html>


More information about the Kde-buildsystem mailing list