GNU bug report logs - #73439
[PATCH 00/10] Update libreoffice to its latest version.

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Mon, 23 Sep 2024 12:23:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73439 in the body.
You can then email your comments to 73439 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:23:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Graves <ngraves <at> ngraves.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 23 Sep 2024 12:23:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: guix-patches <at> gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 00/10] Update libreoffice to its latest version.
Date: Mon, 23 Sep 2024 14:15:40 +0200
This patch series updates libreoffice to its latest version. I used
local builds of derivations with ccache
(https://issues.guix.gnu.org/68315) to test developping and updating a
big package incrementally. Some commits can be squashed, but I think
we should at least keep separate 24.2.0.3, 24.2.6.2, 24.8.1.2. It also
adds an updater for the libreoffice package.

Nicolas Graves (10):
  import: Add %libreoffice-updater.
  gnu: libreoffice: Update to 24.2.0.3.
  gnu: libreoffice: Update to 24.2.1.2.
  gnu: libreoffice: Update to 24.2.2.2.
  gnu: libreoffice: Update to 24.2.3.2.
  gnu: libreoffice: Update to 24.2.4.2.
  gnu: libreoffice: Update to 24.2.5.2.
  gnu: libreoffice: Update to 24.2.6.2.
  gnu: libreoffice: Update to 24.8.1.2.
  gnu: hunspell-dictionaries: Update to  24.8.1.2.

 Makefile.am                  |  1 +
 gnu/packages/hunspell.scm    |  7 ++-
 gnu/packages/libreoffice.scm | 29 ++++++++---
 guix/import/libreoffice.scm  | 98 ++++++++++++++++++++++++++++++++++++
 4 files changed, 125 insertions(+), 10 deletions(-)
 create mode 100644 guix/import/libreoffice.scm

-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:02 GMT) Full text and rfc822 format available.

Message #8 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 01/10] import: Add %libreoffice-updater.
Date: Mon, 23 Sep 2024 14:37:15 +0200
Change-Id: I481b1175db531c4fea4a57838fe190f679cd1a85
---
 Makefile.am                 |  1 +
 guix/import/libreoffice.scm | 98 +++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 guix/import/libreoffice.scm

diff --git a/Makefile.am b/Makefile.am
index e9801283f8..e4e4fb5a19 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -306,6 +306,7 @@ MODULES =					\
   guix/import/json.scm				\
   guix/import/kde.scm				\
   guix/import/launchpad.scm   			\
+  guix/import/libreoffice.scm 			\
   guix/import/minetest.scm   			\
   guix/import/npm-binary.scm			\
   guix/import/opam.scm				\
diff --git a/guix/import/libreoffice.scm b/guix/import/libreoffice.scm
new file mode 100644
index 0000000000..65d20f0432
--- /dev/null
+++ b/guix/import/libreoffice.scm
@@ -0,0 +1,98 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix import libreoffice)
+  #:use-module (web client)
+  #:use-module (sxml match)
+  #:use-module (sxml simple)
+  #:use-module (guix i18n)
+  #:use-module (guix diagnostics)
+  #:use-module (guix packages)
+  #:use-module (guix upstream)
+  #:use-module (guix utils)
+  #:use-module (ice-9 textual-ports)
+  #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-71)
+  #:export (%libreoffice-updater))
+
+(define archive-prefix
+  "https://downloadarchive.documentfoundation.org/libreoffice/old/")
+(define libreoffice-latest-url (string-append archive-prefix "latest/src/"))
+
+(define (libreoffice-latest-version)
+  (let* ((response port (http-get libreoffice-latest-url
+                                  #:streaming? #t))
+         (content (get-string-all port))
+         ;; xml->sxml is not flexible enough for html.
+         ;; For instance, <img> tags don't have closing </img>.
+         ;; This trick preprocesses html to extract all <a> tags in
+         ;; a <body> wrapper, which sxml-match can handle well.
+         (xml (xml->sxml
+               (string-append
+                "<body><"
+                (string-join
+                 (filter (cute string-prefix? "a " <>)
+                         (string-split content #\<))
+                 "</a><")
+                "></a></body>")
+               #:trim-whitespace? #t)))
+    (sxml-match
+     xml
+     ((*TOP*
+       (body
+        (a (@ (href "?C=N;O=D")) "Name")
+        (a (@ (href "?C=M;O=A")) "Last modified")
+        (a (@ (href "?C=S;O=A")) "Size")
+        (a (@ (href "/libreoffice/old/latest/")) "Parent Directory")
+        (a (@ (href ,link)) ,name)
+        . ,rest))
+      (if (and (string-prefix? "libreoffice-" name)
+               (string-suffix? ".tar.xz" name))
+          (string-drop
+           (string-drop-right name (string-length ".tar.xz"))
+           (string-length "libreoffice-"))
+          (raise
+           (formatted-message (G_ "Could not extract version from '~a'")
+                              name)))))))
+
+(define* (latest-release package #:key (version #f))
+  "Return an <upstream-source> for the latest-release of PACKAGE."
+  (let* ((name (package-name package))
+         (version (or version (libreoffice-latest-version))))
+    (upstream-source
+     (package name)
+     (version version)
+     (urls (list
+            (string-append
+             archive-prefix version "/src/libreoffice-" version ".tar.xz")
+            (string-append
+             "https://download.documentfoundation.org/libreoffice/src/"
+             (version-prefix version 3) "/libreoffice-" version ".tar.xz"))))))
+
+(define (libreoffice-package? package)
+  "Return true if PACKAGE is LibreOffice."
+  (string=? (package-name package) "libreoffice"))
+
+(define %libreoffice-updater
+  (upstream-updater
+   (name 'libreoffice)
+   (description "Updater for Libreoffice package")
+   (pred libreoffice-package?)
+   (import latest-release)))
+
+;; libreoffice.scm ends here.
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:03 GMT) Full text and rfc822 format available.

Message #11 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 02/10] gnu: libreoffice: Update to 24.2.0.3.
Date: Mon, 23 Sep 2024 14:37:16 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.0.3.

Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
---
 gnu/packages/libreoffice.scm | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ed8dfd432b..70167d11ea 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -63,6 +63,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -80,6 +81,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-compression)
@@ -891,16 +893,20 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "7.6.7.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append
-         "https://download.documentfoundation.org/libreoffice/src/"
-         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
+        (list
+         (string-append
+          "https://download.documentfoundation.org/libreoffice/src/"
+          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+         (string-append
+          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+          version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m"))))
+        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
@@ -961,6 +967,13 @@ (define-public libreoffice
                              "shell/source/unix/misc/senddoc.sh")
                 (("/usr/bin/xdg-open")
                  (search-input-file inputs "/bin/xdg-open")))
+
+              ;; Probably necessary because we use a custom GCC(>=12)/GLIBC.
+              (substitute* '("sal/rtl/math.cxx"
+                             "sc/source/core/tool/math.cxx")
+                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
+                 suffix))
+
               (setenv "CPPFLAGS" "-std=c++17")))
           (add-after 'install 'reset-zip-timestamps
             (lambda _
@@ -1083,12 +1096,14 @@ (define (install-python-script name)
            cppunit
            flex
            frozen                       ;header-only library
+           gcc-12
            pkg-config
            python-wrapper
            which
            ziptime))
     (inputs
-     (list bluez
+     (list argon2
+           bluez
            boost
            box2d
            clucene
@@ -1100,6 +1115,7 @@ (define (install-python-script name)
            fontforge
            gconf
            glew
+           glibc
            glm
            gnupg
            gobject-introspection
@@ -1168,6 +1184,7 @@ (define (install-python-script name)
            xdg-utils
            xmlsec-nss
            zip
+           zxcvbn-c
            zxing-cpp))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:03 GMT) Full text and rfc822 format available.

Message #14 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 03/10] gnu: libreoffice: Update to 24.2.1.2.
Date: Mon, 23 Sep 2024 14:37:17 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.1.2.

Change-Id: I2ad06be08ae76c3d37d46c816caf90a23a5a21e8
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 70167d11ea..61e74e9909 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
+    (version "24.2.1.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
+        (base32 "1a4zakrahmr86p9lmk19kyz810176wxpnmq6bbnmjl36ixz5gkrw"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:04 GMT) Full text and rfc822 format available.

Message #17 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 04/10] gnu: libreoffice: Update to 24.2.2.2.
Date: Mon, 23 Sep 2024 14:37:18 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.2.2.

Change-Id: I5ba7a472ea3741af96999ef4c7318c39a27b819b
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 61e74e9909..f42ed64edc 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.1.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.2.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "1a4zakrahmr86p9lmk19kyz810176wxpnmq6bbnmjl36ixz5gkrw"))))
+        (base32 "0pp4wnm434vxar79y9dm7qy66hqhhm5k84539ssr8p7n898ac1f2"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:04 GMT) Full text and rfc822 format available.

Message #20 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 05/10] gnu: libreoffice: Update to 24.2.3.2.
Date: Mon, 23 Sep 2024 14:37:19 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.3.2.

Change-Id: I81794408cff93c2770861dd38d9afb7c8d6d8ddf
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index f42ed64edc..ec3d005c2a 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.2.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.3.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "0pp4wnm434vxar79y9dm7qy66hqhhm5k84539ssr8p7n898ac1f2"))))
+        (base32 "0r0y92c7i42iiimzg9b1pyldnswh28j8p0lmilz7j1sxv2f0bqpn"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:05 GMT) Full text and rfc822 format available.

Message #23 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 06/10] gnu: libreoffice: Update to 24.2.4.2.
Date: Mon, 23 Sep 2024 14:37:20 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.4.2.

Change-Id: Ia7a891c643885c7c4be5d9154fd3f7002f7c7cfb
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ec3d005c2a..a43ce74deb 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.3.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.4.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "0r0y92c7i42iiimzg9b1pyldnswh28j8p0lmilz7j1sxv2f0bqpn"))))
+        (base32 "10zfnmaxnkiwv0ryxbxyfs8199iw13picid6f1f5yb5ga2jq0ccy"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:05 GMT) Full text and rfc822 format available.

Message #26 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 07/10] gnu: libreoffice: Update to 24.2.5.2.
Date: Mon, 23 Sep 2024 14:37:21 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.5.2.

Change-Id: I30a54911d16b242ba3b8bd8eace77a8bf22ef3d4
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a43ce74deb..a5e26e5e55 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.4.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.5.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "10zfnmaxnkiwv0ryxbxyfs8199iw13picid6f1f5yb5ga2jq0ccy"))))
+        (base32 "03halzc9w4z8pfs8krpswp2qzrqq9rhnmms8v8ny88am87vy85lw"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:06 GMT) Full text and rfc822 format available.

Message #29 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 08/10] gnu: libreoffice: Update to 24.2.6.2.
Date: Mon, 23 Sep 2024 14:37:22 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.6.2.

Change-Id: I18046f093118f13d3617e7549f90fb0931c10d85
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a5e26e5e55..a288136e06 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.5.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.6.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "03halzc9w4z8pfs8krpswp2qzrqq9rhnmms8v8ny88am87vy85lw"))))
+        (base32 "1cqxw745kzm81b2nvfpl5n2sq1k9y25y596wvjsnaq394bq4vspn"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:06 GMT) Full text and rfc822 format available.

Message #32 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 09/10] gnu: libreoffice: Update to 24.8.1.2.
Date: Mon, 23 Sep 2024 14:37:23 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.1.2.

Change-Id: I95ba7d5a5d1475b9c502051ecb076734a320c059
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a288136e06..2d038cdf0d 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.6.2")               ;keep in sync with hunspell dictionaries
+    (version "24.8.1.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "1cqxw745kzm81b2nvfpl5n2sq1k9y25y596wvjsnaq394bq4vspn"))))
+        (base32 "1rqii01i0295ch2xc9mddqpvlpjapk3m6nra4mhxfc38da1qci48"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 12:39:06 GMT) Full text and rfc822 format available.

Message #35 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 10/10] gnu: hunspell-dictionaries: Update to  24.8.1.2.
Date: Mon, 23 Sep 2024 14:37:24 +0200
* gnu/packages/hunspell.scm (hunspell-dictionaries): Update to 24.8.1.2.
(hunspell-ditionary)[source]<origin>: Change url, anongit returns
gateway http errors 504.

Change-Id: Ie7b548f1e7a2342fdde2aea3740e2634c0ba70e3
---
 gnu/packages/hunspell.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 8c076de3c4..09ada5a3d3 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -309,18 +309,17 @@ (define* (hunspell-dictionary dict-name full-name #:key synopsis home-page licen
                          (#\_ #\-)
                          (chr chr))
                        (string-downcase dict-name))))
