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

From: Marius Bakke <[email-masked]>
Date: Sat, 17 Feb 2018 16:06:19 +0100

Björn Höfling <[email-masked]> writes:

> 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?

I haven't checked, but if these source files are not part of the
installed product (e.g. they are only used for tests, or optional
plugins/features), AFAIU we don't need to list them in the (license ...)
field.

But please add a comment about them regardless.