Bug#964127: plplot: Please switch from sip4 to sip5

Rafael Laboissière rafael at debian.org
Sun Nov 29 12:40:43 GMT 2020


Control: tags -1 + help

* Dmitry Shachnev <mitya57 at debian.org> [2020-07-02 13:31]:

> Source: plplot
> Version:  5.15.0+dfsg-12
> Severity: important
> Usertags: sip5
>
> Dear Maintainer,
>
> Recently I have updated pyqt5 and related packages to use sip5 instead of 
> sip4 for build. This is in experimental for now, but I want to upload it 
> to unstable in a month or two.
>
> This change breaks PyQt5 extension ABI, so all packages build-depending on 
> pyqt5-dev need to build with sip5 too.
>
> Quick migration guide:
>
> 1) Build-depend on python3-sipbuild(-dbg) and sip5-tools.
>
>   - Inspect pyproject.toml (if it exists) for additional dependencies, maybe
>     you will need also python3-pyqtbuild.
>
> 2) If your package has a project.py file, call sip-build to build it. 
>   For separation of configure and build phases, pass --no-make to it.
>
> 3) If your package does not have a project.py file, but has a configure.py, 
>   update that file to the latest version of the boilerplate (v2.16), which 
>   you can find in the experimental version of qscintilla2 package.
>
>   (Qscintilla2's configure.py used to be a recommended way to build sip
>   projects.)
>
> 4) If your package called /usr/bin/sip directly, call /usr/bin/sip5 instead.
>
> 5) If your package had a runtime dependency on python3-sip or ${sip3:Depends}, 
>   depend on python3-pyqt5.sip instead. There is no analogue for dh_sip3 
>   helper yet.
>
>   (Upstream now recommends each project to use its own private copy of sip.
>   In Debian, I recommend you to use pyqt5's copy which is python3-pyqt5.sip).
>
> 6) If you build a -dev package with .sip files, they are now installed into 
>   a new location (in dist-packages). Also .toml files now should be present.
>
> You can see what I have done in pyqt5, pyqt5chart, pyqt5webengine and 
> qscintilla2 packages in experimental (see the relevant commits in git).
>
> The official documentation for sip5 is available online [1] or in sip5-doc 
> package. For help you can ask me or pyqt/sip mailing list [2] (subscription 
> needed to post messages).
>
> Please stage your changes in experimental (or in a VCS) for now. They will 
> need to be uploaded to unstable together with pyqt5.
>
> [1]: https://www.riverbankcomputing.com/static/Docs/sip/ 
> [2]: https://www.riverbankcomputing.com/mailman/listinfo/pyqt

I tried to port the plplot package to sip5, by following the instructions 
above, but it did not work.  I will need a little help for getting this 
done.  The changes are in the package's repository at Salsa, under the 
branch “sip5”: https://salsa.debian.org/science-team/plplot/-/tree/sip5

Essentially, I changed “python3-sip-dev” to “python3-sipbuild” and added 
sip5-tools to the build dependencies.  I also added a patch that forces 
the use of /usr/bin/sip5 and also removes the -b option from the command 
calling sip.

Building in a clean unstable chroot fails with this error message:

  cd <build_dir>/obj-x86_64-linux-gnu/bindings/qt_gui/pyqt5 && /usr/bin/sip5 -c . -I/usr/lib/python3/dist-packages/PyQt5/bindings -n PyQt5.sip -t Qt_5_15_0 -t WS_X11 <build_dir>/bindings/qt_gui/pyqt5/plplot_pyqt5.sip
  sip5: /usr/lib/python3/dist-packages/PyQt5/bindings/QtCore/QtCoremod.sip:25: At most one of this %Timeline must be specified with the -t flag

Best,

Rafael



More information about the debian-science-maintainers mailing list