-    (version "7.6.7.2")
+    (version "24.8.1.2")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url (string-append "https://anongit.freedesktop.org/git/"
-                                 "libreoffice/dictionaries.git/"))
+             (url "https://github.com/LibreOffice/dictionaries")
              (commit
               (string-append "libreoffice-" version))))
        (file-name (git-file-name "libreoffice-dictionaries" version))
        (sha256
-        (base32 "1f54z1kmpwv9s5a9jdgf97m43nhwbmsar0i6rri3qkgf3kkgz1f7"))))
+        (base32 "089w9i91wy2hx07vqkg0d65zr1k2mnwyijh4dhl6xbpcv20f6ayw"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("source" ,source)))
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 23 Sep 2024 18:38:02 GMT) Full text and rfc822 format available.

Message #38 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Nicolas Graves <ngraves <at> ngraves.fr>, 73439 <at> debbugs.gnu.org
Subject: Re: [PATCH 00/10] Update libreoffice to its latest version.
Date: Mon, 23 Sep 2024 20:35:31 +0200
Am Montag, dem 23.09.2024 um 14:15 +0200 schrieb Nicolas Graves:
> This patch series updates libreoffice to its latest version. I used
> local builds of derivations with ccache
> (https://issues.guix.gnu.org/68315) to test developping and updating
> a big package incrementally. Some commits can be squashed, but I
> think we should at least keep separate 24.2.0.3, 24.2.6.2, 24.8.1.2.
> It also adds an updater for the libreoffice package.
Why those steps?  Should we perhaps have multiple packages with some
older versions for the time being?

> Nicolas Graves (10):
>   import: Add %libreoffice-updater.
LGTM
>   gnu: libreoffice: Update to 24.2.0.3.
>   gnu: libreoffice: Update to 24.2.1.2.
>   gnu: libreoffice: Update to 24.2.2.2.
>   gnu: libreoffice: Update to 24.2.3.2.
>   gnu: libreoffice: Update to 24.2.4.2.
>   gnu: libreoffice: Update to 24.2.5.2.
>   gnu: libreoffice: Update to 24.2.6.2.
>   gnu: libreoffice: Update to 24.8.1.2.
>   gnu: hunspell-dictionaries: Update to  24.8.1.2.
As noted in the comment hunspell and libreoffice ought to be kept in
sync.  IIUC, this would mean updating hunspell-dictionaries in lockstep
with libreoffice on those intermediate steps as well, no?

Cheers




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Tue, 24 Sep 2024 14:31:02 GMT) Full text and rfc822 format available.

Message #41 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH 00/10] Update libreoffice to its latest
 version.
Date: Tue, 24 Sep 2024 16:29:52 +0200
On 2024-09-23 20:35, Liliana Marie Prikler wrote:

> Am Montag, dem 23.09.2024 um 14:15 +0200 schrieb Nicolas Graves:
>> This patch series updates libreoffice to its latest version. I used
>> local builds of derivations with ccache
>> (https://issues.guix.gnu.org/68315) to test developping and updating
>> a big package incrementally. Some commits can be squashed, but I
>> think we should at least keep separate 24.2.0.3, 24.2.6.2, 24.8.1.2.
>> It also adds an updater for the libreoffice package.
> Why those steps?  Should we perhaps have multiple packages with some
> older versions for the time being?

24.2.0.3 is a big update which adds packages and substitutions, I think
it's good to keep those changes in one commit.

On the libreoffice website, they have only two libreoffice downloads:
https://www.libreoffice.org/download/download-libreoffice

24.8.1.2 is the current stable release
24.2.6.2 is the previous stable release (~= LTS)

I don't see libreoffice bringing tremendous changes from version to
version, I'm not sure having two versions is necessary.

That said, it is very doable to have two with a -lts version.

>
>> Nicolas Graves (10):
>>   import: Add %libreoffice-updater.
> LGTM
>>   gnu: libreoffice: Update to 24.2.0.3.
>>   gnu: libreoffice: Update to 24.2.1.2.
>>   gnu: libreoffice: Update to 24.2.2.2.
>>   gnu: libreoffice: Update to 24.2.3.2.
>>   gnu: libreoffice: Update to 24.2.4.2.
>>   gnu: libreoffice: Update to 24.2.5.2.
>>   gnu: libreoffice: Update to 24.2.6.2.
>>   gnu: libreoffice: Update to 24.8.1.2.
>>   gnu: hunspell-dictionaries: Update to  24.8.1.2.
> As noted in the comment hunspell and libreoffice ought to be kept in
> sync.  IIUC, this would mean updating hunspell-dictionaries in lockstep
> with libreoffice on those intermediate steps as well, no?

I haven't delved that deep in this but I think it's not necessary. The
reason is that they are mostly dictionaries whose updates are
uncorrelated to what's happenning in libreoffice itself but rather edge
cases in languages.  They are unlikely to break user experience, plus it
will be for only a few commits.  At the end of the series seems fine to me.

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Tue, 24 Sep 2024 17:14:01 GMT) Full text and rfc822 format available.

Message #44 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Nicolas Graves <ngraves <at> ngraves.fr>, 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH 00/10] Update libreoffice to its latest
 version.
Date: Tue, 24 Sep 2024 19:03:53 +0200
Am Dienstag, dem 24.09.2024 um 16:29 +0200 schrieb Nicolas Graves:
> On 2024-09-23 20:35, Liliana Marie Prikler wrote:
> 
> > Am Montag, dem 23.09.2024 um 14:15 +0200 schrieb Nicolas Graves:
> > > This patch series updates libreoffice to its latest version. I
> > > used
> > > local builds of derivations with ccache
> > > (https://issues.guix.gnu.org/68315) to test developping and
> > > updating
> > > a big package incrementally. Some commits can be squashed, but I
> > > think we should at least keep separate 24.2.0.3, 24.2.6.2,
> > > 24.8.1.2.
> > > It also adds an updater for the libreoffice package.
> > Why those steps?  Should we perhaps have multiple packages with
> > some older versions for the time being?
> 
> 24.2.0.3 is a big update which adds packages and substitutions, I
> think it's good to keep those changes in one commit.
Fair enough.

> On the libreoffice website, they have only two libreoffice downloads:
> https://www.libreoffice.org/download/download-libreoffice
> 
> 24.8.1.2 is the current stable release
> 24.2.6.2 is the previous stable release (~= LTS)
> 
> I don't see libreoffice bringing tremendous changes from version to
> version, I'm not sure having two versions is necessary.
> 
> That said, it is very doable to have two with a -lts version.
I agree, having an LTS is probably enough.  So can we cut this short by
keeping the separate ones you mention and also keep 24.2.6.2 as the
LTS?

> > 
> > > Nicolas Graves (10):
> > >   import: Add %libreoffice-updater.
> > LGTM
> > >   gnu: libreoffice: Update to 24.2.0.3.
> > >   gnu: libreoffice: Update to 24.2.1.2.
> > >   gnu: libreoffice: Update to 24.2.2.2.
> > >   gnu: libreoffice: Update to 24.2.3.2.
> > >   gnu: libreoffice: Update to 24.2.4.2.
> > >   gnu: libreoffice: Update to 24.2.5.2.
> > >   gnu: libreoffice: Update to 24.2.6.2.
> > >   gnu: libreoffice: Update to 24.8.1.2.
> > >   gnu: hunspell-dictionaries: Update to  24.8.1.2.
> > As noted in the comment hunspell and libreoffice ought to be kept
> > in sync.  IIUC, this would mean updating hunspell-dictionaries in
> > lockstep with libreoffice on those intermediate steps as well, no?
> 
> I haven't delved that deep in this but I think it's not necessary.
> The reason is that they are mostly dictionaries whose updates are
> uncorrelated to what's happenning in libreoffice itself but rather
> edge cases in languages.  They are unlikely to break user experience,
> plus it will be for only a few commits.  At the end of the series
> seems fine to me.
Fair enough.

Cheers





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 25 Sep 2024 07:43:02 GMT) Full text and rfc822 format available.

Message #47 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, liliana.priker <at> gmail.com
Subject: [PATCH v2 2/5] gnu: libreoffice: Update to 24.2.0.3.
Date: Wed, 25 Sep 2024 09:40:36 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.0.3.

Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
---
 gnu/packages/libreoffice.scm | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ed8dfd432b..70167d11ea 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -63,6 +63,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -80,6 +81,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-compression)
@@ -891,16 +893,20 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "7.6.7.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append
-         "https://download.documentfoundation.org/libreoffice/src/"
-         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
+        (list
+         (string-append
+          "https://download.documentfoundation.org/libreoffice/src/"
+          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+         (string-append
+          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+          version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m"))))
+        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
@@ -961,6 +967,13 @@ (define-public libreoffice
                              "shell/source/unix/misc/senddoc.sh")
                 (("/usr/bin/xdg-open")
                  (search-input-file inputs "/bin/xdg-open")))
+
+              ;; Probably necessary because we use a custom GCC(>=12)/GLIBC.
+              (substitute* '("sal/rtl/math.cxx"
+                             "sc/source/core/tool/math.cxx")
+                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
+                 suffix))
+
               (setenv "CPPFLAGS" "-std=c++17")))
           (add-after 'install 'reset-zip-timestamps
             (lambda _
@@ -1083,12 +1096,14 @@ (define (install-python-script name)
            cppunit
            flex
            frozen                       ;header-only library
+           gcc-12
            pkg-config
            python-wrapper
            which
            ziptime))
     (inputs
-     (list bluez
+     (list argon2
+           bluez
            boost
            box2d
            clucene
@@ -1100,6 +1115,7 @@ (define (install-python-script name)
            fontforge
            gconf
            glew
+           glibc
            glm
            gnupg
            gobject-introspection
@@ -1168,6 +1184,7 @@ (define (install-python-script name)
            xdg-utils
            xmlsec-nss
            zip
+           zxcvbn-c
            zxing-cpp))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 25 Sep 2024 07:43:02 GMT) Full text and rfc822 format available.

Message #50 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, liliana.priker <at> gmail.com
Subject: [PATCH v2 1/5] import: Add %libreoffice-updater.
Date: Wed, 25 Sep 2024 09:40:35 +0200
Change-Id: I481b1175db531c4fea4a57838fe190f679cd1a85
---
 Makefile.am                 |  1 +
 guix/import/libreoffice.scm | 98 +++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 guix/import/libreoffice.scm

diff --git a/Makefile.am b/Makefile.am
index e9801283f8..e4e4fb5a19 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -306,6 +306,7 @@ MODULES =					\
   guix/import/json.scm				\
   guix/import/kde.scm				\
   guix/import/launchpad.scm   			\
+  guix/import/libreoffice.scm 			\
   guix/import/minetest.scm   			\
   guix/import/npm-binary.scm			\
   guix/import/opam.scm				\
diff --git a/guix/import/libreoffice.scm b/guix/import/libreoffice.scm
new file mode 100644
index 0000000000..65d20f0432
--- /dev/null
+++ b/guix/import/libreoffice.scm
@@ -0,0 +1,98 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix import libreoffice)
+  #:use-module (web client)
+  #:use-module (sxml match)
+  #:use-module (sxml simple)
+  #:use-module (guix i18n)
+  #:use-module (guix diagnostics)
+  #:use-module (guix packages)
+  #:use-module (guix upstream)
+  #:use-module (guix utils)
+  #:use-module (ice-9 textual-ports)
+  #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-71)
+  #:export (%libreoffice-updater))
+
+(define archive-prefix
+  "https://downloadarchive.documentfoundation.org/libreoffice/old/")
+(define libreoffice-latest-url (string-append archive-prefix "latest/src/"))
+
+(define (libreoffice-latest-version)
+  (let* ((response port (http-get libreoffice-latest-url
+                                  #:streaming? #t))
+         (content (get-string-all port))
+         ;; xml->sxml is not flexible enough for html.
+         ;; For instance, <img> tags don't have closing </img>.
+         ;; This trick preprocesses html to extract all <a> tags in
+         ;; a <body> wrapper, which sxml-match can handle well.
+         (xml (xml->sxml
+               (string-append
+                "<body><"
+                (string-join
+                 (filter (cute string-prefix? "a " <>)
+                         (string-split content #\<))
+                 "</a><")
+                "></a></body>")
+               #:trim-whitespace? #t)))
+    (sxml-match
+     xml
+     ((*TOP*
+       (body
+        (a (@ (href "?C=N;O=D")) "Name")
+        (a (@ (href "?C=M;O=A")) "Last modified")
+        (a (@ (href "?C=S;O=A")) "Size")
+        (a (@ (href "/libreoffice/old/latest/")) "Parent Directory")
+        (a (@ (href ,link)) ,name)
+        . ,rest))
+      (if (and (string-prefix? "libreoffice-" name)
+               (string-suffix? ".tar.xz" name))
+          (string-drop
+           (string-drop-right name (string-length ".tar.xz"))
+           (string-length "libreoffice-"))
+          (raise
+           (formatted-message (G_ "Could not extract version from '~a'")
+                              name)))))))
+
+(define* (latest-release package #:key (version #f))
+  "Return an <upstream-source> for the latest-release of PACKAGE."
+  (let* ((name (package-name package))
+         (version (or version (libreoffice-latest-version))))
+    (upstream-source
+     (package name)
+     (version version)
+     (urls (list
+            (string-append
+             archive-prefix version "/src/libreoffice-" version ".tar.xz")
+            (string-append
+             "https://download.documentfoundation.org/libreoffice/src/"
+             (version-prefix version 3) "/libreoffice-" version ".tar.xz"))))))
+
+(define (libreoffice-package? package)
+  "Return true if PACKAGE is LibreOffice."
+  (string=? (package-name package) "libreoffice"))
+
+(define %libreoffice-updater
+  (upstream-updater
+   (name 'libreoffice)
+   (description "Updater for Libreoffice package")
+   (pred libreoffice-package?)
+   (import latest-release)))
+
+;; libreoffice.scm ends here.
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 25 Sep 2024 07:43:02 GMT) Full text and rfc822 format available.

Message #53 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, liliana.priker <at> gmail.com
Subject: [PATCH v2 3/5] gnu: libreoffice: Update to 24.8.1.2.
Date: Wed, 25 Sep 2024 09:40:37 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.1.2.

Change-Id: I95ba7d5a5d1475b9c502051ecb076734a320c059
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 70167d11ea..2d038cdf0d 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
+    (version "24.8.1.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
+        (base32 "1rqii01i0295ch2xc9mddqpvlpjapk3m6nra4mhxfc38da1qci48"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 25 Sep 2024 07:43:03 GMT) Full text and rfc822 format available.

Message #56 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, liliana.priker <at> gmail.com
Subject: [PATCH v2 4/5] gnu: hunspell-dictionaries: Update to  24.8.1.2.
Date: Wed, 25 Sep 2024 09:40:38 +0200
* gnu/packages/hunspell.scm (hunspell-dictionaries): Update to 24.8.1.2.
(hunspell-ditionary)[source]<origin>: Change url, anongit returns
gateway http errors 504.

Change-Id: Ie7b548f1e7a2342fdde2aea3740e2634c0ba70e3
---
 gnu/packages/hunspell.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 8c076de3c4..09ada5a3d3 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -309,18 +309,17 @@ (define* (hunspell-dictionary dict-name full-name #:key synopsis home-page licen
                          (#\_ #\-)
                          (chr chr))
                        (string-downcase dict-name))))
-    (version "7.6.7.2")
+    (version "24.8.1.2")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url (string-append "https://anongit.freedesktop.org/git/"
-                                 "libreoffice/dictionaries.git/"))
+             (url "https://github.com/LibreOffice/dictionaries")
              (commit
               (string-append "libreoffice-" version))))
        (file-name (git-file-name "libreoffice-dictionaries" version))
        (sha256
-        (base32 "1f54z1kmpwv9s5a9jdgf97m43nhwbmsar0i6rri3qkgf3kkgz1f7"))))
+        (base32 "089w9i91wy2hx07vqkg0d65zr1k2mnwyijh4dhl6xbpcv20f6ayw"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("source" ,source)))
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 25 Sep 2024 07:43:03 GMT) Full text and rfc822 format available.

Message #59 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, liliana.priker <at> gmail.com
Subject: [PATCH v2 5/5] gnu: Add libreoffice-lts.
Date: Wed, 25 Sep 2024 09:40:39 +0200
* gnu/packages/libreoffice.scm (libreoffice-lts): New variable.

Change-Id: Ic4f9fa958f52306d5e431684055f8d37e7b2003c
---
 gnu/packages/libreoffice.scm | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 2d038cdf0d..4f0d9cbad1 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -890,6 +890,15 @@ (define dtoa
     (sha256
      (base32 "1d0iwy0q5sjznv23d3nbwmy0r7m1mdzlnv5pc4izddkx9xld10h0"))))
 
+(define (libreoffice-url version)
+  (list
+   (string-append
+    "https://download.documentfoundation.org/libreoffice/src/"
+    (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+   (string-append
+    "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+    version "/src/libreoffice-" version ".tar.xz")))
+
 (define-public libreoffice
   (package
     (name "libreoffice")
@@ -897,14 +906,7 @@ (define-public libreoffice
     (source
      (origin
        (method url-fetch)
-       (uri
-        (list
-         (string-append
-          "https://download.documentfoundation.org/libreoffice/src/"
-          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
-         (string-append
-          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
-          version "/src/libreoffice-" version ".tar.xz")))
+       (uri (libreoffice-url version))
        (sha256
         (base32 "1rqii01i0295ch2xc9mddqpvlpjapk3m6nra4mhxfc38da1qci48"))))
     (build-system glib-or-gtk-build-system)
@@ -1197,3 +1199,15 @@ (define (install-python-script name)
      '((release-monitoring-url
         . "https://www.libreoffice.org/download/download-libreoffice/")))
     (license license:mpl2.0)))
+
+(define-public libreoffice-lts
+  (package
+    (inherit libreoffice)
+    (name "libreoffice")
+    (version "24.2.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (libreoffice-url version))
+       (sha256
+        (base32 "1cqxw745kzm81b2nvfpl5n2sq1k9y25y596wvjsnaq394bq4vspn"))))))
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 25 Sep 2024 07:54:02 GMT) Full text and rfc822 format available.

Message #62 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH 00/10] Update libreoffice to its latest
 version.
Date: Wed, 25 Sep 2024 09:52:32 +0200
On 2024-09-24 19:03, Liliana Marie Prikler wrote:

>> That said, it is very doable to have two with a -lts version.
> I agree, having an LTS is probably enough.  So can we cut this short by
> keeping the separate ones you mention and also keep 24.2.6.2 as the
> LTS?

Done in a v2, but I'm not actually sure it's a great solution. The issue
is that the "LTS" is supported for 8 months (february to november 2024
for 24.2). That means we have an overlap of main and lts versions for
only 2 months, and then libreoffice probably recommends only the 24.8
stable release (from memory, the page had a single release a few months
prior, or we can wait and see until november).

Keeping it in Guix would label -lts something that is not supported by
upstream 2/3rd of a year.

I only see two relevant solutions:
- following the latest stable release (which is stable, it's not a beta,
there is a prerelease version currently at 24.8.2)
- wait with 24.2 until november and then switch to 24.8

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 25 Sep 2024 15:46:01 GMT) Full text and rfc822 format available.

Message #65 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Nicolas Graves <ngraves <at> ngraves.fr>, 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH 00/10] Update libreoffice to its latest
 version.
Date: Wed, 25 Sep 2024 17:43:53 +0200
Am Mittwoch, dem 25.09.2024 um 09:52 +0200 schrieb Nicolas Graves:
> On 2024-09-24 19:03, Liliana Marie Prikler wrote:
> 
> > > That said, it is very doable to have two with a -lts version.
> > I agree, having an LTS is probably enough.  So can we cut this
> > short by keeping the separate ones you mention and also keep
> > 24.2.6.2 as the LTS?
> 
> Done in a v2, but I'm not actually sure it's a great solution. The
> issue is that the "LTS" is supported for 8 months (february to
> november 2024 for 24.2). That means we have an overlap of main and
> lts versions for only 2 months, and then libreoffice probably
> recommends only the 24.8 stable release (from memory, the page had a
> single release a few months prior, or we can wait and see until
> november).
> 
> Keeping it in Guix would label -lts something that is not supported
> by upstream 2/3rd of a year.
> 
> I only see two relevant solutions:
> - following the latest stable release (which is stable, it's not a
> beta, there is a prerelease version currently at 24.8.2)
> - wait with 24.2 until november and then switch to 24.8
I think we should strive to be as up-to-date as possible, but I see no
harm with keeping a 24.2 version until November.  WDYT?





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Thu, 26 Sep 2024 07:56:02 GMT) Full text and rfc822 format available.

Message #68 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v3 1/4] import: Add %libreoffice-updater.
Date: Thu, 26 Sep 2024 09:50:52 +0200
Change-Id: I481b1175db531c4fea4a57838fe190f679cd1a85
---
 Makefile.am                 |  1 +
 guix/import/libreoffice.scm | 98 +++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 guix/import/libreoffice.scm

diff --git a/Makefile.am b/Makefile.am
index e9801283f8..e4e4fb5a19 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -306,6 +306,7 @@ MODULES =					\
   guix/import/json.scm				\
   guix/import/kde.scm				\
   guix/import/launchpad.scm   			\
+  guix/import/libreoffice.scm 			\
   guix/import/minetest.scm   			\
   guix/import/npm-binary.scm			\
   guix/import/opam.scm				\
diff --git a/guix/import/libreoffice.scm b/guix/import/libreoffice.scm
new file mode 100644
index 0000000000..65d20f0432
--- /dev/null
+++ b/guix/import/libreoffice.scm
@@ -0,0 +1,98 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix import libreoffice)
+  #:use-module (web client)
+  #:use-module (sxml match)
+  #:use-module (sxml simple)
+  #:use-module (guix i18n)
+  #:use-module (guix diagnostics)
+  #:use-module (guix packages)
+  #:use-module (guix upstream)
+  #:use-module (guix utils)
+  #:use-module (ice-9 textual-ports)
+  #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-71)
+  #:export (%libreoffice-updater))
+
+(define archive-prefix
+  "https://downloadarchive.documentfoundation.org/libreoffice/old/")
+(define libreoffice-latest-url (string-append archive-prefix "latest/src/"))
+
+(define (libreoffice-latest-version)
+  (let* ((response port (http-get libreoffice-latest-url
+                                  #:streaming? #t))
+         (content (get-string-all port))
+         ;; xml->sxml is not flexible enough for html.
+         ;; For instance, <img> tags don't have closing </img>.
+         ;; This trick preprocesses html to extract all <a> tags in
+         ;; a <body> wrapper, which sxml-match can handle well.
+         (xml (xml->sxml
+               (string-append
+                "<body><"
+                (string-join
+                 (filter (cute string-prefix? "a " <>)
+                         (string-split content #\<))
+                 "</a><")
+                "></a></body>")
+               #:trim-whitespace? #t)))
+    (sxml-match
+     xml
+     ((*TOP*
+       (body
+        (a (@ (href "?C=N;O=D")) "Name")
+        (a (@ (href "?C=M;O=A")) "Last modified")
+        (a (@ (href "?C=S;O=A")) "Size")
+        (a (@ (href "/libreoffice/old/latest/")) "Parent Directory")
+        (a (@ (href ,link)) ,name)
+        . ,rest))
+      (if (and (string-prefix? "libreoffice-" name)
+               (string-suffix? ".tar.xz" name))
+          (string-drop
+           (string-drop-right name (string-length ".tar.xz"))
+           (string-length "libreoffice-"))
+          (raise
+           (formatted-message (G_ "Could not extract version from '~a'")
+                              name)))))))
+
+(define* (latest-release package #:key (version #f))
+  "Return an <upstream-source> for the latest-release of PACKAGE."
+  (let* ((name (package-name package))
+         (version (or version (libreoffice-latest-version))))
+    (upstream-source
+     (package name)
+     (version version)
+     (urls (list
+            (string-append
+             archive-prefix version "/src/libreoffice-" version ".tar.xz")
+            (string-append
+             "https://download.documentfoundation.org/libreoffice/src/"
+             (version-prefix version 3) "/libreoffice-" version ".tar.xz"))))))
+
+(define (libreoffice-package? package)
+  "Return true if PACKAGE is LibreOffice."
+  (string=? (package-name package) "libreoffice"))
+
+(define %libreoffice-updater
+  (upstream-updater
+   (name 'libreoffice)
+   (description "Updater for Libreoffice package")
+   (pred libreoffice-package?)
+   (import latest-release)))
+
+;; libreoffice.scm ends here.
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Thu, 26 Sep 2024 07:56:03 GMT) Full text and rfc822 format available.

Message #71 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v3 2/4] gnu: libreoffice: Update to 24.2.0.3.
Date: Thu, 26 Sep 2024 09:50:53 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.0.3.

Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
---
 gnu/packages/libreoffice.scm | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ed8dfd432b..70167d11ea 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -63,6 +63,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -80,6 +81,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-compression)
@@ -891,16 +893,20 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "7.6.7.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append
-         "https://download.documentfoundation.org/libreoffice/src/"
-         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
+        (list
+         (string-append
+          "https://download.documentfoundation.org/libreoffice/src/"
+          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+         (string-append
+          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+          version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m"))))
+        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
@@ -961,6 +967,13 @@ (define-public libreoffice
                              "shell/source/unix/misc/senddoc.sh")
                 (("/usr/bin/xdg-open")
                  (search-input-file inputs "/bin/xdg-open")))
+
+              ;; Probably necessary because we use a custom GCC(>=12)/GLIBC.
+              (substitute* '("sal/rtl/math.cxx"
+                             "sc/source/core/tool/math.cxx")
+                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
+                 suffix))
+
               (setenv "CPPFLAGS" "-std=c++17")))
           (add-after 'install 'reset-zip-timestamps
             (lambda _
@@ -1083,12 +1096,14 @@ (define (install-python-script name)
            cppunit
            flex
            frozen                       ;header-only library
+           gcc-12
            pkg-config
            python-wrapper
            which
            ziptime))
     (inputs
-     (list bluez
+     (list argon2
+           bluez
            boost
            box2d
            clucene
@@ -1100,6 +1115,7 @@ (define (install-python-script name)
            fontforge
            gconf
            glew
+           glibc
            glm
            gnupg
            gobject-introspection
@@ -1168,6 +1184,7 @@ (define (install-python-script name)
            xdg-utils
            xmlsec-nss
            zip
+           zxcvbn-c
            zxing-cpp))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Thu, 26 Sep 2024 07:56:03 GMT) Full text and rfc822 format available.

Message #74 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v3 3/4] gnu: libreoffice: Update to 24.2.6.2.
Date: Thu, 26 Sep 2024 09:50:54 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.6.2.

Change-Id: I95ba7d5a5d1475b9c502051ecb076734a320c059
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 70167d11ea..a288136e06 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
+    (version "24.2.6.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
+        (base32 "1cqxw745kzm81b2nvfpl5n2sq1k9y25y596wvjsnaq394bq4vspn"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Thu, 26 Sep 2024 08:01:02 GMT) Full text and rfc822 format available.

Message #77 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v3 4/4] gnu: hunspell-dictionary: Update to 24.2.6.2.
Date: Thu, 26 Sep 2024 09:50:55 +0200
* gnu/packages/hunspell.scm (hunspell-dictionary): Update to 24.2.6.2.
[source]<origin>: Change url, anongit returns gateway http errors 504.

Change-Id: Ida030cc94a406ace042eccbe75f60d4505e18a11
---
 gnu/packages/hunspell.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 8c076de3c4..cf2628162f 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -309,18 +309,17 @@ (define* (hunspell-dictionary dict-name full-name #:key synopsis home-page licen
                          (#\_ #\-)
                          (chr chr))
                        (string-downcase dict-name))))
-    (version "7.6.7.2")
+    (version "24.2.6.2")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url (string-append "https://anongit.freedesktop.org/git/"
-                                 "libreoffice/dictionaries.git/"))
+             (url "https://github.com/LibreOffice/dictionaries")
              (commit
               (string-append "libreoffice-" version))))
        (file-name (git-file-name "libreoffice-dictionaries" version))
        (sha256
-        (base32 "1f54z1kmpwv9s5a9jdgf97m43nhwbmsar0i6rri3qkgf3kkgz1f7"))))
+        (base32 "0xllzv1b70i7gndc8sqvvc7a1viv3i6qqdqiv4ffr78zr4krcwx8"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("source" ,source)))
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Tue, 01 Oct 2024 14:56:01 GMT) Full text and rfc822 format available.

Message #80 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v4 1/4] import: Add %libreoffice-updater.
Date: Tue,  1 Oct 2024 16:54:56 +0200
Change-Id: I481b1175db531c4fea4a57838fe190f679cd1a85
---
 Makefile.am                 |  1 +
 guix/import/libreoffice.scm | 98 +++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 guix/import/libreoffice.scm

diff --git a/Makefile.am b/Makefile.am
index e9801283f8..e4e4fb5a19 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -306,6 +306,7 @@ MODULES =					\
   guix/import/json.scm				\
   guix/import/kde.scm				\
   guix/import/launchpad.scm   			\
+  guix/import/libreoffice.scm 			\
   guix/import/minetest.scm   			\
   guix/import/npm-binary.scm			\
   guix/import/opam.scm				\
diff --git a/guix/import/libreoffice.scm b/guix/import/libreoffice.scm
new file mode 100644
index 0000000000..65d20f0432
--- /dev/null
+++ b/guix/import/libreoffice.scm
@@ -0,0 +1,98 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix import libreoffice)
+  #:use-module (web client)
+  #:use-module (sxml match)
+  #:use-module (sxml simple)
+  #:use-module (guix i18n)
+  #:use-module (guix diagnostics)
+  #:use-module (guix packages)
+  #:use-module (guix upstream)
+  #:use-module (guix utils)
+  #:use-module (ice-9 textual-ports)
+  #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-71)
+  #:export (%libreoffice-updater))
+
+(define archive-prefix
+  "https://downloadarchive.documentfoundation.org/libreoffice/old/")
+(define libreoffice-latest-url (string-append archive-prefix "latest/src/"))
+
+(define (libreoffice-latest-version)
+  (let* ((response port (http-get libreoffice-latest-url
+                                  #:streaming? #t))
+         (content (get-string-all port))
+         ;; xml->sxml is not flexible enough for html.
+         ;; For instance, <img> tags don't have closing </img>.
+         ;; This trick preprocesses html to extract all <a> tags in
+         ;; a <body> wrapper, which sxml-match can handle well.
+         (xml (xml->sxml
+               (string-append
+                "<body><"
+                (string-join
+                 (filter (cute string-prefix? "a " <>)
+                         (string-split content #\<))
+                 "</a><")
+                "></a></body>")
+               #:trim-whitespace? #t)))
+    (sxml-match
+     xml
+     ((*TOP*
+       (body
+        (a (@ (href "?C=N;O=D")) "Name")
+        (a (@ (href "?C=M;O=A")) "Last modified")
+        (a (@ (href "?C=S;O=A")) "Size")
+        (a (@ (href "/libreoffice/old/latest/")) "Parent Directory")
+        (a (@ (href ,link)) ,name)
+        . ,rest))
+      (if (and (string-prefix? "libreoffice-" name)
+               (string-suffix? ".tar.xz" name))
+          (string-drop
+           (string-drop-right name (string-length ".tar.xz"))
+           (string-length "libreoffice-"))
+          (raise
+           (formatted-message (G_ "Could not extract version from '~a'")
+                              name)))))))
+
+(define* (latest-release package #:key (version #f))
+  "Return an <upstream-source> for the latest-release of PACKAGE."
+  (let* ((name (package-name package))
+         (version (or version (libreoffice-latest-version))))
+    (upstream-source
+     (package name)
+     (version version)
+     (urls (list
+            (string-append
+             archive-prefix version "/src/libreoffice-" version ".tar.xz")
+            (string-append
+             "https://download.documentfoundation.org/libreoffice/src/"
+             (version-prefix version 3) "/libreoffice-" version ".tar.xz"))))))
+
+(define (libreoffice-package? package)
+  "Return true if PACKAGE is LibreOffice."
+  (string=? (package-name package) "libreoffice"))
+
+(define %libreoffice-updater
+  (upstream-updater
+   (name 'libreoffice)
+   (description "Updater for Libreoffice package")
+   (pred libreoffice-package?)
+   (import latest-release)))
+
+;; libreoffice.scm ends here.
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Tue, 01 Oct 2024 14:56:02 GMT) Full text and rfc822 format available.

Message #83 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v4 2/4] gnu: libreoffice: Update to 24.2.0.3.
Date: Tue,  1 Oct 2024 16:54:57 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.0.3.

Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
---
 gnu/packages/libreoffice.scm | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ed8dfd432b..d6d627d9cd 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -63,6 +63,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -80,6 +81,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-compression)
@@ -891,16 +893,20 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "7.6.7.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append
-         "https://download.documentfoundation.org/libreoffice/src/"
-         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
+        (list
+         (string-append
+          "https://download.documentfoundation.org/libreoffice/src/"
+          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+         (string-append
+          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+          version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m"))))
+        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
@@ -961,6 +967,13 @@ (define-public libreoffice
                              "shell/source/unix/misc/senddoc.sh")
                 (("/usr/bin/xdg-open")
                  (search-input-file inputs "/bin/xdg-open")))
+
+              ;; https://issues.guix.gnu.org/43579
+              (substitute* '("sal/rtl/math.cxx"
+                             "sc/source/core/tool/math.cxx")
+                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
+                 suffix))
+
               (setenv "CPPFLAGS" "-std=c++17")))
           (add-after 'install 'reset-zip-timestamps
             (lambda _
@@ -1083,12 +1096,14 @@ (define (install-python-script name)
            cppunit
            flex
            frozen                       ;header-only library
+           gcc-12
            pkg-config
            python-wrapper
            which
            ziptime))
     (inputs
-     (list bluez
+     (list argon2
+           bluez
            boost
            box2d
            clucene
@@ -1100,6 +1115,7 @@ (define (install-python-script name)
            fontforge
            gconf
            glew
+           glibc
            glm
            gnupg
            gobject-introspection
@@ -1168,6 +1184,7 @@ (define (install-python-script name)
            xdg-utils
            xmlsec-nss
            zip
+           zxcvbn-c
            zxing-cpp))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Tue, 01 Oct 2024 14:56:02 GMT) Full text and rfc822 format available.

Message #86 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v4 3/4] gnu: libreoffice: Update to 24.2.6.2.
Date: Tue,  1 Oct 2024 16:54:58 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.6.2.

Change-Id: I95ba7d5a5d1475b9c502051ecb076734a320c059
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index d6d627d9cd..1907fab500 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
+    (version "24.2.6.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
+        (base32 "1cqxw745kzm81b2nvfpl5n2sq1k9y25y596wvjsnaq394bq4vspn"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Tue, 01 Oct 2024 14:56:03 GMT) Full text and rfc822 format available.

Message #89 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v4 4/4] gnu: hunspell-dictionary: Update to 24.2.6.2.
Date: Tue,  1 Oct 2024 16:54:59 +0200
* gnu/packages/hunspell.scm (hunspell-dictionary): Update to 24.2.6.2.
[source]<origin>: Change url, anongit returns gateway http errors 504.

Change-Id: Ida030cc94a406ace042eccbe75f60d4505e18a11
---
 gnu/packages/hunspell.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 8c076de3c4..cf2628162f 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -309,18 +309,17 @@ (define* (hunspell-dictionary dict-name full-name #:key synopsis home-page licen
                          (#\_ #\-)
                          (chr chr))
                        (string-downcase dict-name))))
-    (version "7.6.7.2")
+    (version "24.2.6.2")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url (string-append "https://anongit.freedesktop.org/git/"
-                                 "libreoffice/dictionaries.git/"))
+             (url "https://github.com/LibreOffice/dictionaries")
              (commit
               (string-append "libreoffice-" version))))
        (file-name (git-file-name "libreoffice-dictionaries" version))
        (sha256
-        (base32 "1f54z1kmpwv9s5a9jdgf97m43nhwbmsar0i6rri3qkgf3kkgz1f7"))))
+        (base32 "0xllzv1b70i7gndc8sqvvc7a1viv3i6qqdqiv4ffr78zr4krcwx8"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("source" ,source)))
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 14 Oct 2024 13:32:02 GMT) Full text and rfc822 format available.

Message #92 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Simon Josefsson <simon <at> josefsson.org>
To: Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org>
Cc: Nicolas Graves <ngraves <at> ngraves.fr>,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH 00/10] Update libreoffice to its latest
 version.
Date: Mon, 14 Oct 2024 15:31:08 +0200
[Message part 1 (text/plain, inline)]
Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org> writes:

> On 2024-09-24 19:03, Liliana Marie Prikler wrote:
>
>>> That said, it is very doable to have two with a -lts version.
>> I agree, having an LTS is probably enough.  So can we cut this short by
>> keeping the separate ones you mention and also keep 24.2.6.2 as the
>> LTS?
>
> Done in a v2, but I'm not actually sure it's a great solution. The issue
> is that the "LTS" is supported for 8 months (february to november 2024
> for 24.2). That means we have an overlap of main and lts versions for
> only 2 months, and then libreoffice probably recommends only the 24.8
> stable release (from memory, the page had a single release a few months
> prior, or we can wait and see until november).
>
> Keeping it in Guix would label -lts something that is not supported by
> upstream 2/3rd of a year.
>
> I only see two relevant solutions:
> - following the latest stable release (which is stable, it's not a beta,
> there is a prerelease version currently at 24.8.2)
> - wait with 24.2 until november and then switch to 24.8

Maybe worth considering: Debian tracks 24.8 including backporting it to
stable.  ArchLinux and Homebrew ships 24.8 (although homebrew also
provides 24.2).  So it looks like latest libreoffice stable release is
packaged often.

Thanks for working on an upgrade, regardless of if it becomes 24.2 or
24.8 -- I'm happily using 7.6.7.2 via Guix on Trisquel to get something
more recent than aramo's 7.3.7.

/Simon
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 14 Oct 2024 14:27:01 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 16 Oct 2024 15:28:01 GMT) Full text and rfc822 format available.

Message #98 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Simon Josefsson <simon <at> josefsson.org>, 73439 <at> debbugs.gnu.org
Cc: liliana.prikler <at> gmail.com
Subject: Re: [bug#73439] [PATCH 00/10] Update libreoffice to its latest
 version.
Date: Wed, 16 Oct 2024 17:26:47 +0200
On 2024-10-14 15:31, Simon Josefsson via Guix-patches via wrote:

> Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org> writes:
>
>> On 2024-09-24 19:03, Liliana Marie Prikler wrote:
>>
>
> Maybe worth considering: Debian tracks 24.8 including backporting it to
> stable.  ArchLinux and Homebrew ships 24.8 (although homebrew also
> provides 24.2).  So it looks like latest libreoffice stable release is
> packaged often.
>
> Thanks for working on an upgrade, regardless of if it becomes 24.2 or
> 24.8 -- I'm happily using 7.6.7.2 via Guix on Trisquel to get something
> more recent than aramo's 7.3.7.

Hi Simon,

I'll have to submit a v3 to remove glibc from inputs (which was a
mistake), and will probably rebase this version on 68150 and block the
issue by that. Since this will probably take more than 2 weeks to get
merged, I'll update to 24.8 directly.

>
> /Simon

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 16 Oct 2024 17:09:01 GMT) Full text and rfc822 format available.

