diff options
Diffstat (limited to 'gn/packages/java.scm')
| -rw-r--r-- | gn/packages/java.scm | 408 |
1 files changed, 0 insertions, 408 deletions
diff --git a/gn/packages/java.scm b/gn/packages/java.scm deleted file mode 100644 index 2a3b07b..0000000 --- a/gn/packages/java.scm +++ /dev/null @@ -1,408 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Roel Janssen <roel@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gn packages java) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix gexp) - #:use-module (guix utils) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix svn-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system ant) - #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages bash) - #:use-module (gnu packages bioinformatics) - #:use-module ((gnu packages nss) #:select (nss-certs)) - #:use-module (gnu packages compression) - #:use-module (gnu packages cups) - #:use-module (gnu packages gcc) - #:use-module (gnu packages java) - #:use-module (gnu packages java-compression) - #:use-module (gnu packages perl) - #:use-module (srfi srfi-1)) - -;; This is an attempt to make a smaller version of openjdk -(define openjdk11-minimal - (package/inherit openjdk11 - (inputs - (modify-inputs (package-inputs openjdk11) - (replace "cups" cups-minimal))))) - -;; ---------------------------------------------------------------------------- -;; WORKING PACKAGES -;; ---------------------------------------------------------------------------- - -(define-public xz-java - (package - (name "xz-java") - (version "1.5") - (source (origin - (method url-fetch) - (uri (string-append "http://tukaani.org/xz/" - name "-" version ".zip")) - (sha256 - (base32 "0x6vn9dp9kxk83x2fp3394n95dk8fx9yg8jns9371iqsn0vy8ih1")))) - (build-system ant-build-system) - (arguments - `(#:tests? #f ; There's no test target. - #:jdk ,icedtea-7 - #:phases - (modify-phases %standard-phases - (replace 'unpack - (lambda _ - (mkdir-p "source") - (chdir "source") - (zero? (system* "unzip" (assoc-ref %build-inputs "source"))))) - (replace 'install - (lambda _ - (let ((out (string-append (assoc-ref %outputs "out") - "/share/java/xz/"))) - (mkdir-p out) - (copy-file "build/jar/xz.jar" (string-append out "/xz-1.5.jar")))))))) - (native-inputs - `(("unzip" ,unzip))) - (home-page "http://tukaani.org/xz/java.html") - (synopsis "Implementation of XZ data compression in pure Java") - (description "This aims to be a complete implementation of XZ data -compression in pure Java. Single-threaded streamed compression and -decompression and random access decompression have been fully implemented.") - (license license:public-domain))) - -(define-public jakarta-oro - (package - (name "jakarta-oro") - (version "2.0.8") - (source (origin - (method url-fetch) - (uri (string-append "http://archive.apache.org/dist/jakarta/oro/" - name "-" version ".tar.gz")) - (sha256 - (base32 "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc")))) - (build-system ant-build-system) - (arguments - `(#:tests? #f ; There is no 'check' target - #:phases - (modify-phases %standard-phases - (replace 'install - (lambda _ - (let ((out (string-append (assoc-ref %outputs "out") - "/share/java/oro/"))) - (mkdir-p out) - (copy-file "jakarta-oro-2.0.8.jar" (string-append out "/oro-2.0.8.jar")))))) - )) - (home-page "http://jakarta.apache.org/oro/") - (synopsis "Set of text-processing Java classes") - (description "The Jakarta-ORO Java classes are a set of text-processing -Java classes that provide Perl5 compatible regular expressions, AWK-like regular -expressions, glob expressions, and utility classes for performing substitutions, -splits, filtering filenames, etc.") - (license license:asl1.1))) - -;; ---------------------------------------------------------------------------- -;; IN PROGRESS -;; ---------------------------------------------------------------------------- - -(define-public jsch - (package - (name "jsch") - (version "0.1.53") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge.net/jsch/" name "/" - version "/" name "-" version ".zip")) - (sha256 - (base32 "1729j7khwj6yvkr26fjaf273i3krhz2n1m3mbv5ms4x00qrhrxdn")))) - (build-system ant-build-system) - (home-page "http://www.jcraft.com/jsch/") - (synopsis "JSch is a pure Java implementation of SSH2") - (description "JSch is a pure Java implementation of SSH2. JSch allows you -to connect to an sshd server and use port forwarding, X11 forwarding, file -transfer, etc., and you can integrate its functionality into your own Java -programs.") - (license license:bsd-3))) - -(define-public commons-vfs - (package - (name "commons-vfs") - (version "2.0") - (source (origin - (method url-fetch) - (uri (string-append - "http://mirrors.supportex.net/apache/commons/vfs/source/" - name "-" version "-src.tar.gz")) - (sha256 - (base32 "1gkfg9g14kjkh2kf041ssdz9xnw7hpfmdsyrs1bbhyzikwg4s3d9")))) - (build-system ant-build-system) - (home-page "https://commons.apache.org/proper/commons-vfs/") - (synopsis "Commons Virtual File System API for Java") - (description "Commons VFS provides a single API for accessing various -different file systems. It presents a uniform view of the files from various -different sources, such as the files on local disk, on an HTTP server, or -inside a Zip archive. ") - (license license:asl2.0))) - -(define-public ivy -;; Ivy tries to download the following packages: -;; - https://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.jar => We have ant-1.9.6 -;; - https://repo1.maven.org/maven2/org/apache/ant/ant-nodeps/1.7.1/ant-nodeps-1.7.1.jar => Probably not needed -;; - https://repo1.maven.org/maven2/org/apache/ant/ant-trax/1.7.1/ant-trax-1.7.1.jar => Classes moved to ant.jar -;; - https://repo1.maven.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar -;; - https://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar => Packaged -;; - https://repo1.maven.org/maven2/commons-vfs/commons-vfs/1.0/commons-vfs-1.0.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.50/jsch-0.1.50.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy/0.0.6/jsch.agentproxy-0.0.6.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy.connector-factory/0.0.6/jsch.agentproxy.connector-factory-0.0.6.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy.jsch/0.0.6/jsch.agentproxy.jsch-0.0.6.jar -;; - https://repo1.maven.org/maven2/org/bouncycastle/bcpg-jdk14/1.45/bcpg-jdk14-1.45.jar -;; - https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk14/1.45/bcprov-jdk14-1.45.jar -;; - https://repo1.maven.org/maven2/junit/junit/3.8.2/junit-3.8.2.jar -;; - https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar -;; - https://repo1.maven.org/maven2/org/apache/ant/ant-testutil/1.7.0/ant-testutil-1.7.0.jar -;; - https://repo1.maven.org/maven2/ant/ant-launcher/1.6.2/ant-launcher-1.6.2.jar -;; - https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar -;; - https://repo1.maven.org/maven2/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar -;; - https://repo1.maven.org/maven2/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar - (package - (name "ivy") - (version "2.4.0") - (source (origin - (method url-fetch) - (uri (string-append "http://ftp.nluug.nl/internet/apache/ant/" name "/" - version "/apache-" name "-" version "-src.tar.gz")) - (sha256 - (base32 "1xkfn57g2m7l6y0xdq75x5rnrgk52m9jx2xah70g3ggl8750hbr0")))) - (build-system ant-build-system) - (inputs - `(("nss-certs" ,nss-certs))) - (home-page "http://ant.apache.org/ivy/") - (synopsis "Dependency manager for Ant") - (description "Apache Ivy is a popular dependency manager focusing on -flexibility and simplicity.") - (license license:asl2.0))) - - -;; ---------------------------------------------------------------------------- -;; ON HOLD: WAITING FOR MAVEN PACKAGES -;; ---------------------------------------------------------------------------- - -;; TODO: Needs commons-compress -;; (define-public ant-compress -;; (package -;; (name "ant-compress") -;; (version "1.4") -;; (source (origin -;; (method url-fetch) -;; (uri "https://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.4-src.tar.gz")) -;; (sha256 -;; (base32 "17v5i11srmi12ckgrvhlwn0gvapgizs5672x252h143r0ya4c04d"))) -;; )) - -;; TODO: Needs Maven. -;; (define-public commons-compress -;; (package -;; (name "apache-commons-compress") -;; (version "1.10") -;; (source (origin -;; (method url-fetch) -;; (uri ("http://ftp.tudelft.nl/apache//commons/compress/source/commons-compress-1.10-src.tar.gz"))) -;; (sha256 -;; (base32 "06b40k9dmgqkga3qmfpgzq87jf3fkcxnwaiyczclh58yibg19604"))) -;; )) - -;; TODO: Needs Maven. -;; (define-public jcommander -;; (package -;; (name "jcommander") -;; (version "1.48") -;; (source (origin -;; (method url-fetch) -;; (uri (string-append "https://github.com/cbeust/jcommander/archive/" -;; name "-" version ".tar.gz")) -;; (sha256 -;; (base32 "1qn56hd6sxkfdv9j6pwf8c7ia00n39zry236a6achc87wq2kmfnw")))) -;; (build-system ant-build-system) -;; (home-page "http://jcommander.org/") -;; (synopsis "Java framework for parsing command line parameters") -;; (description "JCommander is a very small Java framework that makes it -;; trivial to parse command line parameters. ") -;; (license license:asl2.0))) - -;; TODO: Needs Maven. -;; (define-public maven-remote-resources-plugin -;; (package -;; (name "maven-remote-resources-plugin") -;; (version "1.5") -;; (source (origin -;; (method svn-fetch) -;; (uri (svn-reference -;; (url (string-append "http://svn.apache.org/viewvc/maven/plugins/tags/" -;; name "-" version)) -;; (revision 1513840))) -;; (file-name (string-append name "-" version "-checkout")) -;; (sha256 -;; (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i")))) -;; (build-system ant-build-system) -;; (home-page "https://maven.apache.org/plugins/maven-remote-resources-plugin/") -;; (synopsis "") -;; (description "") -;; (license license:asl2.0))) - -;; TODO: Needs Maven. -;; (define-public junit -;; (package -;; (name "junit") -;; (version "4.12") -;; (source (origin -;; (method url-fetch) -;; (uri (string-append "https://github.com/junit-team/" -;; name "/archive/r" version ".tar.gz")) -;; (sha256 -;; (base32 "1r6ww2y3jpbpqh03r0966xxiz2vs8n72g6n6l0sjs3aspy56v8b1")))) -;; (build-system ant-build-system) -;; (home-page "http://junit.org/") -;; (synopsis "Framework to write repeatable tests") -;; (description "JUnit is a simple framework to write repeatable tests. It is -;; an instance of the xUnit architecture for unit testing frameworks.") -;; (license license:asl2.0))) - -(define-public maven - (package - (name "maven") - (version "3.3.9") - (source (origin - (method url-fetch) - (uri (string-append "http://apache.proserve.nl/maven/maven-3/" - version "/source/apache-maven-" version "-src.tar.gz")) - (sha256 - (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i")))) - (build-system ant-build-system) - (arguments - `(#:make-flags "-Dmaven.home=build/" - #:phases - (modify-phases %standard-phases - (add-before 'build 'set-m2-variable - (lambda _ - (setenv "M2_HOME" (string-append (assoc-ref %outputs "out") "/maven-3.3.9"))))))) - (home-page "https://maven.apache.org/") - (synopsis "") - (description "Apache Maven is a software project management and -comprehension tool. Based on the concept of a project object model (POM), -Maven can manage a project's build, reporting and documentation from a central -piece of information.") - (license license:asl2.0))) - -;; TODO: Remove bundled jars from buildLib, lib, testLib and javascript -(define-public rtg-tools - (package - (name "rtg-tools") - (version "3.11") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/RealTimeGenomics/rtg-tools") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "13fjhhcjgnynxscaymkn3rpdciplbg2m2qmihc7fxsylgn4m6gxk")))) - (build-system ant-build-system) - (arguments - `(#:jdk ,openjdk11-minimal - #:build-target "zip-nojre" - #:test-target "runalltests" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'adjust-source - (lambda _ - (substitute* "build.xml" - (("\"git\"") "\"echo\"") - (("\\$\\{vcs\\.cmd\\.out\\}") "${product.version}") - (("\\$\\{build\\.time\\}") "1970-01-01") - (("-\\$\\{rtg\\.vcs\\.commit\\.revision\\}") "")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (pkg (string-append ,name "-" ,version))) - (install-file (string-append "dist/" pkg "-nojre.zip") - out) - (with-directory-excursion out - (invoke "unzip" (string-append pkg "-nojre.zip")) - (copy-recursively (string-append pkg "/") ".") - (delete-file-recursively pkg) - (delete-file (string-append pkg "-nojre.zip")))))) - (add-after 'install 'create-rtg.cfg - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-output-to-file (string-append out "/rtg.cfg") - (lambda _ - (format #t "RTG_JAVA=\"~a\"~@ - RTG_TALKBACK=false~@ - RTG_USAGE=false~%" - (search-input-file inputs "/bin/java"))))))) - (add-after 'install 'create-wrapper-script - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (wrapper (string-append out "/bin/rtg"))) - ;; We want an executable in the bin directory without rewriting - ;; the existing wrapper script. - (mkdir-p (dirname wrapper)) - (with-output-to-file wrapper - (lambda _ - (format #t "#!~a~@ - exec -a \"$0\" \"~a/rtg\" \"$@\"~%" - (search-input-file inputs "/bin/bash") - out))) - (chmod wrapper #o555)))) - (add-after 'install 'install-completions - (lambda* (#:key outputs #:allow-other-keys) - (install-file "installer/resources/common/scripts/rtg-bash-completion" - (string-append (assoc-ref outputs "out") - "/share/bash-completion/completions")))) - (delete 'generate-jar-indices)))) ; manually installed - (inputs - (list bash-minimal ; for the wrapper script - java-commons-collections - java-commons-compress - java-commons-lang - ;java-gzipfix - ;java-sam-rtg - ;java-json-simple - ;java-rplot - java-snappy - ;java-velocity - ;java-velocity-tools-generic - )) - (native-inputs - (list ;java-findbugs-annotations - ;java-findbugs-jsr305 - ;java-jumble-annotations - ;; for tests - java-hamcrest-core - java-junit - ;java-spelling - ;; For the 'install phase. - unzip)) - (home-page "https://github.com/RealTimeGenomics/rtg-tools/") - (synopsis "Utilities for accurate VCF comparison and manipulation") - (description "RTG Tools is a subset of RTG Core that includes several useful -utilities for dealing with VCF files and sequence data. Probably the most -interesting is the @code{vcfeval} command which performs sophisticated -comparison of VCF files.") - (license license:bsd-2))) |
