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
guix-patches <at> gnu.org
:bug#73439
; Package guix-patches
.
(Mon, 23 Sep 2024 12:23:02 GMT) Full text and rfc822 format available.Nicolas Graves <ngraves <at> ngraves.fr>
: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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)]
guix-patches <at> gnu.org
:bug#73439
; Package guix-patches
.
(Mon, 14 Oct 2024 14:27:01 GMT) Full text and rfc822 format available.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
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
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
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
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
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
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.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’.
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
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’.
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’.
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!
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
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
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
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’.
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
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’.
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
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
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
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
guix-patches <at> gnu.org
:bug#73439
; Package guix-patches
.
(Thu, 28 Nov 2024 13:02:03 GMT) Full text and rfc822 format available.Ludovic Courtès <ludo <at> gnu.org>
:Nicolas Graves <ngraves <at> ngraves.fr>
: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!
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.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.