Message #101 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v5 1/5] import: Add %libreoffice-updater.
Date: Wed, 16 Oct 2024 19:07:33 +0200
Change-Id: I481b1175db531c4fea4a57838fe190f679cd1a85
---
 Makefile.am                 |  1 +
 guix/import/libreoffice.scm | 98 +++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 guix/import/libreoffice.scm

diff --git a/Makefile.am b/Makefile.am
index e9801283f8..e4e4fb5a19 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -306,6 +306,7 @@ MODULES =					\
   guix/import/json.scm				\
   guix/import/kde.scm				\
   guix/import/launchpad.scm   			\
+  guix/import/libreoffice.scm 			\
   guix/import/minetest.scm   			\
   guix/import/npm-binary.scm			\
   guix/import/opam.scm				\
diff --git a/guix/import/libreoffice.scm b/guix/import/libreoffice.scm
new file mode 100644
index 0000000000..65d20f0432
--- /dev/null
+++ b/guix/import/libreoffice.scm
@@ -0,0 +1,98 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix import libreoffice)
+  #:use-module (web client)
+  #:use-module (sxml match)
+  #:use-module (sxml simple)
+  #:use-module (guix i18n)
+  #:use-module (guix diagnostics)
+  #:use-module (guix packages)
+  #:use-module (guix upstream)
+  #:use-module (guix utils)
+  #:use-module (ice-9 textual-ports)
+  #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-71)
+  #:export (%libreoffice-updater))
+
+(define archive-prefix
+  "https://downloadarchive.documentfoundation.org/libreoffice/old/")
+(define libreoffice-latest-url (string-append archive-prefix "latest/src/"))
+
+(define (libreoffice-latest-version)
+  (let* ((response port (http-get libreoffice-latest-url
+                                  #:streaming? #t))
+         (content (get-string-all port))
+         ;; xml->sxml is not flexible enough for html.
+         ;; For instance, <img> tags don't have closing </img>.
+         ;; This trick preprocesses html to extract all <a> tags in
+         ;; a <body> wrapper, which sxml-match can handle well.
+         (xml (xml->sxml
+               (string-append
+                "<body><"
+                (string-join
+                 (filter (cute string-prefix? "a " <>)
+                         (string-split content #\<))
+                 "</a><")
+                "></a></body>")
+               #:trim-whitespace? #t)))
+    (sxml-match
+     xml
+     ((*TOP*
+       (body
+        (a (@ (href "?C=N;O=D")) "Name")
+        (a (@ (href "?C=M;O=A")) "Last modified")
+        (a (@ (href "?C=S;O=A")) "Size")
+        (a (@ (href "/libreoffice/old/latest/")) "Parent Directory")
+        (a (@ (href ,link)) ,name)
+        . ,rest))
+      (if (and (string-prefix? "libreoffice-" name)
+               (string-suffix? ".tar.xz" name))
+          (string-drop
+           (string-drop-right name (string-length ".tar.xz"))
+           (string-length "libreoffice-"))
+          (raise
+           (formatted-message (G_ "Could not extract version from '~a'")
+                              name)))))))
+
+(define* (latest-release package #:key (version #f))
+  "Return an <upstream-source> for the latest-release of PACKAGE."
+  (let* ((name (package-name package))
+         (version (or version (libreoffice-latest-version))))
+    (upstream-source
+     (package name)
+     (version version)
+     (urls (list
+            (string-append
+             archive-prefix version "/src/libreoffice-" version ".tar.xz")
+            (string-append
+             "https://download.documentfoundation.org/libreoffice/src/"
+             (version-prefix version 3) "/libreoffice-" version ".tar.xz"))))))
+
+(define (libreoffice-package? package)
+  "Return true if PACKAGE is LibreOffice."
+  (string=? (package-name package) "libreoffice"))
+
+(define %libreoffice-updater
+  (upstream-updater
+   (name 'libreoffice)
+   (description "Updater for Libreoffice package")
+   (pred libreoffice-package?)
+   (import latest-release)))
+
+;; libreoffice.scm ends here.
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 16 Oct 2024 17:09:02 GMT) Full text and rfc822 format available.

Message #104 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v5 2/5] gnu: libreoffice: Update to 24.2.0.3.
Date: Wed, 16 Oct 2024 19:07:34 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.0.3.

Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
---
 gnu/packages/libreoffice.scm | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index f7fd2faa62..29e915c86d 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -63,6 +63,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -80,6 +81,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-compression)
@@ -891,16 +893,20 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "7.6.7.2")               ;keep in sync with hunspell dictionaries
+    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append
-         "https://download.documentfoundation.org/libreoffice/src/"
-         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
+        (list
+         (string-append
+          "https://download.documentfoundation.org/libreoffice/src/"
+          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+         (string-append
+          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+          version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m"))))
+        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
@@ -961,6 +967,13 @@ (define-public libreoffice
                              "shell/source/unix/misc/senddoc.sh")
                 (("/usr/bin/xdg-open")
                  (search-input-file inputs "/bin/xdg-open")))
+
+              ;; https://issues.guix.gnu.org/43579
+              (substitute* '("sal/rtl/math.cxx"
+                             "sc/source/core/tool/math.cxx")
+                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
+                 suffix))
+
               (setenv "CPPFLAGS" "-std=c++17")))
           (add-after 'install 'reset-zip-timestamps
             (lambda _
@@ -1083,12 +1096,14 @@ (define (install-python-script name)
            cppunit
            flex
            frozen                       ;header-only library
+           gcc-12
            pkg-config
            python-wrapper
            which
            ziptime))
     (inputs
-     (list bluez
+     (list argon2
+           bluez
            boost
            box2d
            clucene
@@ -1168,6 +1183,7 @@ (define (install-python-script name)
            xdg-utils
            xmlsec-nss
            zip
+           zxcvbn-c
            zxing-cpp))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 16 Oct 2024 17:09:02 GMT) Full text and rfc822 format available.

Message #107 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v5 3/5] gnu: libreoffice: Update to 24.2.6.2.
Date: Wed, 16 Oct 2024 19:07:35 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.2.6.2.

Change-Id: I95ba7d5a5d1475b9c502051ecb076734a320c059
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 29e915c86d..c262ccf1c1 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.0.3")               ;keep in sync with hunspell dictionaries
+    (version "24.2.6.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "0s1m92rmizicd8jgxcjz0xsd79v148wkq0ac9yzz61x2ga8mdx0q"))))
+        (base32 "1cqxw745kzm81b2nvfpl5n2sq1k9y25y596wvjsnaq394bq4vspn"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 16 Oct 2024 17:09:03 GMT) Full text and rfc822 format available.

Message #110 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v5 4/5] gnu: libreoffice: Update to 24.8.2.1.
Date: Wed, 16 Oct 2024 19:07:36 +0200
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.2.1.

Change-Id: Ic37556e1c6ab4cad59507cddf00d6bc5ed650a5e
---
 gnu/packages/libreoffice.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index c262ccf1c1..1e4966e3d2 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -893,7 +893,7 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "24.2.6.2")               ;keep in sync with hunspell dictionaries
+    (version "24.8.2.1")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
@@ -906,7 +906,7 @@ (define-public libreoffice
           "https://downloadarchive.documentfoundation.org/libreoffice/old/"
           version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "1cqxw745kzm81b2nvfpl5n2sq1k9y25y596wvjsnaq394bq4vspn"))))
+        (base32 "1ky4ph9g7x9k68px6x4dgfnf5wqbxqabkp75pjhsj521nsp1nc5b"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 16 Oct 2024 17:09:03 GMT) Full text and rfc822 format available.

Message #113 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v5 5/5] gnu: hunspell-dictionary: Update to 24.8.2.1.
Date: Wed, 16 Oct 2024 19:07:37 +0200
* gnu/packages/hunspell.scm (hunspell-dictionary): Update to 24.8.2.1.
[source]<origin>: Change url, anongit returns gateway http errors 504.

Change-Id: Ida030cc94a406ace042eccbe75f60d4505e18a11
---
 gnu/packages/hunspell.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 8c076de3c4..eed10b16bb 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -309,18 +309,17 @@ (define* (hunspell-dictionary dict-name full-name #:key synopsis home-page licen
                          (#\_ #\-)
                          (chr chr))
                        (string-downcase dict-name))))
-    (version "7.6.7.2")
+    (version "24.8.2.1")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url (string-append "https://anongit.freedesktop.org/git/"
-                                 "libreoffice/dictionaries.git/"))
+             (url "https://github.com/LibreOffice/dictionaries")
              (commit
               (string-append "libreoffice-" version))))
        (file-name (git-file-name "libreoffice-dictionaries" version))
        (sha256
-        (base32 "1f54z1kmpwv9s5a9jdgf97m43nhwbmsar0i6rri3qkgf3kkgz1f7"))))
+        (base32 "02dhpfrhp82p08hx89lfx2gjbyp0kk2vbapmb3g7fphc9pabpg9c"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("source" ,source)))
-- 
2.46.0





