[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#39647] [PATCH] gnu: Add unoconv.
From: |
Tobias Geerinckx-Rice |
Subject: |
[bug#39647] [PATCH] gnu: Add unoconv. |
Date: |
Mon, 17 Feb 2020 19:25:09 +0100 |
* gnu/packages/libreoffice.scm (unoconv): New public variable.
---
gnu/packages/libreoffice.scm | 55 +++++++++++++++++++++++++++++++++++-
1 file changed, 54 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 04477e2082..5e9e5ebd40 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -31,11 +31,12 @@
(define-module (gnu packages libreoffice)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses)
- #:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0
+ #:select (gpl2 gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0
non-copyleft x11-style bsd-3))
#:use-module (guix packages)
#:use-module (guix utils)
@@ -141,6 +142,58 @@ Plain Text, Gnumeric XML, Generic XML. It also includes
low-level parsers for
CSV, CSS and XML.")
(license mpl2.0)))
+(define-public unoconv
+ (package
+ (name "unoconv")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "unoconv" version))
+ (sha256
+ (base32 "0cb0bvyxib3xrj0jdgizhp6p057lr8kqnd3n921rin37ivcvz3ih"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-find_offices
+ ;; find_offices is a convoluted cross-platform treasure hunt.
+ ;; Keep things simple and return the correct paths immediately.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((libreoffice (assoc-ref inputs "libreoffice")))
+ (substitute* "unoconv"
+ (("def find_offices\\(\\):" match)
+ (string-append
+ match "\n"
+ " ret = []\n"
+ " office = Office("
+ "'" libreoffice "/lib/libreoffice', "
+ "'" libreoffice "/lib/libreoffice/program', "
+ "'" libreoffice "/lib/libreoffice/program', "
+ "'" libreoffice "/lib/libreoffice/program/pyuno.so', "
+ "'" libreoffice "/bin/soffice', "
+ "sys.executable, "
+ "None)\n"
+ " ret.append(office)\n"
+ " return ret\n")))
+ #t))))))
+ (inputs
+ `(("libreoffice" ,libreoffice)))
+ (home-page "http://dag.wiee.rs/home-made/unoconv/")
+ (synopsis "Convert between any document format supported by LibreOffice")
+ (description
+ "Unoconv is a command-line utility to convert documents from any format
+that LibreOffice can import, to any format it can export. It can be used for
+batch processing, and can apply custom style templates and filters.
+
+Unoconv can convert between over a hundred formats, including Open Document
+Format (@file{.odt}, @file{.ods}, @file{.odp})), Portable Document Format
+(@file{.pdf}), HTML and XHTML, RTF, DocBook (@file{.xml}), @file{.doc} and
+@file{.docx}), @file{.xls} and @file{.xlsx}).
+
+All required fonts must be installed on the converting system.")
+ (license gpl2)))
+
(define-public librevenge
(package
(name "librevenge")
--
2.23.0
- [bug#39647] [PATCH] gnu: Add unoconv.,
Tobias Geerinckx-Rice <=