Subject: Re: [bug#30417] [PATCH 06/11] gnu: Add java-modello-core.

From: Björn Höfling <[email-masked]>
Date: Fri, 16 Feb 2018 20:16:37 +0100

On Wed, 14 Feb 2018 22:56:38 +0100
Julien Lepiller <[email-masked]> wrote:

> Le Wed, 14 Feb 2018 21:22:25 +0100,
> Björn Höfling <[email-masked]> a écrit :
> 
> > On Sun, 11 Feb 2018 00:04:33 +0100
> > Julien Lepiller <[email-masked]> wrote:
> >   
> > > * gnu/packages/java.scm (java-modello-core): New variable.
> > > ---
> > >  gnu/packages/java.scm | 50
> > > ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed,
> > > 50 insertions(+)
> > > 
> > > diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> > > index af9acd71f..d75960831 100644
> > > --- a/gnu/packages/java.scm
> > > +++ b/gnu/packages/java.scm
> > > @@ -2811,6 +2811,56 @@ a default implementation of it.  This API
> > > is about scanning files in a project and determining what files
> > > need to be rebuilt.") (license license:asl2.0)))
> > >  
> > > +(define-public java-modello-core
> > > +  (package
> > > +    (name "java-modello-core")
> > > +    (version "1.9.1")
> > > +    (source (origin
> > > +              (method url-fetch)
> > > +              (uri (string-append
> > > "https://github.com/codehaus-plexus/modello"
> > > +                                  "/archive/modello-" version
> > > ".tar.gz"))
> > > +              (sha256
> > > +               (base32
> > > +
> > > "0l2pvns8pmlrmjm3iknp7gpg3654y1m8qhy55b19sdwdchdcyxfh"))))
> > > +    (build-system ant-build-system)
> > > +    (arguments
> > > +     `(#:jar-name "modello-core.jar"
> > > +       #:source-dir "modello-core/src/main/java"
> > > +       #:test-dir "modello-core/src/test"
> > > +       #:main-class "org.codehaus.modello.ModelloCli"
> > > +       #:jdk ,icedtea-8
> > > +       #:phases
> > > +       (modify-phases %standard-phases
> > > +         (add-before 'build 'copy-resources
> > > +           (lambda _
> > > +             (mkdir-p "build/classes/META-INF/plexus")
> > > +             (copy-file
> > > "modello-core/src/main/resources/META-INF/plexus/components.xml"
> > > +
> > > "build/classes/META-INF/plexus/components.xml")
> > > +             #t))
> > > +         (add-before 'check 'fix-tests
> > > +           (lambda _
> > > +             (substitute*
> > > '("modello-core/src/test/java/org/codehaus/modello/core/DefaultModelloCoreTest.java"
> > > +
> > > "modello-core/src/test/java/org/codehaus/modello/core/io/ModelReaderTest.java")
> > > +               (("src/test") "modello-core/src/test")))))))
> > > +    (inputs
> > > +     `(("java-plexus-utils" ,java-plexus-utils)
> > > +
> > > ("java-plexus-container-default-bootstrap" ,java-plexus-container-default-bootstrap)
> > > +       ("java-sisu-build-api" ,java-sisu-build-api)))
> > > +    (native-inputs
> > > +     `(("java-junit" ,java-junit)
> > > +       ("java-plexus-classworlds" ,java-plexus-classworlds)
> > > +
> > > ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
> > > +       ("java-guava" ,java-guava)))
> > > +    (home-page "http://codehaus-plexus.github.io/modello/")
> > > +    (synopsis "Framework for code generation from a simple
> > > model")
> > > +    (description "Modello is a framework for code generation
> > > from a simple model. +
> > > +Modello generates code from a simple model format: based on a
> > > plugin +architecture, various types of code and descriptors can be
> > > generated from the +single model, including Java POJOs,
> > > XML/JSON/YAML marshallers/unmarshallers, +XSD and documentation.")
> > > +    (license license:asl2.0)))    
> > 
> > I'm not sure about how to declare the license:
> > 
> > If you consider only the code under modello-core, that is only
> > license:expat (if I havent overseen anything).
> > 
> > But as you are not working with snippets here, I think you have to
> > look at every file in the original source package. And there I found
> > three types of licenses:
> > 
> > * expat, as above
> > * asl2.0, like
> >   in ./modello-plugins/modello-plugin-stax/src/test/java/org/codehaus/modello/generator/xml/stax/BooleanTypeStaxGeneratorTest.java
> > * Finally, some kind of "5-clause-BSD":
> > ./modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/javasource/JNaming.java
> > I always have my troubles matching a license text to one of the
> > available licenses, so I quote it in full here:
> > 
> > /**
> >  * Redistribution and use of this software and associated
> > documentation
> >  * ("Software"), with or without modification, are permitted
> > provided
> >  * that the following conditions are met:
> >  *
> >  * 1. Redistributions of source code must retain copyright
> >  *    statements and notices.  Redistributions must also contain a
> >  *    copy of this document.
> >  *
> >  * 2. Redistributions in binary form must reproduce the
> >  *    above copyright notice, this list of conditions and the
> >  *    following disclaimer in the documentation and/or other
> >  *    materials provided with the distribution.
> >  *
> >  * 3. The name "Exolab" must not be used to endorse or promote
> >  *    products derived from this Software without prior written
> >  *    permission of Intalio, Inc.  For written permission,
> >  *    please contact [email-masked].
> >  *
> >  * 4. Products derived from this Software may not be called "Exolab"
> >  *    nor may "Exolab" appear in their names without prior written
> >  *    permission of Intalio, Inc. Exolab is a registered
> >  *    trademark of Intalio, Inc.
> >  *
> >  * 5. Due credit should be given to the Exolab Project
> >  *    (http://www.codehaus.org/).
> >  *
> >  * THIS SOFTWARE IS PROVIDED BY INTALIO, INC. AND CONTRIBUTORS
> >  * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
> >  * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
> >  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
> > SHALL
> >  * INTALIO, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
> >  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> > DAMAGES
> >  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> > OR
> >  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> > INTERRUPTION)
> >  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> > CONTRACT,
> >  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> >  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > ADVISED
> >  * OF THE POSSIBILITY OF SUCH DAMAGE.
> >  *
> >  * Copyright 1999-2000 (C) Intalio, Inc. All Rights Reserved.
> >  *
> >  * $Id$
> >  */  
> 
> We don't have anything for that license. I've seen it in some other
> java packages, and I used (non-copyleft "file:///LICENSE.txt"), except
> this time, LICENSE.txt contains only the expat license. The files that
> have this license are also licensed under the expat license. Is it OK
> to declare only the expat license here, as it is the only one in
> LICENSE.txt?

I'm not a license expert. Has anyone else a opinion on that?

Björn