Added blocking bug(s) 68150 Request was from Nicolas Graves <ngraves <at> ngraves.fr> to control <at> debbugs.gnu.org. (Wed, 16 Oct 2024 17:09:04 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Fri, 18 Oct 2024 12:33:02 GMT) Full text and rfc822 format available.

Message #118 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 1/5] import: Add %libreoffice-updater.
Date: Fri, 18 Oct 2024 14:31:47 +0200
Hi,

Nicolas Graves <ngraves <at> ngraves.fr> skribis:

> Change-Id: I481b1175db531c4fea4a57838fe190f679cd1a85
> ---
>  Makefile.am                 |  1 +
>  guix/import/libreoffice.scm | 98 +++++++++++++++++++++++++++++++++++++

Neat.  Could you add a test, an @item in doc/guix.texi next to the other
updaters, and a commit log?

> +(define (libreoffice-latest-version)

Please add a docstring to all top-level procedures.

> +  (let* ((response port (http-get libreoffice-latest-url
> +                                  #:streaming? #t))
> +         (content (get-string-all port))

PORT is not closed.  If you’re going to load it all in memory, just
leave #:streaming? to #f and you’ll get a string instead of a port.

> +         ;; xml->sxml is not flexible enough for html.
> +         ;; For instance, <img> tags don't have closing </img>.
> +         ;; This trick preprocesses html to extract all <a> tags in
> +         ;; a <body> wrapper, which sxml-match can handle well.
> +         (xml (xml->sxml
> +               (string-append
> +                "<body><"
> +                (string-join
> +                 (filter (cute string-prefix? "a " <>)
> +                         (string-split content #\<))
> +                 "</a><")
> +                "></a></body>")
> +               #:trim-whitespace? #t)))

This is terrible.  :-)

(guix import go) and (guix gnu-maintenance) use (htmlprag) for that.
Would that work for you?

Thinking about it, the strategy looks very similar to that of the
‘generic-html’ updater.

Would it be enough to add a ‘release-monitoring-url’ property to the
relevant LibreOffice packages?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Fri, 18 Oct 2024 14:31:02 GMT) Full text and rfc822 format available.

Message #121 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 1/5] import: Add %libreoffice-updater.
Date: Fri, 18 Oct 2024 16:29:48 +0200
On 2024-10-18 14:31, Ludovic Courtès wrote:

> Hi,
>
> Nicolas Graves <ngraves <at> ngraves.fr> skribis:
>
>> Change-Id: I481b1175db531c4fea4a57838fe190f679cd1a85
>> ---
>>  Makefile.am                 |  1 +
>>  guix/import/libreoffice.scm | 98 +++++++++++++++++++++++++++++++++++++
>
> Neat.  Could you add a test, an @item in doc/guix.texi next to the other
> updaters, and a commit log?
>
>> +(define (libreoffice-latest-version)
>
> Please add a docstring to all top-level procedures.
>
>> +  (let* ((response port (http-get libreoffice-latest-url
>> +                                  #:streaming? #t))
>> +         (content (get-string-all port))
>
> PORT is not closed.  If you’re going to load it all in memory, just
> leave #:streaming? to #f and you’ll get a string instead of a port.
>
>> +         ;; xml->sxml is not flexible enough for html.
>> +         ;; For instance, <img> tags don't have closing </img>.
>> +         ;; This trick preprocesses html to extract all <a> tags in
>> +         ;; a <body> wrapper, which sxml-match can handle well.
>> +         (xml (xml->sxml
>> +               (string-append
>> +                "<body><"
>> +                (string-join
>> +                 (filter (cute string-prefix? "a " <>)
>> +                         (string-split content #\<))
>> +                 "</a><")
>> +                "></a></body>")
>> +               #:trim-whitespace? #t)))
>
> This is terrible.  :-)
>
> (guix import go) and (guix gnu-maintenance) use (htmlprag) for that.
> Would that work for you?

No issue for that, but I don't get how this works by looking at the
source code only, hence my dirty hacks ;)

> Thinking about it, the strategy looks very similar to that of the
> ‘generic-html’ updater.
>
> Would it be enough to add a ‘release-monitoring-url’ property to the
> relevant LibreOffice packages?

Actually now I don't really now anymore what was possible and what was
not. I remember trying and successfully updating libreoffice without
this patch once, but not able to reproduce.

With more experimentation :
- the current release-monitoring-url is able to update to the
latest-version, but isn't able to udpate to a --target-version
- same thing for my libreoffice-latest-url

I guess we don't want to maintain this code if we are able to keep being
up-to-date. Let's skip this commit and merge others once QA is done with
them. I can always cherry-pick this patch in the future if I need it.

>
> Thanks,
> Ludo’.
>
>
>

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Mon, 21 Oct 2024 15:42:02 GMT) Full text and rfc822 format available.

Message #124 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 1/5] import: Add %libreoffice-updater.
Date: Mon, 21 Oct 2024 17:40:26 +0200
Howdy,

Nicolas Graves <ngraves <at> ngraves.fr> skribis:

> On 2024-10-18 14:31, Ludovic Courtès wrote:

[...]

>> This is terrible.  :-)
>>
>> (guix import go) and (guix gnu-maintenance) use (htmlprag) for that.
>> Would that work for you?
>
> No issue for that, but I don't get how this works by looking at the
> source code only, hence my dirty hacks ;)

(htmlprag) is a “pragmatic” HTML parser, meaning that it can cope with
old style HTML that is not valid XML.  Essentially, you’d use
‘html->sxml’ from (htmlprag) instead of ‘xml->sxml’.

>> Thinking about it, the strategy looks very similar to that of the
>> ‘generic-html’ updater.
>>
>> Would it be enough to add a ‘release-monitoring-url’ property to the
>> relevant LibreOffice packages?
>
> Actually now I don't really now anymore what was possible and what was
> not. I remember trying and successfully updating libreoffice without
> this patch once, but not able to reproduce.
>
> With more experimentation :
> - the current release-monitoring-url is able to update to the
> latest-version, but isn't able to udpate to a --target-version
> - same thing for my libreoffice-latest-url
>
> I guess we don't want to maintain this code if we are able to keep being
> up-to-date. Let's skip this commit and merge others once QA is done with
> them. I can always cherry-pick this patch in the future if I need it.

Sounds good.  Thanks for checking!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Fri, 15 Nov 2024 16:50:02 GMT) Full text and rfc822 format available.

Message #127 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 4/5] gnu: libreoffice: Update to 24.8.2.1.
Date: Fri, 15 Nov 2024 17:48:56 +0100
Nicolas Graves <ngraves <at> ngraves.fr> skribis:

> * gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.2.1.
>
> Change-Id: Ic37556e1c6ab4cad59507cddf00d6bc5ed650a5e

Hi!  Finally got around to building it, since qa.guix isn’t helping.

I got this:

--8<---------------cut here---------------start------------->8---
[build C  ] desktop/unx/source/file_image_unx.c
[build C  ] desktop/unx/source/pagein.c
[build C  ] desktop/unx/source/splashx.c
[build C  ] desktop/unx/source/start.c
[build CXX] i18npool/source/collator/gencoll_rule.cxx
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
[build CXX] i18npool/source/indexentry/genindex_data.cxx
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
[build CXX] i18npool/source/textconversion/genconv_dict.cxx
/tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx: In function ‘double rtl_math_round(double, int, rtl_math_RoundingMode)’:
/tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx:536:41: error: ‘fegetround’ was not declared in this scope
  536 |                 if (const int oldMode = fegetround(); fesetround(FE_TONEAREST) == 0)
      |                                         ^~~~~~~~~~
/tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx:536:66: error: ‘FE_TONEAREST’ was not declared in this scope; did you mean ‘FP_INT_TONEAREST’?
  536 |                 if (const int oldMode = fegetround(); fesetround(FE_TONEAREST) == 0)
      |                                                                  ^~~~~~~~~~~~
      |                                                                  FP_INT_TONEAREST
/tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx:536:55: error: ‘fesetround’ was not declared in this scope; did you mean ‘setreuid’?
  536 |                 if (const int oldMode = fegetround(); fesetround(FE_TONEAREST) == 0)
      |                                                       ^~~~~~~~~~
      |                                                       setreuid
[build CXX] l10ntools/source/helpex.cxx
[build CXX] l10ntools/source/xmlparse.cxx
[build CXX] l10ntools/source/helpmerge.cxx
[build CXX] l10ntools/source/lngmerge.cxx
[build CXX] l10ntools/source/lngex.cxx
[build CXX] workdir/LexTarget/l10ntools/source/cfglex.cxx
[build CXX] l10ntools/source/cfgmerge.cxx
[build CXX] workdir/LexTarget/l10ntools/source/xrmlex.cxx
[build CXX] l10ntools/source/xrmmerge.cxx
[build CXX] l10ntools/source/localize.cxx
[build CXX] l10ntools/source/pocheck.cxx
[build CXX] l10ntools/source/propmerge.cxx
[build CXX] l10ntools/source/propex.cxx
[build CXX] l10ntools/source/treemerge.cxx
[build CXX] l10ntools/source/treex.cxx
[build CXX] libreofficekit/qa/tilebench/tilebench.cxx
[build CXX] opencl/opencltest/main.cxx
[build PRL] CustomTarget/postprocess/images/images_breeze.zip
make[1]: *** [/tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/solenv/gbuild/LinkTarget.mk:335: /tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/workdir/CxxObject/sal/rtl/math.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:294: build] Error 2
--8<---------------cut here---------------end--------------->8---

Could you take a look?

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Fri, 15 Nov 2024 16:50:02 GMT) Full text and rfc822 format available.

Message #130 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 5/5] gnu: hunspell-dictionary: Update to
 24.8.2.1.
Date: Fri, 15 Nov 2024 17:49:10 +0100
Nicolas Graves <ngraves <at> ngraves.fr> skribis:

> * gnu/packages/hunspell.scm (hunspell-dictionary): Update to 24.8.2.1.
> [source]<origin>: Change url, anongit returns gateway http errors 504.
>
> Change-Id: Ida030cc94a406ace042eccbe75f60d4505e18a11

Applied, thanks!




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Sat, 16 Nov 2024 00:05:02 GMT) Full text and rfc822 format available.

Message #133 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 4/5] gnu: libreoffice: Update to 24.8.2.1.
Date: Sat, 16 Nov 2024 01:04:22 +0100
On 2024-11-15 17:48, Ludovic Courtès wrote:

> Nicolas Graves <ngraves <at> ngraves.fr> skribis:
>
>> * gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.2.1.
>>
>> Change-Id: Ic37556e1c6ab4cad59507cddf00d6bc5ed650a5e
>
> Hi!  Finally got around to building it, since qa.guix isn’t helping.
>
> I got this:
>
> --8<---------------cut here---------------start------------->8---
> [build C  ] desktop/unx/source/file_image_unx.c
> [build C  ] desktop/unx/source/pagein.c
> [build C  ] desktop/unx/source/splashx.c
> [build C  ] desktop/unx/source/start.c
> [build CXX] i18npool/source/collator/gencoll_rule.cxx
> cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
> cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
> cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
> [build CXX] i18npool/source/indexentry/genindex_data.cxx
> cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
> cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
> [build CXX] i18npool/source/textconversion/genconv_dict.cxx
> /tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx: In function ‘double rtl_math_round(double, int, rtl_math_RoundingMode)’:
> /tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx:536:41: error: ‘fegetround’ was not declared in this scope
>   536 |                 if (const int oldMode = fegetround(); fesetround(FE_TONEAREST) == 0)
>       |                                         ^~~~~~~~~~
> /tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx:536:66: error: ‘FE_TONEAREST’ was not declared in this scope; did you mean ‘FP_INT_TONEAREST’?
>   536 |                 if (const int oldMode = fegetround(); fesetround(FE_TONEAREST) == 0)
>       |                                                                  ^~~~~~~~~~~~
>       |                                                                  FP_INT_TONEAREST
> /tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/sal/rtl/math.cxx:536:55: error: ‘fesetround’ was not declared in this scope; did you mean ‘setreuid’?
>   536 |                 if (const int oldMode = fegetround(); fesetround(FE_TONEAREST) == 0)
>       |                                                       ^~~~~~~~~~
>       |                                                       setreuid
> [build CXX] l10ntools/source/helpex.cxx
> [build CXX] l10ntools/source/xmlparse.cxx
> [build CXX] l10ntools/source/helpmerge.cxx
> [build CXX] l10ntools/source/lngmerge.cxx
> [build CXX] l10ntools/source/lngex.cxx
> [build CXX] workdir/LexTarget/l10ntools/source/cfglex.cxx
> [build CXX] l10ntools/source/cfgmerge.cxx
> [build CXX] workdir/LexTarget/l10ntools/source/xrmlex.cxx
> [build CXX] l10ntools/source/xrmmerge.cxx
> [build CXX] l10ntools/source/localize.cxx
> [build CXX] l10ntools/source/pocheck.cxx
> [build CXX] l10ntools/source/propmerge.cxx
> [build CXX] l10ntools/source/propex.cxx
> [build CXX] l10ntools/source/treemerge.cxx
> [build CXX] l10ntools/source/treex.cxx
> [build CXX] libreofficekit/qa/tilebench/tilebench.cxx
> [build CXX] opencl/opencltest/main.cxx
> [build PRL] CustomTarget/postprocess/images/images_breeze.zip
> make[1]: *** [/tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/solenv/gbuild/LinkTarget.mk:335: /tmp/guix-build-libreoffice-24.8.2.1.drv-0/libreoffice-24.8.2.1/workdir/CxxObject/sal/rtl/math.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [Makefile:294: build] Error 2
> --8<---------------cut here---------------end--------------->8---
>
> Could you take a look?
>
> Ludo’.
>
>

Actually these lines were supposed to fix it, they seem to be in the
patch, aren't they?

  @@ -961,6 +967,13 @@ (define-public libreoffice
                                "shell/source/unix/misc/senddoc.sh")
                   (("/usr/bin/xdg-open")
                    (search-input-file inputs "/bin/xdg-open")))
  +
  +              ;; https://issues.guix.gnu.org/43579
  +              (substitute* '("sal/rtl/math.cxx"
  +                             "sc/source/core/tool/math.cxx")
  +                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
  +                 suffix))
  +

Did it not apply correctly?  I think it's the same error as 43579.

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Sat, 16 Nov 2024 21:39:01 GMT) Full text and rfc822 format available.

Message #136 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 4/5] gnu: libreoffice: Update to 24.8.2.1.
Date: Sat, 16 Nov 2024 22:38:31 +0100
On 2024-11-16 01:04, Nicolas Graves via Guix-patches via wrote:

>
> Actually these lines were supposed to fix it, they seem to be in the
> patch, aren't they?
>
>   @@ -961,6 +967,13 @@ (define-public libreoffice
>                                 "shell/source/unix/misc/senddoc.sh")
>                    (("/usr/bin/xdg-open")
>                     (search-input-file inputs "/bin/xdg-open")))
>   +
>   +              ;; https://issues.guix.gnu.org/43579
>   +              (substitute* '("sal/rtl/math.cxx"
>   +                             "sc/source/core/tool/math.cxx")
>   +                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
>   +                 suffix))
>   +
>
> Did it not apply correctly?  I think it's the same error as 43579.

I don't really know what broke that, possibly recent work on input
ordering.  When putting gcc-12 as the last native-input, it seems to
work properly on my end (whereas alphabetically, I would have the same
error).  All of this is a dirty hack though, but at least it points to
the right issue which is not with libreoffice but 43579.

I'll resubmit a new version updated to the last current libreoffice
version.

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Sun, 17 Nov 2024 10:20:01 GMT) Full text and rfc822 format available.

Message #139 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 4/5] gnu: libreoffice: Update to 24.8.2.1.
Date: Sun, 17 Nov 2024 11:19:15 +0100
On 2024-11-16 22:38, Nicolas Graves via Guix-patches via wrote:

> On 2024-11-16 01:04, Nicolas Graves via Guix-patches via wrote:
>
>>
>> Actually these lines were supposed to fix it, they seem to be in the
>> patch, aren't they?
>>
>>   @@ -961,6 +967,13 @@ (define-public libreoffice
>>                                 "shell/source/unix/misc/senddoc.sh")
>>                    (("/usr/bin/xdg-open")
>>                     (search-input-file inputs "/bin/xdg-open")))
>>   +
>>   +              ;; https://issues.guix.gnu.org/43579
>>   +              (substitute* '("sal/rtl/math.cxx"
>>   +                             "sc/source/core/tool/math.cxx")
>>   +                (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
>>   +                 suffix))
>>   +
>>
>> Did it not apply correctly?  I think it's the same error as 43579.
>
> I don't really know what broke that, possibly recent work on input
> ordering.  When putting gcc-12 as the last native-input, it seems to
> work properly on my end (whereas alphabetically, I would have the same
> error).  All of this is a dirty hack though, but at least it points to
> the right issue which is not with libreoffice but 43579.

