Subject: bug#25925: [PATCH] gnu: Add fop.

From: Björn Höfling <[email-masked]>
Date: Mon, 13 Mar 2017 22:45:40 +0100

On Thu, 02 Mar 2017 01:14:56 +0100
Marius Bakke <[email-masked]> wrote:

> Roel Janssen <[email-masked]> 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 <[email-masked]>
> > 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 <[email-masked]>
> >  ;;; Copyright © 2016 Tobias Geerinckx-Rice <[email-masked]>
> >  ;;; Copyright © 2016 Marius Bakke <[email-masked]>
> > +;;; Copyright © 2017 Roel Janssen <[email-masked]>
> >  ;;;
> >  ;;; 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