Ricardo Wurmus <rekado@elephly.net> writes:
Toggle quote (3 lines)
> The files dismo.jar and maxent.jar in the r-dismo package don’t have any
> associated source code and are not built from source.
The source code for maxent.jar is here:
Here’s a draft of a package definition:
Toggle snippet (59 lines)
(define-public java-maxent
(package
(name "java-maxent")
(version "3.4.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mrmaxent/Maxent")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"12q7hhly76l77vm8w8v9icga2gn6xs0bw33a7wb7zikcmvizcyp0"))))
(build-system ant-build-system)
(arguments
(list
#:tests? #false ;there are none
#:jdk icedtea-8
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda _
(with-directory-excursion "gnu/getopt/"
(invoke "make"))
;; See https://github.com/mrmaxent/Maxent/pull/11
(substitute* "density/Extractor.java"
(("float") "double"))
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "density" "\\.java$"))
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "ptolemy/plot" "\\.java$"))
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "com" "\\.java$"))
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "gui" "\\.java$"))
(apply invoke "jar" "cvfm" "maxent.jar"
(cons* "density/mc.mf"
"density/parameters.csv"
(append (find-files "density" "\\.class$")
(find-files "density" "\\.html$")
(find-files "gnu/getopt" ".*")
(find-files "gui/layouts" "\\.class$*")
(find-files "com/macfaq/io" "\\.class$*")
(find-files "density/tools" "\\.class$*")
(find-files "ptolemy/plot" "\\.class$*"))))))
(replace 'install
(lambda _
(install-file "maxent.jar"
(string-append #$output "/share/java/maxent/")))))))
(native-inputs
(list gnu-make))
(home-page "http://biodiversityinformatics.amnh.org/open_source/maxent")
(synopsis "Model species geographic distributions")
(description
"Maxent is a stand-alone Java application for modelling species
geographic distributions.")
(license license:expat)))
The sources in ptolemy/plot cannot be built yet, because we’re missing a
We cannot use the Makefile to “make compile” or “make distribution”
because it starts by building ParamPre.java, which can only be built
when Parameters.java has been compiled. So perhaps there’s a need for
bootstrapping. In the above package definition we’re using some .java
files that have been generated through unknown means.
The very small sources for dismo.jar are actually included in the dismo
package itself, they just have unexpected names.
--
Ricardo