That was actually not true, it failed eventually.

> I'll resubmit a new version updated to the last current libreoffice
> version.

So strange, now it refuses to build again.

I tried with gcc-toolchain-12 yesterday, it built properlty, and then
after some cleanup this morning, not anymore.  The issue is definitely
in Guix and not in Libreoffice. 

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Sun, 17 Nov 2024 16:41:02 GMT) Full text and rfc822 format available.

Message #142 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5 4/5] gnu: libreoffice: Update to 24.8.2.1.
Date: Sun, 17 Nov 2024 17:40:12 +0100
Hi,

Nicolas Graves <ngraves <at> ngraves.fr> skribis:

>> Did it not apply correctly?  I think it's the same error as 43579.
>
> I don't really know what broke that, possibly recent work on input
> ordering.  When putting gcc-12 as the last native-input, it seems to
> work properly on my end (whereas alphabetically, I would have the same
> error).  All of this is a dirty hack though, but at least it points to
> the right issue which is not with libreoffice but 43579.

‘dune-istl’ has this workaround for bug#43579:

--8<---------------cut here---------------start------------->8---
     ;; XXX: istl/test/matrixtest.cc includes <fenv.h> and fails to find
     ;; the stdlib types when the gfortran header is used.  Remove gfortran
     ;; from CPLUS_INCLUDE_PATH as a workaround.
     (add-after 'set-paths 'hide-gfortran
       (lambda* (#:key inputs #:allow-other-keys)
         (let ((gfortran (assoc-ref inputs "gfortran")))
           (setenv "CPLUS_INCLUDE_PATH"
                   (string-join
                    (delete (string-append gfortran "/include/c++")
                            (string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
                    ":"))
           #t)))
--8<---------------cut here---------------end--------------->8---

Maybe we can do something similar here?

HTH,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Tue, 19 Nov 2024 07:33:02 GMT) Full text and rfc822 format available.

Message #145 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: ludo <at> gnu.org, Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v5] gnu: libreoffice: Update to 24.8.3.2.
Date: Tue, 19 Nov 2024 08:31:53 +0100
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.3.2.
[source]<uri>: Add secondary uri.
[arguments]<#:phases>: Fix build issue related to issue 43579 in phase
'prepare-src.
[configure-flags]: Add optimising flags --disable-cve-tests,
--enable-readonly-installset, --disable-dependency-tracking.
[native-inputs]: Add gcc-toolchain-12.
[inputs]: Add argon2, zxcvbn-c.

Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
---
 gnu/packages/libreoffice.scm | 57 ++++++++++++++++++++++++++++++------
 1 file changed, 48 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ed8dfd432b..22112ccee7 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2018, 2020 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
 ;;; Copyright © 2019 Chris Marusich <cmmarusich <at> gmail.com>
 ;;; Copyright © 2020 Marcin Karpezo <sirmacik <at> wioo.waw.pl>
-;;; Copyright © 2023 Nicolas Graves <ngraves <at> ngraves.fr>
+;;; Copyright © 2023, 2024 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -63,6 +63,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -80,6 +81,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-compression)
@@ -891,16 +893,20 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "7.6.7.2")               ;keep in sync with hunspell dictionaries
+    (version "24.8.3.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append
-         "https://download.documentfoundation.org/libreoffice/src/"
-         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
+        (list
+         (string-append
+          "https://download.documentfoundation.org/libreoffice/src/"
+          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+         (string-append
+          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+          version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m"))))
+        (base32 "1sa7bxxh7v26p77vj1mspynhn2l2b1vnz1mpyczhnmcxcan9nw2x"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
@@ -908,6 +914,8 @@ (define-public libreoffice
                            ,@%glib-or-gtk-build-system-modules)
       #:modules `(((guix build python-build-system) #:select (python-version))
                   (ice-9 textual-ports)
+                  (srfi srfi-1)
+                  (srfi srfi-26)
                   ,@%glib-or-gtk-build-system-modules)
       #:tests? #f                       ; Building the tests already fails.
       #:phases
@@ -961,7 +969,29 @@ (define-public libreoffice
                              "shell/source/unix/misc/senddoc.sh")
                 (("/usr/bin/xdg-open")
                  (search-input-file inputs "/bin/xdg-open")))
-              (setenv "CPPFLAGS" "-std=c++17")))
+
+              ;; https://issues.guix.gnu.org/43579
+              (substitute* '("sal/rtl/math.cxx"
+                               "sc/source/core/tool/math.cxx")
+                  (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
+                   suffix))
+              (let ((gcc-11-dir (dirname
+                                 (dirname
+                                  (dirname
+                                   (search-input-directory
+                                    inputs "share/doc/gcc-11.4.0"))))))
+                (setenv
+                 "CPLUS_INCLUDE_PATH"
+                 (string-join
+                  (remove
+                   (cut member <>
+                        (list
+                         (string-append gcc-11-dir "/include/c++")
+                         (string-append gcc-11-dir "/include")))
+                   (string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
+                  ":")))
+
+              (setenv "CPPFLAGS" "-std=c++20")))
           (add-after 'install 'reset-zip-timestamps
             (lambda _
               (for-each (lambda (file)
@@ -1077,18 +1107,26 @@ (define (install-python-script name)
          "--enable-lto"
          ;; Avoid errors rebuilding the Gtk icon cache, at least on i686-linux.
          "--without-galleries"
-         "--enable-build-opensymbol")))
+         "--enable-build-opensymbol"
+         ;; Avoid CVE tests.
+         "--disable-cve-tests"
+         ;; Do not try to write to the store.
+         "--enable-readonly-installset"
+         ;; XXX: This flag should speed-up builds.
+         "--disable-dependency-tracking")))
     (native-inputs
      (list bison
            cppunit
            flex
            frozen                       ;header-only library
+           gcc-12
            pkg-config
            python-wrapper
            which
            ziptime))
     (inputs
-     (list bluez
+     (list argon2
+           bluez
            boost
            box2d
            clucene
@@ -1168,6 +1206,7 @@ (define (install-python-script name)
            xdg-utils
            xmlsec-nss
            zip
+           zxcvbn-c
            zxing-cpp))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 20 Nov 2024 12:14:01 GMT) Full text and rfc822 format available.

Message #148 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [PATCH v5] gnu: libreoffice: Update to 24.8.3.2.
Date: Wed, 20 Nov 2024 13:13:43 +0100
Hi,

Nicolas Graves <ngraves <at> ngraves.fr> skribis:

> * gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.3.2.
> [source]<uri>: Add secondary uri.
> [arguments]<#:phases>: Fix build issue related to issue 43579 in phase
> 'prepare-src.
> [configure-flags]: Add optimising flags --disable-cve-tests,
> --enable-readonly-installset, --disable-dependency-tracking.
> [native-inputs]: Add gcc-toolchain-12.
> [inputs]: Add argon2, zxcvbn-c.
>
> Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
> +              ;; https://issues.guix.gnu.org/43579
> +              (substitute* '("sal/rtl/math.cxx"
> +                               "sc/source/core/tool/math.cxx")
> +                  (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
> +                   suffix))

I doubt removing “std:” is necessary, is it?

> +              (let ((gcc-11-dir (dirname
> +                                 (dirname
> +                                  (dirname
> +                                   (search-input-directory
> +                                    inputs "share/doc/gcc-11.4.0"))))))

Or just (search-input-directory inputs "/include/c++") ?

That would be more consistent (and concise :-)) since this is about
setting CPLUS_INCLUDE_PATH.

Otherwise LGTM, thanks!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 20 Nov 2024 14:06:02 GMT) Full text and rfc822 format available.

Message #151 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5] gnu: libreoffice: Update to 24.8.3.2.
Date: Wed, 20 Nov 2024 15:05:03 +0100
On 2024-11-20 13:13, Ludovic Courtès wrote:

> Hi,
>
> Nicolas Graves <ngraves <at> ngraves.fr> skribis:
>
>> * gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.3.2.
>> [source]<uri>: Add secondary uri.
>> [arguments]<#:phases>: Fix build issue related to issue 43579 in phase
>> 'prepare-src.
>> [configure-flags]: Add optimising flags --disable-cve-tests,
>> --enable-readonly-installset, --disable-dependency-tracking.
>> [native-inputs]: Add gcc-toolchain-12.
>> [inputs]: Add argon2, zxcvbn-c.
>>
>> Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
>> +              ;; https://issues.guix.gnu.org/43579
>> +              (substitute* '("sal/rtl/math.cxx"
>> +                               "sc/source/core/tool/math.cxx")
>> +                  (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
>> +                   suffix))
>
> I doubt removing “std:” is necessary, is it?

I can retry without, but I think the error still happens. The
CPLUS_INCLUDE_PATH fix is only fixing the error you were experiencing,
not the one I had at first.  I can still fiddle with that and remove
more in the CPLUS_INCLUDE_PATH, but I've tried a lot of variations
(including not removing std::) and this configuration is the only I
manage to build the whole thing with.

>> +              (let ((gcc-11-dir (dirname
>> +                                 (dirname
>> +                                  (dirname
>> +                                   (search-input-directory
>> +                                    inputs "share/doc/gcc-11.4.0"))))))
>
> Or just (search-input-directory inputs "/include/c++") ?
>
> That would be more consistent (and concise :-)) since this is about
> setting CPLUS_INCLUDE_PATH.

When trying that, it will remove the gcc-12 one, not the gcc-11 one,
which I think is the one causing the bug.  I know it's not pretty, but
since we explicitely put gcc-12 in inputs, I'm fine with explicitely
citing gcc-11. I can use package-version if better for gcc-11,
but we can't just search-directory-inputs here. 

> Otherwise LGTM, thanks!
>
> Ludo’.
>
>
>

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Wed, 20 Nov 2024 17:26:02 GMT) Full text and rfc822 format available.

Message #154 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 73439 <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v5] gnu: libreoffice: Update to 24.8.3.2.
Date: Wed, 20 Nov 2024 18:25:03 +0100
On 2024-11-20 15:05, Nicolas Graves via Guix-patches via wrote:

