@@ -1049,7 +1049,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (define-public libreoffice (package (name "libreoffice") - (version "6.4.5.2") + (version "6.4.6.2") (source (origin (method url-fetch) @@ -1058,8 +1058,7 @@ 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 - "1v4ili9j8d0xfj3q69niski1v65icg8xi09ip2bsk343rawwck3a")))) + (base32 "0k5aq1pfw2rpq28nkx6syrgwqbbdn6my9bnlqi3fn8qf572q30mb")))) (build-system glib-or-gtk-build-system) (native-inputs `(("bison" ,bison) @@ -1142,121 +1141,121 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") ("xmlsec" ,xmlsec-nss) ("zip" ,zip))) (arguments - `(#:tests? #f ; Building the tests already fails. + `(#:tests? #f ; Building the tests already fails. #:make-flags '("build-nocheck") ; Do not build unit tests, which fails. #:phases - (modify-phases %standard-phases - (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"))) + (modify-phases %standard-phases + (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")) + ;; 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 - ;; files in "xmlsecurity/source/gpg/" and elsewhere expect to - ;; find them on the include path without a prefix. - (substitute* '("xmlsecurity/Library_xsec_xmlsec.mk" - "comphelper/Library_comphelper.mk") - (("\\$\\$\\(INCLUDE\\)") - (string-append "$$(INCLUDE) -I" - (assoc-ref inputs "gpgme") - "/include/gpgme++"))) + ;; GPGME++ headers are installed in a gpgme++ subdirectory, but + ;; files in "xmlsecurity/source/gpg/" and elsewhere expect to + ;; find them on the include path without a prefix. + (substitute* '("xmlsecurity/Library_xsec_xmlsec.mk" + "comphelper/Library_comphelper.mk") + (("\\$\\$\\(INCLUDE\\)") + (string-append "$$(INCLUDE) -I" + (assoc-ref inputs "gpgme") + "/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") - (string-append (assoc-ref inputs "xdg-utils") - "/bin/xdg-open"))) + ;; /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") + (string-append (assoc-ref inputs "xdg-utils") + "/bin/xdg-open"))) - #t)) - (add-after 'install 'bin-and-desktop-install - ;; Create 'soffice' and 'libreoffice' symlinks to the executable - ;; script. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (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.keys" - "/share/mime-info/libreoffice.keys") - (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.mime" - "/share/mime-info/libreoffice.mime") - (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"))) - #t))) + #t)) + (add-after 'install 'bin-and-desktop-install + ;; Create 'soffice' and 'libreoffice' symlinks to the executable + ;; script. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (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.keys" + "/share/mime-info/libreoffice.keys") + (install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.mime" + "/share/mime-info/libreoffice.mime") + (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"))) + #t))) #:configure-flags - (list - "--enable-release-build" - ;; 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=" - (assoc-ref %build-inputs "boost") "/lib") - ;; Avoid undefined symbols required by boost::spirit - "LDFLAGS=-lboost_system" - ;; 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-firebird-sdbc" ; embedded firebird - ;; 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"))) + (list + "--enable-release-build" + ;; 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=" + (assoc-ref %build-inputs "boost") "/lib") + ;; Avoid undefined symbols required by boost::spirit + "LDFLAGS=-lboost_system" + ;; 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-firebird-sdbc" ; embedded firebird + ;; 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 |