From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d71le-0003Uf-Kd for guix-patches@gnu.org; Sat, 06 May 2017 11:37:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d71ld-0002gB-GE for guix-patches@gnu.org; Sat, 06 May 2017 11:37:10 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:60075) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d71ld-0002fs-C8 for guix-patches@gnu.org; Sat, 06 May 2017 11:37:09 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d71ld-0002Ke-6Z for guix-patches@gnu.org; Sat, 06 May 2017 11:37:09 -0400 Subject: bug#26803: [PATCH 14/36] gnu: Add java-commons-collections4. Resent-Message-ID: From: Ricardo Wurmus Date: Sat, 6 May 2017 17:35:55 +0200 Message-Id: <20170506153617.3074-14-rekado@elephly.net> In-Reply-To: <20170506153617.3074-1-rekado@elephly.net> References: <20170506153617.3074-1-rekado@elephly.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 26803@debbugs.gnu.org Cc: Ricardo Wurmus * gnu/packages/java.scm (java-commons-collections4): New variable. --- gnu/packages/java.scm | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 36d80ff1d..f595af58c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1564,3 +1564,63 @@ nano/micro/milli/macro benchmarks written in Java and other languages targetting the JVM.") ;; GPLv2 only (license license:gpl2))) + +(define-public java-commons-collections4 + (package + (name "java-commons-collections4") + (version "4.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/collections/source/" + "commons-collections4-" version "-src.tar.gz")) + (sha256 + (base32 + "1krfhvggympq4avk7gh6qafzf6b9ip6r1m4lmacikyx04039m0wl")))) + (build-system ant-build-system) + (arguments + `(#:test-target "test" + #:make-flags + (let ((hamcrest (assoc-ref %build-inputs "java-hamcrest-core")) + (junit (assoc-ref %build-inputs "java-junit")) + (easymock (assoc-ref %build-inputs "java-easymock"))) + (list (string-append "-Djunit.jar=" junit "/share/java/junit.jar") + (string-append "-Dhamcrest.jar=" hamcrest + "/share/java/hamcrest-core.jar") + (string-append "-Deasymock.jar=" easymock + "/share/java/easymock.jar"))) + #:phases + (modify-phases %standard-phases + (replace 'install + (install-jars "target"))))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-easymock" ,java-easymock))) + (home-page "http://commons.apache.org/collections/") + (synopsis "Collections framework") + (description "The Java Collections Framework is the recognised standard +for collection handling in Java. Commons-Collections seek to build upon the +JDK classes by providing new interfaces, implementations and utilities. There +are many features, including: + +@itemize +@item @code{Bag} interface for collections that have a number of copies of + each object +@item @code{BidiMap} interface for maps that can be looked up from value to + key as well and key to value +@item @code{MapIterator} interface to provide simple and quick iteration over + maps +@item Transforming decorators that alter each object as it is added to the + collection +@item Composite collections that make multiple collections look like one +@item Ordered maps and sets that retain the order elements are added in, + including an LRU based map +@item Reference map that allows keys and/or values to be garbage collected + under close control +@item Many comparator implementations +@item Many iterator implementations +@item Adapter classes from array and enumerations to collections +@item Utilities to test or create typical set-theory properties of collections + such as union, intersection, and closure. +@end itemize\n") + (license license:asl2.0))) -- 2.12.2