From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hartmut Goebel Subject: [PATCH 06/12] gnu: Add java-commons-cli. Date: Fri, 9 Sep 2016 16:51:06 +0200 Message-ID: <1473432672-21007-7-git-send-email-h.goebel@crazy-compilers.com> References: <1473432672-21007-1-git-send-email-h.goebel@crazy-compilers.com> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1biN9S-0007DM-Lc for guix-devel@gnu.org; Fri, 09 Sep 2016 10:51:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1biN9O-0002zu-C5 for guix-devel@gnu.org; Fri, 09 Sep 2016 10:51:33 -0400 Received: from mail-out.m-online.net ([212.18.0.10]:50579) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1biN9O-0002zX-11 for guix-devel@gnu.org; Fri, 09 Sep 2016 10:51:30 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3sW0X13c8Cz3hkLg for ; Fri, 9 Sep 2016 16:51:29 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3sW0X13WpJzvlQ6 for ; Fri, 9 Sep 2016 16:51:29 +0200 (CEST) Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id k-2IOi2qZg1Q for ; Fri, 9 Sep 2016 16:51:27 +0200 (CEST) Received: from hermia.goebel-consult.de (ppp-188-174-128-63.dynamic.mnet-online.de [188.174.128.63]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS for ; Fri, 9 Sep 2016 16:51:27 +0200 (CEST) Received: from thisbe.goebel-consult.de.de (hermia.goebel-consult.de [192.168.110.7]) by hermia.goebel-consult.de (Postfix) with ESMTP id 067F0607A8 for ; Fri, 9 Sep 2016 16:51:15 +0200 (CEST) In-Reply-To: <1473432672-21007-1-git-send-email-h.goebel@crazy-compilers.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * gnu/packages/java.scm (appache-commons-url): New function. (java-commons-cli): New variable. --- gnu/packages/java.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 3687c7e..a83423d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1316,3 +1316,51 @@ It has its foundation in the org.codehaus.plexus.utils.interpolation package within plexus-utils, but has been separated in order to allow these two libraries to vary independently of one another.") (license license:asl2.0))) + +; +; apache commons +; + +(define* (apache-commons-url projname version + #:optional (basename + (string-append "commons-" projname))) + (string-append "mirror://apache/commons/" projname "/source/" + basename "-" version "-src.tar.gz")) + +(define-public java-commons-cli + (package + (name "java-commons-cli") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (apache-commons-url "cli" version)) + (sha256 (base32 "1fkjn552i12vp3xxk21ws4p70fi0lyjm004vzxsdaz7gdpgyxxyl")))) + (build-system ant-build-system) + ; todo: javadoc + (arguments + ; commons-cli does not provida a proper build.xml but seems to require + ; maven for building + `(#:jar-name (string-append "commons-cli-" ,version ".jar") + #:phases + (modify-phases %standard-phases + (delete 'check)))) + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "http://commons.apache.org/cli/") + (synopsis "Command line arguments and options parsing library") + (description "The Apache Commons CLI library provides an API for parsing +command line options passed to programs. It's also able to print help messages +detailing the options available for a command line tool. + +Commons CLI supports different types of options: + +@itemize +@item POSIX like options (ie. tar -zxvf foo.tar.gz) +@item GNU like long options (ie. du --human-readable --max-depth=1) +@item Java like properties (ie. java -Djava.awt.headless=true Foo) +@item Short options with value attached (ie. gcc -O2 foo.c) +@item long options with single hyphen (ie. ant -projecthelp) +@end itemize + +This is a part of the Apache Commons Project.") + (license license:asl2.0))) -- 2.7.4