GNU bug report logs - #25925
[PATCH] gnu: Add fop.

Previous Next

Package: guix-patches;

Reported by: Roel Janssen <roel <at> gnu.org>

Date: Wed, 1 Mar 2017 23:59:02 UTC

Severity: normal

Tags: moreinfo, patch

Done: Roel Janssen <roel <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25925 in the body.
You can then email your comments to 25925 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#25925; Package guix-patches. (Wed, 01 Mar 2017 23:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Roel Janssen <roel <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 01 Mar 2017 23:59:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Roel Janssen <roel <at> gnu.org>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add fop.
Date: Thu, 02 Mar 2017 00:58:39 +0100
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 <roel <at> gnu.org>
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 <ng0 <at> we.make.ritual.n0.is>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2016 Marius Bakke <mbakke <at> fastmail.com>
+;;; Copyright © 2017 Roel Janssen <roel <at> gnu.org>
 ;;;
 ;;; 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"))))
+    (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"))))
+         (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)))))))
+    (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)))
+
 (define-public libxml2
   (package
     (name "libxml2")
-- 
2.11.0





Information forwarded to guix-patches <at> gnu.org:
bug#25925; Package guix-patches. (Thu, 02 Mar 2017 00:16:01 GMT) Full text and rfc822 format available.

Message #8 received at 25925 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Roel Janssen <roel <at> gnu.org>, 25925 <at> debbugs.gnu.org
Subject: Re: bug#25925: [PATCH] gnu: Add fop.
Date: Thu, 02 Mar 2017 01:14:56 +0100
[Message part 1 (text/plain, inline)]
Roel Janssen <roel <at> gnu.org> 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 <roel <at> gnu.org>
> 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 <ng0 <at> we.make.ritual.n0.is>
>  ;;; Copyright © 2016 Tobias Geerinckx-Rice <me <at> tobias.gr>
>  ;;; Copyright © 2016 Marius Bakke <mbakke <at> fastmail.com>
> +;;; Copyright © 2017 Roel Janssen <roel <at> gnu.org>
>  ;;;
>  ;;; 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 (application/pgp-signature, inline)]

Added tag(s) moreinfo. Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Mon, 13 Mar 2017 13:18:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#25925; Package guix-patches. (Mon, 13 Mar 2017 21:48:02 GMT) Full text and rfc822 format available.

Message #13 received at 25925 <at> debbugs.gnu.org (full text, mbox):

From: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 25925 <at> debbugs.gnu.org, Roel Janssen <roel <at> gnu.org>
Subject: Re: bug#25925: [PATCH] gnu: Add fop.
Date: Mon, 13 Mar 2017 22:45:40 +0100
On Thu, 02 Mar 2017 01:14:56 +0100
Marius Bakke <mbakke <at> fastmail.com> wrote:

> Roel Janssen <roel <at> gnu.org> 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 <roel <at> gnu.org>
> > 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 <ng0 <at> we.make.ritual.n0.is>
> >  ;;; Copyright © 2016 Tobias Geerinckx-Rice <me <at> tobias.gr>
> >  ;;; Copyright © 2016 Marius Bakke <mbakke <at> fastmail.com>
> > +;;; Copyright © 2017 Roel Janssen <roel <at> gnu.org>
> >  ;;;
> >  ;;; 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.


Hi Roel,

as Marius already mentioned, Java people have the tendency to just put a
bunch of (binary) jar files in a lib folder. In GuixSD, we want all
dependencies be built and brought in by Guix. That has two advantages: 

1. We can be sure that the dependencies are really what they claim
to be, built from the available sources.
2. If there are (security) updates in the dependencies they will be
updated automatically.

Building the dependencies can be quite annoying, because they require
other dependencies to be available, and so on ... That's one of the
reasons why Java support in GuixSD is yet very limited.

There is a patch-series by Hartmut Goebel not yet applied, containing
connons-lang and commons-io:

https://lists.gnu.org/archive/html/guix-devel/2016-09/threads.html#00774

Maybe you can start with these?

Björn









Information forwarded to guix-patches <at> gnu.org:
bug#25925; Package guix-patches. (Thu, 30 Mar 2017 12:32:02 GMT) Full text and rfc822 format available.

Message #16 received at 25925 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
Cc: Marius Bakke <mbakke <at> fastmail.com>, 25925 <at> debbugs.gnu.org
Subject: Re: bug#25925: [PATCH] gnu: Add fop.
Date: Thu, 30 Mar 2017 15:02:15 +0200
Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de> writes:

> There is a patch-series by Hartmut Goebel not yet applied, containing
> connons-lang and commons-io:
>
> https://lists.gnu.org/archive/html/guix-devel/2016-09/threads.html#00774
>
> Maybe you can start with these?

I have taken the patches from Hartmut, cleaned them up, added a couple
of more dependencies to run tests … and then got stuck at some point
again.  I have a big WIP branch for that and I think before someone else
starts from scratch I should share the branch.

I’ll try to get something ready for merging/sharing/collaborating this
weekend.  (Feel free to ping me if you don’t hear from me about this.)

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





Reply sent to Roel Janssen <roel <at> gnu.org>:
You have taken responsibility. (Thu, 11 May 2017 14:25:02 GMT) Full text and rfc822 format available.

Notification sent to Roel Janssen <roel <at> gnu.org>:
bug acknowledged by developer. (Thu, 11 May 2017 14:25:04 GMT) Full text and rfc822 format available.

Message #21 received at 25925-done <at> debbugs.gnu.org (full text, mbox):

From: Roel Janssen <roel <at> gnu.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 25925-done <at> debbugs.gnu.org
Subject: Re: bug#25925: [PATCH] gnu: Add fop.
Date: Thu, 11 May 2017 16:23:43 +0200
Marius Bakke writes:

> Roel Janssen <roel <at> gnu.org> 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 <roel <at> gnu.org>
>> 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 <ng0 <at> we.make.ritual.n0.is>
>>  ;;; Copyright © 2016 Tobias Geerinckx-Rice <me <at> tobias.gr>
>>  ;;; Copyright © 2016 Marius Bakke <mbakke <at> fastmail.com>
>> +;;; Copyright © 2017 Roel Janssen <roel <at> gnu.org>
>>  ;;;
>>  ;;; 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.

Ahh sorry about this.  Because 'fop' is not needed for 'darktable', I
will just drop this patch for now.

Thanks for your reviewing efforts though!

Kind regards,
Roel Janssen




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 09 Jun 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 294 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.