gnu: Add java-cisd-args4j.
* gnu/packages/java.scm (java-cisd-args4j): New variable.
This commit is contained in:
parent
30d554732a
commit
04ddca26e6
|
@ -2233,6 +2233,120 @@ libraries from the SIS division at ETH Zurich like jHDF5.")
|
||||||
(license (list license:asl2.0
|
(license (list license:asl2.0
|
||||||
(license:non-copyleft "file://source/c/COPYING"))))))
|
(license:non-copyleft "file://source/c/COPYING"))))))
|
||||||
|
|
||||||
|
(define-public java-cisd-args4j
|
||||||
|
(let ((revision 39162)
|
||||||
|
(base-version "9.11.2"))
|
||||||
|
(package
|
||||||
|
(name "java-cisd-args4j")
|
||||||
|
(version (string-append base-version "-" (number->string revision)))
|
||||||
|
(source (origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"args4j/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version "/args4j/"))
|
||||||
|
(revision revision)))
|
||||||
|
(file-name (string-append "java-cisd-args4j-" version "-checkout"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0hhqznjaivq7ips7mkwas78z42s6djsm20rrs7g1zd59rcsakxn2"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:make-flags '("-file" "build/build.xml")
|
||||||
|
#:tests? #f ; there are no tests
|
||||||
|
;; There are weird build failures with JDK8, such as: "The type
|
||||||
|
;; java.io.ObjectInputStream cannot be resolved. It is indirectly
|
||||||
|
;; referenced from required .class files"
|
||||||
|
#:jdk ,icedtea-7
|
||||||
|
#:modules ((guix build ant-build-system)
|
||||||
|
(guix build utils)
|
||||||
|
(guix build java-utils)
|
||||||
|
(sxml simple)
|
||||||
|
(sxml transform)
|
||||||
|
(sxml xpath))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'unpack-build-resources
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(mkdir-p "../build_resources")
|
||||||
|
(invoke "tar" "xf" (assoc-ref inputs "build-resources")
|
||||||
|
"-C" "../build_resources"
|
||||||
|
"--strip-components=1")
|
||||||
|
(mkdir-p "../build_resources/lib")
|
||||||
|
#t))
|
||||||
|
(add-after 'unpack-build-resources 'fix-dependencies
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; FIXME: There should be a more convenient abstraction for
|
||||||
|
;; editing XML files.
|
||||||
|
(with-directory-excursion "../build_resources/ant/"
|
||||||
|
(chmod "build-common.xml" #o664)
|
||||||
|
(call-with-output-file "build-common.xml.new"
|
||||||
|
(lambda (port)
|
||||||
|
(sxml->xml
|
||||||
|
(pre-post-order
|
||||||
|
(with-input-from-file "build-common.xml"
|
||||||
|
(lambda _ (xml->sxml #:trim-whitespace? #t)))
|
||||||
|
`(;; Remove dependency on classycle and custom ant tasks
|
||||||
|
(taskdef . ,(lambda (tag . kids)
|
||||||
|
(let ((name ((sxpath '(name *text*)) kids)))
|
||||||
|
(if (or (member "build-info" name)
|
||||||
|
(member "dependency-checker" name)
|
||||||
|
(member "build-java-subprojects" name)
|
||||||
|
(member "project-classpath" name))
|
||||||
|
'() ; skip
|
||||||
|
`(,tag ,@kids)))))
|
||||||
|
(typedef . ,(lambda (tag . kids)
|
||||||
|
(let ((name ((sxpath '(name *text*)) kids)))
|
||||||
|
(if (member "recursive-jar" name)
|
||||||
|
'() ; skip
|
||||||
|
`(,tag ,@kids)))))
|
||||||
|
(build-java-subprojects . ,(lambda _ '()))
|
||||||
|
;; Ignore everything else
|
||||||
|
(*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
|
||||||
|
(*text* . ,(lambda (_ txt) txt))))
|
||||||
|
port)))
|
||||||
|
(rename-file "build-common.xml.new" "build-common.xml"))
|
||||||
|
(substitute* "build/build.xml"
|
||||||
|
(("\\$\\{lib\\}/cisd-base/cisd-base.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-cisd-base")
|
||||||
|
"/share/java/sis-base.jar"))
|
||||||
|
;; Remove dependency on svn
|
||||||
|
(("<build-info.*") "")
|
||||||
|
(("\\$\\{revision.number\\}")
|
||||||
|
,(number->string revision))
|
||||||
|
(("\\$\\{version.number\\}") ,base-version)
|
||||||
|
;; Don't use custom ant tasks.
|
||||||
|
(("recursive-jar") "jar")
|
||||||
|
(("<project-classpath.*") ""))
|
||||||
|
#t))
|
||||||
|
(replace 'install (install-jars "targets/dist")))))
|
||||||
|
(inputs
|
||||||
|
`(("java-cisd-base" ,java-cisd-base)))
|
||||||
|
(native-inputs
|
||||||
|
`(("ecj" ,java-ecj-3.5)
|
||||||
|
("build-resources"
|
||||||
|
,(origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"args4j/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version
|
||||||
|
"/build_resources/"))
|
||||||
|
(revision revision)))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"056cam4k8pll7ass31sy6gwn8g8719njc41yf4l02b0342nilkyf"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
;; Delete bundled pre-built jars.
|
||||||
|
(snippet
|
||||||
|
'(begin (delete-file-recursively "lib/") #t))))))
|
||||||
|
(home-page "http://svnsis.ethz.ch")
|
||||||
|
(synopsis "Command line parser library")
|
||||||
|
(description "This package provides a parser for command line arguments.")
|
||||||
|
(license license:asl2.0))))
|
||||||
|
|
||||||
(define-public java-classpathx-servletapi
|
(define-public java-classpathx-servletapi
|
||||||
(package
|
(package
|
||||||
(name "java-classpathx-servletapi")
|
(name "java-classpathx-servletapi")
|
||||||
|
|
Loading…
Reference in New Issue