[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25925: [PATCH] gnu: Add fop.
From: |
Marius Bakke |
Subject: |
bug#25925: [PATCH] gnu: Add fop. |
Date: |
Thu, 02 Mar 2017 01:14:56 +0100 |
User-agent: |
Notmuch/0.23.7 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-unknown-linux-gnu) |
Roel Janssen <address@hidden> writes:
> Dear Guix,
>
> This package is a dependency for Darktable. Therefore, I would like to
> add it.
>
>>From 99604dfc19cd9b68863fcc948ecbe4a853bc56f0 Mon Sep 17 00:00:00 2001
> From: Roel Janssen <address@hidden>
> Date: Thu, 2 Mar 2017 00:43:00 +0100
> Subject: [PATCH] gnu: Add fop.
>
> * gnu/packages/xml.scm (fop): New variable.
> ---
> gnu/packages/xml.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
> index b91471690..f7f861fbe 100644
> --- a/gnu/packages/xml.scm
> +++ b/gnu/packages/xml.scm
> @@ -14,6 +14,7 @@
> ;;; Copyright © 2016 ng0 <address@hidden>
> ;;; Copyright © 2016 Tobias Geerinckx-Rice <address@hidden>
> ;;; Copyright © 2016 Marius Bakke <address@hidden>
> +;;; Copyright © 2017 Roel Janssen <address@hidden>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -42,6 +43,7 @@
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix packages)
> #:use-module (guix download)
> + #:use-module (guix build-system ant)
> #:use-module (guix build-system cmake)
> #:use-module (guix build-system gnu)
> #:use-module (guix build-system perl)
> @@ -71,6 +73,46 @@ stream-oriented parser in which an application registers
> handlers for
> things the parser might find in the XML document (like start tags).")
> (license license:expat)))
>
> +(define-public fop
> + (package
> + (name "fop")
> + (version "2.1")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append
> + "mirror://apache/xmlgraphics/fop/source/fop-"
> + version "-src.tar.gz"))
> + (sha256
> + (base32
> + "165rx13q47l6qc29ppr7sg1z26vw830s3rkklj5ap7wgvy0ivbz5"))))
Ahh...java. Can you try removing some of the 21 bundled JARs with a
'snippet' here? We do have a couple of them in Guix already. Even better
if you can package some more.
> + (build-system ant-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (replace 'build
> + (lambda* (#:key inputs #:allow-other-keys)
> + (system* (string-append (assoc-ref inputs "ant") "/bin/ant"))))
I'm not very familiar with ant-build-system, but isn't ant available in
PATH here (so you can simply (system* "ant"))? It should probably also
be wrapped in a (zero? (system* ..)) so that the return value is checked.
> + (replace 'install
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (bin (string-append out "/bin")))
> + (mkdir-p bin)
> + (install-file "build/fop.jar" bin)
> + (install-file "build/fop-hyph.jar" bin)
> + (install-file "build/fop-sandbox.jar" bin)
> + (install-file "build/fop-transcoder-allinone.jar" bin)
> + (install-file "build/fop-transcoder.jar" bin)
> + (install-file "fop" bin)))))))
"install-file" (or actually "copy-file" from reading (guix build utils)
has an unspecified return value, so this phase should end with an
explicit #t.
> + (home-page "https://xmlgraphics.apache.org/fop/")
> + (synopsis "Formatting objects processor")
> + (description "Apache FOP is a print formatter driven by XSL formatting
> +objects (XSL-FO) and an output independent formatter. It is a Java
> application
> +that reads a formatting object (FO) tree and renders the resulting pages to a
> +specified output. Output formats currently supported include PDF, PS, PCL,
> +AFP, XML (area tree representation), Print, AWT and PNG, and to a lesser
> +extent, RTF and TXT. The primary output target is PDF.")
> + (license license:asl2.0)))
I did not do a license audit of this package, but please double check
that all bundled software also carries this license (or mention theirs
here). The rest LGTM.
signature.asc
Description: PGP signature