mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 21:59:08 -05:00
gnu: Add unoconv.
* gnu/packages/libreoffice.scm (unoconv): New public variable. Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
This commit is contained in:
parent
e36826b2ba
commit
582a79d3a9
1 changed files with 59 additions and 1 deletions
|
@ -31,11 +31,12 @@
|
||||||
(define-module (gnu packages libreoffice)
|
(define-module (gnu packages libreoffice)
|
||||||
#:use-module (guix build-system glib-or-gtk)
|
#:use-module (guix build-system glib-or-gtk)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module ((guix licenses)
|
#: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))
|
non-copyleft x11-style bsd-3))
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
|
@ -141,6 +142,63 @@ (define-public orcus
|
||||||
CSV, CSS and XML.")
|
CSV, CSS and XML.")
|
||||||
(license mpl2.0)))
|
(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 'stop-hash-sniffing
|
||||||
|
;; Fixes <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39647#11>.
|
||||||
|
;; Submitted upsteam: <https://github.com/unoconv/unoconv/pull/531>.
|
||||||
|
(lambda _
|
||||||
|
(substitute* "unoconv"
|
||||||
|
(("sys.argv\\[0\\]\\.split\\('2'\\)")
|
||||||
|
"os.path.basename(sys.argv[0]).split('2')"))
|
||||||
|
#t))
|
||||||
|
(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"
|
||||||
|
" return [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")))
|
||||||
|
#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 converts 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
|
(define-public librevenge
|
||||||
(package
|
(package
|
||||||
(name "librevenge")
|
(name "librevenge")
|
||||||
|
|
Loading…
Reference in a new issue