> On 2024-11-20 13:13, Ludovic Courtès wrote:
>> I doubt removing “std:” is necessary, is it?
>
> I can retry without, but I think the error still happens. The
> CPLUS_INCLUDE_PATH fix is only fixing the error you were experiencing,
> not the one I had at first.  I can still fiddle with that and remove
> more in the CPLUS_INCLUDE_PATH, but I've tried a lot of variations
> (including not removing std::) and this configuration is the only I
> manage to build the whole thing with.

I can confirm that it's not trivial to do better, and that the std::
removal is necessary.

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Thu, 28 Nov 2024 12:53:02 GMT) Full text and rfc822 format available.

Message #157 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org>,
 73439 <at> debbugs.gnu.org
Cc: ludo <at> gnu.org
Subject: Re: [bug#73439] [PATCH v5] gnu: libreoffice: Update to 24.8.3.2.
Date: Thu, 28 Nov 2024 13:52:18 +0100
On 2024-11-19 08:31, Nicolas Graves via Guix-patches via wrote:

> * gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.3.2.
> [source]<uri>: Add secondary uri.
> [arguments]<#:phases>: Fix build issue related to issue 43579 in phase
> 'prepare-src.
> [configure-flags]: Add optimising flags --disable-cve-tests,
> --enable-readonly-installset, --disable-dependency-tracking.
> [native-inputs]: Add gcc-toolchain-12.
> [inputs]: Add argon2, zxcvbn-c.

Wrongly sent as a v5, resending as a v6.

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Thu, 28 Nov 2024 12:56:02 GMT) Full text and rfc822 format available.

Message #160 received at 73439 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 73439 <at> debbugs.gnu.org
Cc: ludo <at> gnu.org, Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH v6] gnu: libreoffice: Update to 24.8.3.2.
Date: Thu, 28 Nov 2024 13:55:34 +0100
* gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.3.2.
[source]<uri>: Add secondary uri.
[arguments]<#:phases>: Fix build issue related to issue 43579 in phase
'prepare-src.
[configure-flags]: Add optimising flags --disable-cve-tests,
--enable-readonly-installset, --disable-dependency-tracking.
[native-inputs]: Add gcc-toolchain-12.
[inputs]: Add argon2, zxcvbn-c.

Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a
---
 gnu/packages/libreoffice.scm | 57 ++++++++++++++++++++++++++++++------
 1 file changed, 48 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ed8dfd432b..22112ccee7 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2018, 2020 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
 ;;; Copyright © 2019 Chris Marusich <cmmarusich <at> gmail.com>
 ;;; Copyright © 2020 Marcin Karpezo <sirmacik <at> wioo.waw.pl>
-;;; Copyright © 2023 Nicolas Graves <ngraves <at> ngraves.fr>
+;;; Copyright © 2023, 2024 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -63,6 +63,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -80,6 +81,7 @@ (define-module (gnu packages libreoffice)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-compression)
@@ -891,16 +893,20 @@ (define dtoa
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "7.6.7.2")               ;keep in sync with hunspell dictionaries
+    (version "24.8.3.2")               ;keep in sync with hunspell dictionaries
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append
-         "https://download.documentfoundation.org/libreoffice/src/"
-         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
+        (list
+         (string-append
+          "https://download.documentfoundation.org/libreoffice/src/"
+          (version-prefix version 3) "/libreoffice-" version ".tar.xz")
+         (string-append
+          "https://downloadarchive.documentfoundation.org/libreoffice/old/"
+          version "/src/libreoffice-" version ".tar.xz")))
        (sha256
-        (base32 "159vbv4zhibfd4xjdamcqs4h0p3h5y79kcjwrmshvjhs23p55l3m"))))
+        (base32 "1sa7bxxh7v26p77vj1mspynhn2l2b1vnz1mpyczhnmcxcan9nw2x"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      (list
@@ -908,6 +914,8 @@ (define-public libreoffice
                            ,@%glib-or-gtk-build-system-modules)
       #:modules `(((guix build python-build-system) #:select (python-version))
                   (ice-9 textual-ports)
+                  (srfi srfi-1)
+                  (srfi srfi-26)
                   ,@%glib-or-gtk-build-system-modules)
       #:tests? #f                       ; Building the tests already fails.
       #:phases
@@ -961,7 +969,29 @@ (define-public libreoffice
                              "shell/source/unix/misc/senddoc.sh")
                 (("/usr/bin/xdg-open")
                  (search-input-file inputs "/bin/xdg-open")))
-              (setenv "CPPFLAGS" "-std=c++17")))
+
+              ;; https://issues.guix.gnu.org/43579
+              (substitute* '("sal/rtl/math.cxx"
+                               "sc/source/core/tool/math.cxx")
+                  (("std::(fe[gs]etround|feclearexcept|fetestexcept)" all suffix)
+                   suffix))
+              (let ((gcc-11-dir (dirname
+                                 (dirname
+                                  (dirname
+                                   (search-input-directory
+                                    inputs "share/doc/gcc-11.4.0"))))))
+                (setenv
+                 "CPLUS_INCLUDE_PATH"
+                 (string-join
+                  (remove
+                   (cut member <>
+                        (list
+                         (string-append gcc-11-dir "/include/c++")
+                         (string-append gcc-11-dir "/include")))
+                   (string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
+                  ":")))
+
+              (setenv "CPPFLAGS" "-std=c++20")))
           (add-after 'install 'reset-zip-timestamps
             (lambda _
               (for-each (lambda (file)
@@ -1077,18 +1107,26 @@ (define (install-python-script name)
          "--enable-lto"
          ;; Avoid errors rebuilding the Gtk icon cache, at least on i686-linux.
          "--without-galleries"
-         "--enable-build-opensymbol")))
+         "--enable-build-opensymbol"
+         ;; Avoid CVE tests.
+         "--disable-cve-tests"
+         ;; Do not try to write to the store.
+         "--enable-readonly-installset"
+         ;; XXX: This flag should speed-up builds.
+         "--disable-dependency-tracking")))
     (native-inputs
      (list bison
            cppunit
            flex
            frozen                       ;header-only library
+           gcc-12
            pkg-config
            python-wrapper
            which
            ziptime))
     (inputs
-     (list bluez
+     (list argon2
+           bluez
            boost
            box2d
            clucene
@@ -1168,6 +1206,7 @@ (define (install-python-script name)
            xdg-utils
            xmlsec-nss
            zip
+           zxcvbn-c
            zxing-cpp))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73439; Package guix-patches. (Thu, 28 Nov 2024 13:02:03 GMT) Full text and rfc822 format available.

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 02 Dec 2024 21:45:02 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Graves <ngraves <at> ngraves.fr>:
bug acknowledged by developer. (Mon, 02 Dec 2024 21:45:02 GMT) Full text and rfc822 format available.

Message #168 received at 73439-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 73439-done <at> debbugs.gnu.org
Subject: Re: [bug#73439] [PATCH v6] gnu: libreoffice: Update to 24.8.3.2.
Date: Mon, 02 Dec 2024 22:44:24 +0100
Nicolas Graves <ngraves <at> ngraves.fr> skribis:

> * gnu/packages/libreoffice.scm (libreoffice): Update to 24.8.3.2.
> [source]<uri>: Add secondary uri.
> [arguments]<#:phases>: Fix build issue related to issue 43579 in phase
> 'prepare-src.
> [configure-flags]: Add optimising flags --disable-cve-tests,
> --enable-readonly-installset, --disable-dependency-tracking.
> [native-inputs]: Add gcc-toolchain-12.
> [inputs]: Add argon2, zxcvbn-c.
>
> Change-Id: I72e0ebb4d075c47ea168b181f969a97f9249150a

Finally applied, thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 31 Dec 2024 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 172 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.