Your message dated Fri, 14 Nov 2025 21:35:42 +0000
with message-id <[email protected]>
and subject line Bug#1117346: fixed in labplot 2.12.1-2
has caused the Debian Bug report #1117346,
regarding please support orcus 0.21
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1117346: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1117346
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: labplot
Version: 2.12.0-1
Severity: wishlist
Tags: patch

Hi,

liborcus 0.21.0 is in NEW (since 2.5 weeks, for experimental for now, see below)
- available at https://people.debian.org/~rene/libreoffice/26.2/, though, too)

As usual, LibreOffice only supports (without patching) *one* version.
25.8 does 0.20.x but 26.2 to be released in February only 0.21.x :)
(Though this time this could probably be patched easier)

Thankfully looking at the changes this time it's fairly trivial, the API
change only affects LibreOffice:

from https://gitlab.com/orcus/orcus/-/releases:

--- snip ---
When importing an XML document via orcus_xml, import_factory's finalize() 
method was previously not called which violates the interface contract. This 
version fixes it.
added static method has_range(std::string_view stream) to both orcus_xml and 
orcus_json to detect whether a given XML and JSON document has at least one 
linkable range, respectively.
added a variant of orcus::detect() function that takes a document content and 
the format type to check against. This variant only checks whether the document 
is of the specified type, and returns the result as a boolean value.
The following functions now take a binary stream containing file content as 
std::string_view as opposed to the previous const char* and size_t pair:
orcus_ods::detect(std::string_view strm)
orcus_xlsx::detect(std::string_view strm)
orcus_gnumeric::detect(std::string_view strm)
orcus_xls_xml::detect(std::string_view strm)
orcus_parquet::detect(std::string_view strm)
orcus_json::detect(std::string_view strm)
orcus_xml::detect(std::string_view strm)
--- snip ---

And labplot doesn't use detect afaics:

rene@frodo:~/labplot-2.12.1/src$ grep -ri orcus
CMakeLists.txt:if(Orcus_FOUND)
CMakeLists.txt:    target_link_libraries(labplotlib ${Orcus_LIBRARIES} 
${Ixion_LIBRARY})
frontend/datasources/ImportFileWidget.cpp:#ifdef HAVE_ORCUS
frontend/datasources/ImportFileWidget.cpp:#ifdef HAVE_ORCUS
frontend/datasources/OdsOptionsWidget.cpp:#ifdef HAVE_ORCUS
frontend/AboutDialog.cpp:#ifdef HAVE_ORCUS
frontend/AboutDialog.cpp:       version = QLatin1String(ORCUS_VERSION_STRING);
frontend/AboutDialog.cpp:       components << (QStringList() << 
QLatin1String("ORCUS") << i18n("Import ODS (Open Document Spreadsheet) files") 
<< version << 
QStringLiteral("https://orcus.readthedocs.io/en/stable/index.html";));
backend/datasources/filters/OdsFilter.cpp:#ifdef HAVE_ORCUS
backend/datasources/filters/OdsFilter.cpp:#include <orcus/orcus_ods.hpp>
backend/datasources/filters/OdsFilter.cpp:#include 
<orcus/spreadsheet/factory.hpp>
backend/datasources/filters/OdsFilter.cpp:#include <orcus/spreadsheet/sheet.hpp>
backend/datasources/filters/OdsFilter.cpp:using namespace orcus;
backend/datasources/filters/OdsFilter.cpp:// * export data when Orcus support 
is stable
backend/datasources/filters/OdsFilter.cpp:#ifdef HAVE_ORCUS
backend/datasources/filters/OdsFilter.cpp:      orcus_ods loader(&factory);
backend/datasources/filters/OdsFilter.cpp:      // TODO: "The export 
functionality of the Orcus library is highly experimental."
backend/datasources/filters/OdsFilter.cpp:#ifdef HAVE_ORCUS
backend/datasources/filters/OdsFilter.cpp:              orcus_ods 
loader(&factory);
backend/datasources/filters/OdsFilter.cpp:#ifdef HAVE_ORCUS
backend/datasources/filters/OdsFilter.cpp:#ifdef HAVE_ORCUS
backend/datasources/filters/OdsFilter.cpp:      orcus_ods loader(&factory);
backend/datasources/filters/OdsFilterPrivate.h:#ifdef HAVE_ORCUS
backend/datasources/filters/OdsFilterPrivate.h:#include 
<orcus/spreadsheet/document.hpp>
backend/datasources/filters/OdsFilterPrivate.h:#ifdef HAVE_ORCUS
backend/datasources/filters/OdsFilterPrivate.h: 
orcus::spreadsheet::range_size_t m_ss{1048576, 16384};
backend/datasources/filters/OdsFilterPrivate.h: orcus::spreadsheet::document 
m_document{m_ss};
backend/datasources/filters/AbstractFileFilter.cpp:#ifdef HAVE_ORCUS // before 
ASCII, because ODS is XML and XML is ASCII
rene@frodo:~/labplot-2.12.1/src$ cd backend/datasources/filters
rene@frodo:~/labplot-2.12.1/src/backend/datasources/filters$ grep -ri detect *
AbstractFileFilter.cpp:#ifdef HAVE_HDF5 // before NETCDF to treat NetCDF 4 
files with .nc ending as HDF5 when fileInfo detects it (HDF4 not supported)
AsciiFilter.cpp:                return i18n("No new line detected");
AsciiFilter.cpp:        case 
Status::SequentialDeviceAutomaticSeparatorDetection:
AsciiFilter.cpp:        case Status::HeaderDetectionNotAllowed:
AsciiFilter.cpp:        case Status::SeparatorDetectionNotAllowed:
AsciiFilter.cpp:                return i18n("Separator detection not allowed");
AsciiFilter.cpp:QString AsciiFilter::autoSeparatorDetectionString() {
AsciiFilter.cpp:        return (QStringList() << autoSeparatorDetectionString() 
<< QStringLiteral("TAB") << QStringLiteral("SPACE") << QStringLiteral(",") << 
QStringLiteral(";")
AsciiFilter.cpp:        
writer->writeAttribute(QStringLiteral("separatingCharacterDetection"), 
QString::number(p.automaticSeparatorDetection));
AsciiFilter.cpp:        READ_INT_VALUE("separatingCharacterDetection", 
properties.automaticSeparatorDetection, bool);
AsciiFilter.cpp:        if (!properties.automaticSeparatorDetection && 
properties.endColumn > 0
AsciiFilter.cpp:        if (properties.automaticSeparatorDetection) {
AsciiFilter.cpp: * \param dateTimeFormat The datetime format will be updated if 
it is empty by the detected format
AsciiFilter.cpp:        if (p.automaticSeparatorDetection)
AsciiFilter.cpp:                return 
setLastError(Status::SeparatorDetectionNotAllowed);
AsciiFilter.cpp:                return 
setLastError(Status::HeaderDetectionNotAllowed);
AsciiFilter.h:          SequentialDeviceAutomaticSeparatorDetection,
AsciiFilter.h:          HeaderDetectionNotAllowed,
AsciiFilter.h:          SeparatorDetectionNotAllowed,
AsciiFilter.h:  static QString autoSeparatorDetectionString();
AsciiFilter.h:          bool automaticSeparatorDetection{true};
HDF5Filter.cpp:                 props << QLatin1String(": FLETCHER32"); /* 
Error DetecDiftion Code */
OdsFilter.cpp:                  case ixion::cell_t::numeric: // numeric values 
are always double (can't detect if integer)
$

So it's pretty straightforward to add (lib)orcus-0.21, orcus-parser-0.21 and
orcus-spreadsheet-model-0.21 where it's used.

(Interestingly 
https://github.com/KDE/labplot/commit/1201b2100d360d6247fadc1d958767637ac9b761
did update flatpak but nothing else did update the cmake files....
Probably it assumes an liborcus.pc/liborcus-spreadsheet-model.pc and it's 
siblings which we don't
provide as upstream dosn't - IMHO with good reason as we saw e.g. on the last
update - either.)

Diff attached.

Doing this in advance would help labplot just being bin-NMUable in
the forthcoming transition (whenever it will be, fist needs to get out
of NEW...) instead of needing a source upload.

Regards,

Rene
diff -Nru labplot-2.12.1/debian/changelog labplot-2.12.1/debian/changelog
--- labplot-2.12.1/debian/changelog	2025-08-25 20:12:49.000000000 +0200
+++ labplot-2.12.1/debian/changelog	2025-10-05 14:40:19.000000000 +0200
@@ -1,3 +1,10 @@
+labplot (2.12.1-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * allow build with liborcus 0.21 
+
+ -- Rene Engelhard <[email protected]>  Sun, 05 Oct 2025 14:40:19 +0200
+
 labplot (2.12.1-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru labplot-2.12.1/debian/patches/orcus-0.21.diff labplot-2.12.1/debian/patches/orcus-0.21.diff
--- labplot-2.12.1/debian/patches/orcus-0.21.diff	1970-01-01 01:00:00.000000000 +0100
+++ labplot-2.12.1/debian/patches/orcus-0.21.diff	2025-10-05 14:39:06.000000000 +0200
@@ -0,0 +1,37 @@
+--- labplot-2.12.1.orig/cmake/FindOrcus.cmake
++++ labplot-2.12.1/cmake/FindOrcus.cmake
+@@ -14,21 +14,21 @@ if (Orcus_INCLUDE_DIR AND Orcus_LIBRARIE
+     set (Orcus_FOUND TRUE)
+ else ()
+     find_package(PkgConfig QUIET)
+-    pkg_search_module(PC_ORCUS liborcus liborcus-0.20 liborcus-0.19 liborcus-0.18 liborcus-0.17 liborcus-0.16 QUIET)
++    pkg_search_module(PC_ORCUS liborcus liborcus-0.21 liborcus-0.20 liborcus-0.19 liborcus-0.18 liborcus-0.17 liborcus-0.16 QUIET)
+     pkg_search_module(PC_IXION libixion libixion-0.20 libixion-0.19 libixion-0.18 libixion-0.17 libixion-0.16 QUIET)
+ 
+     find_library (Orcus_LIBRARY
+-        NAMES orcus orcus-0.20 orcus-0.19 orcus-0.18 orcus-0.17 orcus-0.16
++        NAMES orcus orcus-0.21 orcus-0.20 orcus-0.19 orcus-0.18 orcus-0.17 orcus-0.16
+         HINTS ${PC_ORCUS_LIBRARY_DIRS}
+         PATH_SUFFIXES orcus
+     )
+     find_library (Orcus_parser_LIBRARY
+-        NAMES orcus-parser orcus-parser-0.20 orcus-parser-0.19 orcus-parser-0.18 orcus-parser-0.17 orcus-parser-0.16
++        NAMES orcus-parser orcus-parser-0.21 orcus-parser-0.20 orcus-parser-0.19 orcus-parser-0.18 orcus-parser-0.17 orcus-parser-0.16
+         HINTS ${PC_ORCUS_LIBRARY_DIRS}
+         PATH_SUFFIXES orcus
+     )
+     find_library (Orcus_spreadsheet_LIBRARY
+-        NAMES orcus-spreadsheet-model orcus-spreadsheet-model-0.20 orcus-spreadsheet-model-0.19 orcus-spreadsheet-model-0.18 orcus-spreadsheet-model-0.17 orcus-spreadsheet-model-0.16
++        NAMES orcus-spreadsheet-model orcus-spreadsheet-model-0.21 orcus-spreadsheet-model-0.20 orcus-spreadsheet-model-0.19 orcus-spreadsheet-model-0.18 orcus-spreadsheet-model-0.17 orcus-spreadsheet-model-0.16
+         HINTS ${PC_ORCUS_LIBRARY_DIRS}
+         PATH_SUFFIXES orcus
+     )
+@@ -69,7 +69,7 @@ else ()
+     set(LIBIXION_VERSION ${PC_IXION_VERSION})
+     # latest version
+     if (NOT DEFINED LIBORCUS_VERSION)
+-        set(LIBORCUS_VERSION "0.20.0")
++        set(LIBORCUS_VERSION "0.21.0")
+     endif()
+     if (NOT DEFINED LIBIXION_VERSION)
+             set(LIBIXION_VERSION "0.20.0")
diff -Nru labplot-2.12.1/debian/patches/series labplot-2.12.1/debian/patches/series
--- labplot-2.12.1/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ labplot-2.12.1/debian/patches/series	2025-10-05 14:38:25.000000000 +0200
@@ -0,0 +1 @@
+orcus-0.21.diff

--- End Message ---
--- Begin Message ---
Source: labplot
Source-Version: 2.12.1-2
Done: Pino Toscano <[email protected]>

We believe that the bug you reported is fixed in the latest version of
labplot, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pino Toscano <[email protected]> (supplier of updated labplot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 14 Nov 2025 22:13:43 +0100
Source: labplot
Architecture: source
Version: 2.12.1-2
Distribution: unstable
Urgency: medium
Maintainer: Debian KDE Extras Team <[email protected]>
Changed-By: Pino Toscano <[email protected]>
Closes: 1117346
Changes:
 labplot (2.12.1-2) unstable; urgency=medium
 .
   * Drop Rules-Requires-Root: no, no more needed since Debian trixie.
   * Backport upstream commit ee17e7659a97b36b58cab28b2b56cede7cd153c6 to 
support
     orcus 0.21.0; patch upstream_cmake-support-orcus-0.21.patch.
     (Closes: #1117346)
Checksums-Sha1:
 0c7cd902f3f0c49b32bfef002ebd7cd6c6946c53 3170 labplot_2.12.1-2.dsc
 d57dd0de367615d71b01d86df5984a3dcb7f6621 18296 labplot_2.12.1-2.debian.tar.xz
 505fb559078979d59f74ba6400c944ebbbcf6282 23797 
labplot_2.12.1-2_source.buildinfo
Checksums-Sha256:
 5224bc38de9679712b686a2495a659296197e9fa94c885478057a4cfee643a0b 3170 
labplot_2.12.1-2.dsc
 ff3ea977bffb605b4306f082bf96802ddd17ad5d56883194f6961f7b3c93f471 18296 
labplot_2.12.1-2.debian.tar.xz
 dbc751d0e997897213b188d4317584e405e694593f0ecbd7c7a61e7af06a9a40 23797 
labplot_2.12.1-2_source.buildinfo
Files:
 0d5293ed61e7ab317a7ce04c9a6a2939 3170 math optional labplot_2.12.1-2.dsc
 0b9527bb14d673007a1865d86f0ab80d 18296 math optional 
labplot_2.12.1-2.debian.tar.xz
 0a4fc5435240d701c16b2140d066c9cb 23797 math optional 
labplot_2.12.1-2_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEXyqfuC+mweEHcAcHLRkciEOxP00FAmkXm9IACgkQLRkciEOx
P01R4g//TliEtvO+KylIId8CA7cY2ToCWuCXfe+/bQgE0t3ncmXJsvHtnFgEK6kQ
ddoUMWGHgL4ItbMS00KD+gg3w8hHfSNFX2OazigEM1EpNefGITFh0iKos7Jv5ee+
EZEw1vWTh6rfK44MJBGTgEUQsoX9eOM3qqRIc7YPR+UON3UeCO7ZpUM3sRUbGVtU
Xf+jBy5EYi1ls7HMUPbOw2mKvjU63Z0dlqCaQET+dvf/P4OsuOCjgKu3w1MEQM0M
nZ1WhKk4Im8EuqLaPx1w0tEEw7MXlcYqg+nBcKpVxLjMescSehv4O7RVHPZzh5h6
DdCGc8UFkTUgnsSwfS6j5nfIU+Th3L6ucoydki6htcmUvP0tBgn/dVDej2+awLKG
yDt+yLprF3cxgrX1PrQOjE9ogBbTKUq/jNkDnwQ/Doo04iHB2S9s1f2rVp4kuWsw
EkhvWD6S95jJ2h9xWZU9EEot16OMRlURjtVVfOGQ7a9RD8w9YqSTP28jtAmW8Eo/
tY7ew9egppEEcZSKDlbA9BgBD1PM6uBzLFlqiulo+BWQUfjkuGYbowYwMaZUYq+a
N1RbxqGmkR7Whz3Wx8evqZo07XSbc3XnjvoJVHxRkJV9IoPCo4MVCi6Pr7lsL7wV
qAoLKfzsGhkRssbSZbpndmF78JnI4Tp4sjaQ2BaCF1NKHplmoQY=
=82qk
-----END PGP SIGNATURE-----

Attachment: pgp_1lyOHK2JR.pgp
Description: PGP signature


--- End Message ---
_______________________________________________
pkg-kde-extras mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-kde-extras

Reply via email to