QCustomPlot -- follow-up

Filippo Rusconi lopippo at debian.org
Mon Sep 26 15:21:56 BST 2022


Greetings Science Debianites, 

in one previous mail, I had said that I thought it was desirable to have the
QCustomPlot library built against Qt6 in the next stable release and also
updated to version 2.1.0 (current is 2.0.1).

The rdepends of qcustomplot package:

% apt-cache rdepends libqcustomplot-dev

Reverse Depends:
   science-mathematics-dev

% apt-cache rdepends libqcustomplot2.0 

Reverse Depends:
   libqcustomplot-dev
*  xtpcpp
   wsjtx
   wfview
   traceshark
   js8call
   polyphone
   nageru
*  msxpertsuite-minexpert
*  minexpert2
   xtrx-fft
*  libpappsomspp-widget0

The asterisks indicate packages I own or co-maintain.

I thus started packaging the library and tried to modernize the CMake-based
configuration system. In CMake >3.15, there are now functions than handle
automagically the creation of the <package>Config.cmake list file for
relocatable packages and other goodies.

I initially tried to keep the "qcustomplot" name for the library and went on
with the CMake modernization. But then, I discovered that the library alias that
should be used by the developers linking to this library is created by the CMake
system as QCustomPlot::qcustomplot, which does not correspond to what would be
expected in the Qt::Qt realm.

Because there is going to be a transition for this library switch from 2.0 to
2.1 anyway, I thought this repackaging was the ideal occasion to change the
library name to more resemble the actual name of the library: QCustomPlot, which
is more in the likes of QtCore, QtWidgets and other QtNetwork.

In the new packaging, I strived to keep things similar to the previous CMake
configuration for the build under Qt5. The library that is built now is
libQCustomPlot and libQCustomPlotQt6 for Qt5- and Qt6-based builds

Thanks to this name change, the users of the library will thus very easily
select the library of interest in the likes of:

target_link_library(<TARGET> QCustomPlot::QCutstomPlot)

(unchanged with respect to previous version)

or

target_link_library(<TARGET> QCustomPlotQt6::QCutstomPlotQt6)

Does this sound reasonable to you ?

I have pushed a qt5-and-qt6 branch in the salsa repos:

https://salsa.debian.org/science-team/qcustomplot/-/tree/qt5-and-qt6

The packages I have built on my testing system allowed me to build a Qt6-based
library using in turn the QCustomPlot6 library.

Would you like to comment about the above, about the transition process or about
anything else?

Thank you for your kind attention,

Sincerely,

Filippo

P.S. By the way, if there is some DD that is experienced in transitions, it
would be good to know as it appears to me that this is a tricky subject :-)

-- 

⢀⣴⠾⠻⢶⣦⠀  Filippo Rusconi, PhD
⣾⠁⢠⠒⠀⣿⡁   Research scientist at CNRS
⢿⡄⠘⠷⠚⠋⠀   Debian Developer
⠈⠳⣄⠀⠀⠀⠀  http://msxpertsuite.org
           http://www.debian.org




More information about the debian-science-maintainers mailing list