From: Rafael L. <ra...@la...> - 2020-11-30 16:55:24
|
Dear PLplot developers, [For more context regarding the request below, see https://bugs.debian.org/964127] Please, consider porting the Python-Qt build system to use SIP5 instead of SIP4. A completely new build system was introduced in SIP v5: https://www.riverbankcomputing.com/static/Docs/sip/examples.html Here are two examples of projects that Dmitry Shachnev converted to the new build system: https://github.com/frescobaldi/python-poppler-qt5/pull/41 https://github.com/GauiStori/PyQt-Qwt/pull/14 Best regards, Rafael Laboissière |
From: Alan W. I. <Ala...@gm...> - 2020-12-01 21:35:06
|
On 2020-11-30 17:54+0100 Rafael Laboissière via Plplot-devel wrote: > Dear PLplot developers, > > [For more context regarding the request below, see > https://bugs.debian.org/964127] > > Please, consider porting the Python-Qt build system to use SIP5 instead of > SIP4. Hi Dmitry: >From the PLplot bug discussion above, it appears Rafael was unable to modify PLplot to use sip5 with two different methods which are (1) to generalize our present method for generating our pyqt5 binding so that method works for both sip4 and sip5 or (2) adopting the completely new approach of using a sip5-based build system to generate our pyqt5 binding. I likely will also not be able to convert PLplot to use sip5 because my sip expertise is not particularly good. Also note we must continue to support sip4 because many latest versions of distros (including (!) Debian Unstable, see <https://packages.debian.org/sid/sip-dev>) support that version of sip. If you do provide a patch for this issue, I would *far* prefer you to use method 1 that was described above. Of course, it is normally a good idea for PLplot to support new versions of external software such as sip5 so long as support for older versions that are still being used by most distros (e.g., sip4) is not compromised. However, unless you can find an easy way to support both sip4 and sip5 (e.g., with method 1 above), we should likely just stick with sip4 for quite some time to come. After all, sip4 is a mature and stable product that upstream sip (riverbankcomputing) has continued to support this year via minor feature and bug-fix releases, and it appears that Debian also has no immediate plans to abandon sip4. Alan __________________________ Alan W. Irwin Research affiliation with the Department of Physics and Astronomy, University of Victoria, Victoria, BC, Canada. Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Alan W. I. <Ala...@gm...> - 2020-12-03 20:00:59
|
On 2020-12-03 19:28+0300 Dmitry Shachnev wrote: > H Alan! > > On Tue, Dec 01, 2020 at 01:34:50PM -0800, Alan W. Irwin wrote: >> Hi Dmitry: >> >> From the PLplot bug discussion above, it appears Rafael was unable to >> modify PLplot to use sip5 with two different methods which >> are (1) to generalize our >> present method for generating our pyqt5 binding so that method works for both sip4 and sip5 or >> (2) adopting the completely new approach of using a sip5-based build system to generate our >> pyqt5 binding. >> I likely will also not be able to convert PLplot to use sip5 >> because my sip >> expertise is not particularly good. Also note we must >> continue to support sip4 because many latest versions of distros >> (including (!) Debian Unstable, see <https://packages.debian.org/sid/sip-dev>) >> support that version of sip. If you do provide a patch for this >> issue, I would *far* prefer you to use method 1 that was described above. > > Let me try to convince you of the opposite. > > - SIP 5 was released in October 2019. It's not that much new. > - SIP 5 is what users when they are installing PyQt5 from pypi.org (using pip > tool). So most people who are not relying on distros' package manager will > get it. > - The upstream SIP developer writes [1]: > > SIP v4 has been deprecated for more than a year. *Nobody* should still be > > using it. > - I am SIP maintainer in Debian. At the moment we support both 4 and 5. > The reason why I filed these bugs is that I *do* want to abandon SIP 4. > This won't happen in time for Debian 11 (Bullseye), but it will definitely > happen in Debian 12 (Bookworm). The same applies to Ubuntu, which gets SIP > synced from Debian. > > So at this point there are few reasons to care about SIP 4. Then, upstream > is going to release SIP 6 soon (maybe in a few months). It will be *not* > co-installable with SIP 5, so distros will probably have to ship either > only SIP 6, or for some time SIP 4 and SIP 6 (but not SIP 5). > > If plplot keeps using the old sip/sip5 tool (approach 1), then it will work > with SIP 4 and SIP 5, but will need changes when porting to SIP 6. > > If plplot starts using the new buildsystem (approach 2), then it will work > with SIP 5 and SIP 6 without much changes. > > So I think approach 2 makes more sense than approach 1. Hi Dmitry: Thanks for sharing your knowledge of sip development and version status which I was sorely lacking. And armed with that knowledge the points you have made with regard to moving to approach 2 seem pretty good to me. Therefore, if/when you send me a patch implementing approach 2, I would be willing to modify it to keep the present pure sip4 approach as a (deprecated) alternative until most modern versions of distros support sip5 (if that is going to be an issue). > I am not promising anything, but when I have time I may look at building > plplot with SIP 5, regardless on what approach we decide on. This codebase > is unknown to me, so it may take a while. To help encourage that effort, here is what I would recommend for your first steps. # Use the latest git version of PLplot following the directions at # <https://sourceforge.net/p/plplot/plplot/ci/master/tree/> git clone git://git.code.sf.net/p/plplot/plplot plplot.git # Start configuration with a clean build directory that is located # relative to the plplot.git directory. cd plplot.git mkdir ../build_dir cd ../build_dir # Configure a minimalist PLplot that still enables the pyqt5 binding cmake -DDEFAULT_NO_BINDINGS=ON -DDEFAULT_NO_DEVICES=ON -DENABLE_python=ON -DENABLE_qt=ON -DENABLE_pyqt5=ON -DPLD_extqt=ON -DBUILD_TEST=ON ../plplot.git >& cmake.out) # Test that configuration by building that binding and running an example that uses it. make test_pyqt5_example Note we currently also support Qt4 and pyqt4, but those are about to be removed so ignore that part of our build system. The files and directories within our source tree that are relevant to our pyqt5 binding and the example that tests it are cmake/modules/qt.cmake, bindings/qt_gui/pyqt5, examples, and examples/python. Good luck, and let me know how the above simple steps work for you to test our present sip4 pyqt5 binding. Alan __________________________ Alan W. Irwin Research affiliation with the Department of Physics and Astronomy, University of Victoria, Victoria, BC, Canada. Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Rafael L. <ra...@la...> - 2021-06-19 15:40:52
|
Dear PLplot developers, This is a followup for my message below, sent to plplot-devel in November 2020. I uploaded the version 5.15.0+dfsg-20 of the PLplot packages to the Debian experimental distribution [1]. This version contains a patch for allowing the compilation against SIP 5 and 6. The patch was provided by Dmitry Shachnev [2]. Dmitry told us that he posted the patch in the present mailing list in December 2020, but his message did not go through, apparently. Best, Rafael Laboissière [1] https://lists.debian.org/debian-experimental-changes/2021/06/msg00433.html [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=964127#51 * Rafael Laboissière via Plplot-devel <plp...@li...> [2020-11-30 17:54]: > Dear PLplot developers, > > [For more context regarding the request below, see https://bugs.debian.org/964127] > > Please, consider porting the Python-Qt build system to use SIP5 > instead of SIP4. > > A completely new build system was introduced in SIP v5: > > https://www.riverbankcomputing.com/static/Docs/sip/examples.html > > Here are two examples of projects that Dmitry Shachnev converted to > the new build system: > > https://github.com/frescobaldi/python-poppler-qt5/pull/41 > https://github.com/GauiStori/PyQt-Qwt/pull/14 > > Best regards, > > Rafael Laboissière > > > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel |