mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm
This commit is contained in:
commit
4cf1acc7f3
740 changed files with 619028 additions and 314277 deletions
|
@ -9,7 +9,7 @@
|
|||
;;; Copyright © 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
|
||||
|
@ -30,6 +30,7 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages libreoffice)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
|
@ -66,13 +67,16 @@
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages hunspell)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openldap)
|
||||
|
@ -83,6 +87,7 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rdf)
|
||||
#:use-module (gnu packages scanner)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml)
|
||||
|
@ -480,14 +485,14 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
|
|||
(define-public liblangtag
|
||||
(package
|
||||
(name "liblangtag")
|
||||
(version "0.6.3")
|
||||
(version "0.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
|
||||
"liblangtag-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1g9kwxx60q0hpwvs66ys1cb9qg54hfvbivadwli8sfpc085a44hz"))))
|
||||
(base32 "0r55r30ih8dgq1hwbpl834igilj7bpxcnmlrlkd3vryk2wn0c0ap"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list libtool pkg-config))
|
||||
|
@ -695,14 +700,14 @@ text documents, vector drawings, presentations and spreadsheets.")
|
|||
(define-public libmwaw
|
||||
(package
|
||||
(name "libmwaw")
|
||||
(version "0.3.19")
|
||||
(version "0.3.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libmwaw/libmwaw/libmwaw-"
|
||||
version "/libmwaw-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1bx5xnw8sk5h26x2z7hfac7hfbm68zqg0jilp15qr0pwxqsf4wmj"))))
|
||||
(base32 "07629xwvlkqj08j13aj9lsq0pwm7r0v7g2zprr1vjqcdlwih2xg8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list doxygen pkg-config))
|
||||
|
@ -742,14 +747,14 @@ from the old StarOffice (.sdc, .sdw, ...).")
|
|||
(define-public libwps
|
||||
(package
|
||||
(name "libwps")
|
||||
(version "0.4.12")
|
||||
(version "0.4.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
||||
name "-" version "/" name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"1nsfacqp5sfkyayw7q0wp68lidksd1wjdix8qmsbf0vdl19gn6p2"))))
|
||||
"03y4aslp5lfqc14agn0hgkifwrknh8s4hfjll9wrfs1hq3kaz5ff"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list doxygen pkg-config))
|
||||
|
@ -789,191 +794,6 @@ Callisto/Draw documents. Currently it only understands documents created by
|
|||
Zoner Draw version 4 and 5.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hunspell
|
||||
(package
|
||||
(name "hunspell")
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hunspell/hunspell")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qxlkd012r45ppd21kldbq9k5ac5nmxz290z6m2kch9l56v768k1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake libtool))
|
||||
(inputs
|
||||
(list perl))
|
||||
(native-search-paths (list (search-path-specification
|
||||
(variable "DICPATH")
|
||||
(files '("share/hunspell")))))
|
||||
(home-page "https://hunspell.github.io/")
|
||||
(synopsis "Spell checker")
|
||||
(description "Hunspell is a spell checker and morphological analyzer
|
||||
library and program designed for languages with rich morphology and complex
|
||||
word compounding or character encoding.")
|
||||
;; Triple license, including "mpl1.1 or later".
|
||||
(license (list license:mpl1.1 license:gpl2+ license:lgpl2.1+))))
|
||||
|
||||
(define (dicollecte-french-dictionary variant synopsis)
|
||||
;; Return a French dictionary package from dicollecte.org, for the given
|
||||
;; VARIANT.
|
||||
(package
|
||||
(name (match variant
|
||||
("classique" "hunspell-dict-fr")
|
||||
(_ (string-append "hunspell-dict-fr-" variant))))
|
||||
(version "6.2")
|
||||
(source (origin
|
||||
(uri (string-append
|
||||
"http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v"
|
||||
version ".zip"))
|
||||
(method url-fetch)
|
||||
(sha256
|
||||
(base32
|
||||
"139hfrn5p87sl8hqmgkf6sgvnxrk2mm8vd8xsm8sm98qjnwlg0f9"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs (list unzip))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(hunspell (string-append out "/share/hunspell"))
|
||||
(myspell (string-append out "/share/myspell"))
|
||||
(doc (string-append out "/share/doc/"
|
||||
,name))
|
||||
(unzip (assoc-ref %build-inputs "unzip")))
|
||||
(invoke (string-append unzip "/bin/unzip")
|
||||
(assoc-ref %build-inputs "source"))
|
||||
(for-each (cut install-file <> hunspell)
|
||||
(find-files "."
|
||||
,(string-append variant
|
||||
"\\.(dic|aff)$")))
|
||||
(mkdir-p myspell)
|
||||
(symlink hunspell (string-append myspell "/dicts"))
|
||||
(for-each (cut install-file <> doc)
|
||||
(find-files "." "\\.(txt|org|md)$"))
|
||||
#t))))
|
||||
(synopsis synopsis)
|
||||
(description
|
||||
"This package provides a dictionary for the Hunspell spell-checking
|
||||
library.")
|
||||
(home-page "https://www.dicollecte.org/home.php?prj=fr")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-syntax define-french-dictionary
|
||||
(syntax-rules (synopsis)
|
||||
((_ name variant (synopsis text))
|
||||
(define-public name
|
||||
(dicollecte-french-dictionary variant text)))))
|
||||
|
||||
(define-french-dictionary hunspell-dict-fr-classique
|
||||
"classique"
|
||||
;; TRANSLATORS: In French, this is "Français classique".
|
||||
(synopsis "Hunspell dictionary for ``classic'' French (recommended)"))
|
||||
|
||||
(define-french-dictionary hunspell-dict-fr-moderne
|
||||
"moderne"
|
||||
;; TRANSLATORS: In French, this is "Français moderne".
|
||||
(synopsis "Hunspell dictionary for ``modern'' French"))
|
||||
|
||||
(define-french-dictionary hunspell-dict-fr-réforme-1990
|
||||
"reforme1990"
|
||||
(synopsis "Hunspell dictionary for the post @dfn{1990 réforme} French"))
|
||||
|
||||
(define-french-dictionary hunspell-dict-fr-toutes-variantes
|
||||
"toutesvariantes"
|
||||
(synopsis "Hunspell dictionary for all variants of French"))
|
||||
|
||||
(define-public hunspell-dict-pl
|
||||
(package
|
||||
(name "hunspell-dict-pl")
|
||||
(version "20200327")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
;; Since creators of dictionary host only the latest daily release,
|
||||
;; we're using version mirrored by Arch Linux, which seems good
|
||||
;; enough. They're mirroring hunspell-pl releases since 2011.
|
||||
(uri (string-append "https://sources.archlinux.org/other/community/"
|
||||
"hunspell-pl/sjp-myspell-pl-"
|
||||
version ".zip"))
|
||||
(sha256 (base32
|
||||
"14mzf8glxkp2775dcqisb1zv6r8ncm3bvzl46q352rwyl2dg1c59"))))
|
||||
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs (list unzip))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(hunspell (string-append out "/share/hunspell"))
|
||||
(myspell (string-append out "/share/myspell"))
|
||||
(doc (string-append out "/share/doc/"
|
||||
,name))
|
||||
(unzip (search-input-file %build-inputs
|
||||
"/bin/unzip")))
|
||||
(invoke unzip "-j" "-o" (assoc-ref %build-inputs "source"))
|
||||
(invoke unzip "-j" "-o" "pl_PL.zip")
|
||||
(for-each (cut install-file <> hunspell)
|
||||
(find-files "."
|
||||
,(string-append "pl_PL"
|
||||
"\\.(dic|aff)$")))
|
||||
(mkdir-p myspell)
|
||||
(symlink hunspell (string-append myspell "/dicts"))
|
||||
(for-each (cut install-file <> doc)
|
||||
(find-files "." "\\.(txt|org|md)$"))
|
||||
#t))))
|
||||
(synopsis "Hunspell dictionary for Polish")
|
||||
(description
|
||||
"This package provides a dictionary for the Hunspell spell-checking
|
||||
library.")
|
||||
(home-page "https://sjp.pl/slownik/ort/")
|
||||
(license
|
||||
(list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
|
||||
|
||||
(define-public hunspell-dict-de
|
||||
(package
|
||||
(name "hunspell-dict-de")
|
||||
(version "20161207")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.j3e.de/ispell/igerman98/dict/"
|
||||
"igerman98-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1a3055hp2bc4q4nlg3gmg0147p3a1zlfnc65xiv2v9pyql1nya8p"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("hunspell/de_DE.dic")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install ;no install target
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/hunspell/")))
|
||||
(install-file "hunspell/de_DE.aff" share)
|
||||
(install-file "hunspell/de_DE.dic" share)
|
||||
#t))))
|
||||
#:tests? #f)) ; no tests
|
||||
(native-inputs
|
||||
(list hunspell ispell perl))
|
||||
(synopsis "Hunspell dictionary for German (de_DE)")
|
||||
(description "This package provides a dictionary for the Hunspell
|
||||
spell-checking library.")
|
||||
(home-page "https://www.j3e.de/ispell/igerman98/")
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
|
||||
(define-public hyphen
|
||||
(package
|
||||
(name "hyphen")
|
||||
|
@ -989,7 +809,7 @@ spell-checking library.")
|
|||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list perl))
|
||||
(home-page "http://hunspell.sourceforge.net/")
|
||||
(home-page "https://hunspell.github.io/")
|
||||
(synopsis "Hyphenation library")
|
||||
(description "Hyphen is a hyphenation library using TeX hyphenation
|
||||
patterns, which are pre-processed by a perl script.")
|
||||
|
@ -1000,20 +820,20 @@ patterns, which are pre-processed by a perl script.")
|
|||
(define-public mythes
|
||||
(package
|
||||
(name "mythes")
|
||||
(version "1.2.4")
|
||||
(version "1.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hunspell/MyThes/" version "/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
|
||||
(uri (string-append "https://github.com/hunspell/mythes/releases/"
|
||||
"download/v" version "/mythes-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "07ajdyyif19k445dqffkm32c1kl8z0cw6bczc7x5zgkvf1q9y9qr"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list hunspell perl))
|
||||
(home-page "http://hunspell.sourceforge.net/")
|
||||
(home-page "https://hunspell.github.io/")
|
||||
(synopsis "Thesaurus")
|
||||
(description "MyThes is a simple thesaurus that uses a structured text
|
||||
data file and an index file with binary search to look up words and phrases
|
||||
|
@ -1045,6 +865,45 @@ and to return information on pronunciations, meanings and synonyms.")
|
|||
converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public dragonbox
|
||||
(package
|
||||
(name "dragonbox")
|
||||
(version "1.1.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jk-jeon/dragonbox")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qxx94s2kfgnlnyl1gwmbxkksr3dipvb99zdyi5skw3z2bq563sa"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:tests? #false)) ;no test target
|
||||
(home-page "https://github.com/jk-jeon/dragonbox")
|
||||
(synopsis "Float-to-string conversion algorithm")
|
||||
(description "Dragonbox generates a pair of integers from a floating-point
|
||||
number: the decimal significand and the decimal exponent of the input
|
||||
floating-point number. These integers can then be used for string generation
|
||||
of decimal representation of the input floating-point number, the procedure
|
||||
commonly called @code{ftoa} or @code{dtoa}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public dragonbox-for-libreoffice
|
||||
(package
|
||||
(inherit dragonbox)
|
||||
(name "dragonbox")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jk-jeon/dragonbox")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11h9xhpzp61rfyh1nnca5shzi40skgpdql080k5cb6cfy672s1qz"))))))
|
||||
|
||||
(define dtoa
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1057,7 +916,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
|
|||
(define-public libreoffice
|
||||
(package
|
||||
(name "libreoffice")
|
||||
(version "7.3.5.2")
|
||||
(version "7.4.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1066,8 +925,137 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
|
|||
"https://download.documentfoundation.org/libreoffice/src/"
|
||||
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "14g9873x8m5yakpq7v9f7lhc5fkxh6yhjhgh0pm30cqmxsqhsglv"))))
|
||||
(base32 "0fyvd4ydh72lmn005h190xa563d4h376pi1fx9lfr5i25qcbpg7z"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; Building the tests already fails.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'insert-external-tarballs
|
||||
(lambda _
|
||||
(mkdir-p "external/tarballs")
|
||||
(copy-file #$dtoa "external/tarballs/dtoa-20180411.tgz")))
|
||||
(add-before 'configure 'prepare-src
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute*
|
||||
(list "sysui/CustomTarget_share.mk"
|
||||
"solenv/gbuild/gbuild.mk"
|
||||
"solenv/gbuild/platform/unxgcc.mk")
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
;; Use store references for strictly necessary commands,
|
||||
;; but not for optional tools like ‘gdb’ and ‘valgrind’.
|
||||
(for-each (lambda (command)
|
||||
(substitute* "desktop/scripts/soffice.sh"
|
||||
(((format #f "~a " command))
|
||||
(format #f "~a " (which command)))))
|
||||
(list "dirname" "grep" "uname"))
|
||||
|
||||
;; GPGME++ headers are installed in a gpgme++ subdirectory, but
|
||||
;; configure is hardcoded to use FHS directories.
|
||||
(substitute* "configure"
|
||||
(("GPGMEPP_CFLAGS=-I/usr/include/gpgme\\+\\+")
|
||||
(string-append "GPGMEPP_CFLAGS=-I"
|
||||
(search-input-directory inputs
|
||||
"include/gpgme++")))
|
||||
(("DRAGONBOX_CFLAGS=-I/usr/include/dragonbox-1.0.0")
|
||||
(string-append "DRAGONBOX_CFLAGS=-I"
|
||||
(search-input-directory inputs
|
||||
"include/dragonbox-1.0.0"))))
|
||||
|
||||
;; /usr/bin/xdg-open doesn't exist on Guix System.
|
||||
(substitute* '("shell/source/unix/exec/shellexec.cxx"
|
||||
"shell/source/unix/misc/senddoc.sh")
|
||||
(("/usr/bin/xdg-open")
|
||||
(search-input-file inputs "/bin/xdg-open")))
|
||||
(setenv "CPPFLAGS" "-std=c++17")))
|
||||
(add-after 'install 'reset-zip-timestamps
|
||||
(lambda _
|
||||
(for-each (lambda (file)
|
||||
(invoke "ziptime" file))
|
||||
;; So many different extensions for .zip files.
|
||||
(find-files #$output "\\.(bau|dat|otg|otp|ott|zip)$"))))
|
||||
(add-after 'install 'bin-and-desktop-install
|
||||
;; Create 'soffice' and 'libreoffice' symlinks to the executable
|
||||
;; script.
|
||||
(lambda _
|
||||
(let ((out #$output))
|
||||
(define (symlink-output src dst)
|
||||
(mkdir-p (dirname (string-append out dst)))
|
||||
(symlink (string-append out src) (string-append out dst)))
|
||||
(define (install src dst)
|
||||
(let ((dst (string-append out dst)))
|
||||
(mkdir-p (dirname dst))
|
||||
(copy-file src dst)))
|
||||
(define (install-desktop-file app)
|
||||
(let ((src (string-append "/lib/libreoffice/share/xdg/"
|
||||
app ".desktop"))
|
||||
(dst (string-append "/share/applications/libreoffice-"
|
||||
app ".desktop")))
|
||||
(substitute* (string-append out src)
|
||||
(("Exec=libreoffice[0-9]+\\.[0-9]+ ")
|
||||
(string-append "Exec=" out "/bin/libreoffice "))
|
||||
(("Icon=libreoffice.*")
|
||||
(string-append "Icon=" app "\n"))
|
||||
(("LibreOffice [0-9]+\\.[0-9]+")
|
||||
"LibreOffice"))
|
||||
(symlink-output src dst)))
|
||||
(define (install-appdata app)
|
||||
(install-file (string-append
|
||||
"sysui/desktop/appstream-appdata/"
|
||||
"libreoffice-" app ".appdata.xml")
|
||||
(string-append out "/share/appdata")))
|
||||
(symlink-output "/lib/libreoffice/program/soffice"
|
||||
"/bin/soffice")
|
||||
(symlink-output "/lib/libreoffice/program/soffice"
|
||||
"/bin/libreoffice")
|
||||
(install
|
||||
"workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml"
|
||||
"/share/mime/packages/libreoffice.xml")
|
||||
(for-each install-desktop-file
|
||||
'("base" "calc" "draw" "impress" "writer"
|
||||
"math" "startcenter"))
|
||||
(for-each install-appdata
|
||||
'("base" "calc" "draw" "impress" "writer"))
|
||||
(mkdir-p (string-append out "/share/icons/hicolor"))
|
||||
(copy-recursively "sysui/desktop/icons/hicolor"
|
||||
(string-append out "/share/icons/hicolor"))))))
|
||||
#:configure-flags
|
||||
#~(list
|
||||
"--enable-release-build"
|
||||
"--with-vendor=GNU Guix"
|
||||
;; Avoid using all cpu cores by default
|
||||
(format #f "--with-parallelism=~d" (parallel-job-count))
|
||||
"--disable-fetch-external" ; disable downloads
|
||||
"--with-system-libs" ; enable all --with-system-* flags
|
||||
(string-append "--with-boost-libdir="
|
||||
(dirname
|
||||
(search-input-file %build-inputs
|
||||
"lib/libboost_system.so")))
|
||||
;; Avoid a dependency on ucpp.
|
||||
"--with-idlc-cpp=cpp"
|
||||
;; The fonts require an external tarball (crosextrafonts).
|
||||
;; They should not be needed when system fonts are available.
|
||||
"--without-fonts"
|
||||
;; With java, the build fails since sac.jar is missing.
|
||||
"--without-java"
|
||||
;; FIXME: Enable once the corresponding inputs are packaged.
|
||||
"--disable-coinmp"
|
||||
"--disable-skia"
|
||||
;; This could (Debian does this) be a separate output containing only
|
||||
;; program/libfirebird_sdbclo.so, if there's a way to point to it.
|
||||
"--enable-firebird-sdbc"
|
||||
;; XXX: PDFium support requires fetching an external tarball and
|
||||
;; patching the build scripts to work with GCC5. Try enabling this
|
||||
;; when our default compiler is >=GCC 6.
|
||||
"--disable-pdfium"
|
||||
"--without-doxygen"
|
||||
;; Avoid linker errors about non-virtual thunks on i686-linux.
|
||||
"--enable-lto"
|
||||
;; Avoid errors rebuilding the Gtk icon cache, at least on i686-linux.
|
||||
"--without-galleries"
|
||||
"--enable-build-opensymbol")))
|
||||
(native-inputs
|
||||
(list bison
|
||||
cppunit
|
||||
|
@ -1083,6 +1071,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
|
|||
clucene
|
||||
cups
|
||||
dbus-glib
|
||||
dragonbox-for-libreoffice
|
||||
firebird
|
||||
fontconfig
|
||||
fontforge
|
||||
|
@ -1103,6 +1092,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
|
|||
libcdr
|
||||
libcmis
|
||||
libcuckoo
|
||||
libfixmath
|
||||
libjpeg-turbo
|
||||
libe-book
|
||||
libepubgen
|
||||
|
@ -1119,7 +1109,9 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
|
|||
libpagemaker
|
||||
libqxp
|
||||
libstaroffice
|
||||
libtiff
|
||||
libvisio
|
||||
libwebp
|
||||
libwpg
|
||||
libwps
|
||||
libxrandr
|
||||
|
@ -1153,134 +1145,14 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
|
|||
xmlsec-nss
|
||||
zip
|
||||
zxing-cpp))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; Building the tests already fails.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'insert-external-tarballs
|
||||
(lambda _
|
||||
(mkdir-p "external/tarballs")
|
||||
(copy-file #$dtoa "external/tarballs/dtoa-20180411.tgz")))
|
||||
(add-before 'configure 'prepare-src
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute*
|
||||
(list "sysui/CustomTarget_share.mk"
|
||||
"solenv/gbuild/gbuild.mk"
|
||||
"solenv/gbuild/platform/unxgcc.mk")
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
;; Use store references for strictly necessary commands,
|
||||
;; but not for optional tools like ‘gdb’ and ‘valgrind’.
|
||||
(for-each (lambda (command)
|
||||
(substitute* "desktop/scripts/soffice.sh"
|
||||
(((format #f "~a " command))
|
||||
(format #f "~a " (which command)))))
|
||||
(list "dirname" "grep" "uname"))
|
||||
|
||||
;; GPGME++ headers are installed in a gpgme++ subdirectory, but
|
||||
;; configure is hardcoded to use FHS directories.
|
||||
(substitute* "configure"
|
||||
(("GPGMEPP_CFLAGS=-I/usr/include/gpgme\\+\\+")
|
||||
(string-append "GPGMEPP_CFLAGS=-I"
|
||||
(search-input-directory inputs
|
||||
"include/gpgme++"))))
|
||||
|
||||
;; /usr/bin/xdg-open doesn't exist on Guix System.
|
||||
(substitute* '("shell/source/unix/exec/shellexec.cxx"
|
||||
"shell/source/unix/misc/senddoc.sh")
|
||||
(("/usr/bin/xdg-open")
|
||||
(search-input-file inputs "/bin/xdg-open")))))
|
||||
(add-after 'install 'reset-zip-timestamps
|
||||
(lambda _
|
||||
(for-each (lambda (file)
|
||||
(invoke "ziptime" file))
|
||||
;; So many different extensions for .zip files.
|
||||
(find-files #$output "\\.(bau|dat|otp|ott|zip)$"))))
|
||||
(add-after 'install 'bin-and-desktop-install
|
||||
;; Create 'soffice' and 'libreoffice' symlinks to the executable
|
||||
;; script.
|
||||
(lambda _
|
||||
(let ((out #$output))
|
||||
(define (symlink-output src dst)
|
||||
(mkdir-p (dirname (string-append out dst)))
|
||||
(symlink (string-append out src) (string-append out dst)))
|
||||
(define (install src dst)
|
||||
(let ((dst (string-append out dst)))
|
||||
(mkdir-p (dirname dst))
|
||||
(copy-file src dst)))
|
||||
(define (install-desktop-file app)
|
||||
(let ((src (string-append "/lib/libreoffice/share/xdg/"
|
||||
app ".desktop"))
|
||||
(dst (string-append "/share/applications/libreoffice-"
|
||||
app ".desktop")))
|
||||
(substitute* (string-append out src)
|
||||
(("Exec=libreoffice[0-9]+\\.[0-9]+ ")
|
||||
(string-append "Exec=" out "/bin/libreoffice "))
|
||||
(("Icon=libreoffice.*")
|
||||
(string-append "Icon=" app "\n"))
|
||||
(("LibreOffice [0-9]+\\.[0-9]+")
|
||||
"LibreOffice"))
|
||||
(symlink-output src dst)))
|
||||
(define (install-appdata app)
|
||||
(install-file (string-append
|
||||
"sysui/desktop/appstream-appdata/"
|
||||
"libreoffice-" app ".appdata.xml")
|
||||
(string-append out "/share/appdata")))
|
||||
(symlink-output "/lib/libreoffice/program/soffice"
|
||||
"/bin/soffice")
|
||||
(symlink-output "/lib/libreoffice/program/soffice"
|
||||
"/bin/libreoffice")
|
||||
(install
|
||||
"workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml"
|
||||
"/share/mime/packages/libreoffice.xml")
|
||||
(for-each install-desktop-file
|
||||
'("base" "calc" "draw" "impress" "writer"
|
||||
"math" "startcenter"))
|
||||
(for-each install-appdata
|
||||
'("base" "calc" "draw" "impress" "writer"))
|
||||
(mkdir-p (string-append out "/share/icons/hicolor"))
|
||||
(copy-recursively "sysui/desktop/icons/hicolor"
|
||||
(string-append out "/share/icons/hicolor"))))))
|
||||
#:configure-flags
|
||||
#~(list
|
||||
"--enable-release-build"
|
||||
"--with-vendor=GNU Guix"
|
||||
;; Avoid using all cpu cores by default
|
||||
(format #f "--with-parallelism=~d" (parallel-job-count))
|
||||
"--disable-fetch-external" ; disable downloads
|
||||
"--with-system-libs" ; enable all --with-system-* flags
|
||||
(string-append "--with-boost-libdir="
|
||||
(dirname
|
||||
(search-input-file %build-inputs
|
||||
"lib/libboost_system.so")))
|
||||
;; Avoid a dependency on ucpp.
|
||||
"--with-idlc-cpp=cpp"
|
||||
;; The fonts require an external tarball (crosextrafonts).
|
||||
;; They should not be needed when system fonts are available.
|
||||
"--without-fonts"
|
||||
;; With java, the build fails since sac.jar is missing.
|
||||
"--without-java"
|
||||
;; FIXME: Enable once the corresponding inputs are packaged.
|
||||
"--disable-coinmp"
|
||||
"--disable-skia"
|
||||
;; This could (Debian does this) be a separate output containing only
|
||||
;; program/libfirebird_sdbclo.so, if there's a way to point to it.
|
||||
"--enable-firebird-sdbc"
|
||||
;; XXX: PDFium support requires fetching an external tarball and
|
||||
;; patching the build scripts to work with GCC5. Try enabling this
|
||||
;; when our default compiler is >=GCC 6.
|
||||
"--disable-pdfium"
|
||||
"--without-doxygen"
|
||||
"--enable-build-opensymbol")))
|
||||
(home-page "https://www.libreoffice.org/")
|
||||
(synopsis "Office suite")
|
||||
(description "LibreOffice is a comprehensive office suite. It contains
|
||||
(home-page "https://www.libreoffice.org/")
|
||||
(synopsis "Office suite")
|
||||
(description "LibreOffice is a comprehensive office suite. It contains
|
||||
a number of components: Writer, a word processor; Calc, a spreadsheet
|
||||
application; Impress, a presentation engine; Draw, a drawing and
|
||||
flowcharting application; Base, a database and database frontend;
|
||||
Math for editing mathematics.")
|
||||
(properties
|
||||
'((release-monitoring-url
|
||||
. "https://www.libreoffice.org/download/download-libreoffice/")))
|
||||
(license license:mpl2.0)))
|
||||
(properties
|
||||
'((release-monitoring-url
|
||||
. "https://www.libreoffice.org/download/download-libreoffice/")))
|
||||
(license license:mpl2.0)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue