Hello everyone, I try to define a Guix package for the JMRI application and I get an error during the build of the Guix package. But when I build manually this application from it's source code, it work.
JMRI is a Java application that use the Ant build system.
Here is how I defined the Guix package in a file named "train.scm":
(define-module (gnu packages train)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (gnu packages)
#:use-module (gnu packages version-control))
(define-public java-jmri
(package
(name "JMRI")
(version "5.12")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JMRI/JMRI")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0hd8sl81w1i2c1qhyz55bfdsjf1zbw0l6crg206ik7fv5qsnwsxp"))))
(build-system ant-build-system)
(arguments
(list #:build-target "package-linux"))
(native-inputs
(list git))
(home-page "https://www.jmri.org")
(synopsis "Set of community-developed tools for configuring and running
your model railroad")
(description
"...")
(license license:gpl2)))
java-jmri
When I try to install the package with this command:
guix package --install-from-file=train.scm
I get an error:
guix package: erreur : build of
`/gnu/store/5c4xjyi0jsdwbipz88gghb9ghvjsfgah-JMRI-5.12.drv' failed
The build log explain in more details what error I get:
starting phase `build'
Buildfile: /tmp/guix-build-JMRI-5.12.drv-0/source/build.xml
[exec] Result: 128
[echo] settings.dir assumed to be //.jmri
BUILD FAILED
/tmp/guix-build-JMRI-5.12.drv-0/source/build.xml:125: Directory /.jmri/lib
creation was not successful for an unknown reason
Total time: 0 seconds
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "ant" arguments: ("package-linux")
exit-status: 1 term-signal: #f stop-signal: #f>
phase `build' failed after 0.5 seconds
command "ant" "package-linux" failed with status 1
build process 10 exited with status 256
Apparently, Ant try to create a directory as "/.jmri/lib", which fail.
In the `build.yml` file, line 125, the directory is set as
"${settings.dir}/lib". And "settings.dir" is set as
"${user.home}/.jmri" (line 121).
When I manually build this application from its code sources, it end
successfully. In this case, I use this command:
ant package-linux
My hypothesis is when Guix run Ant, Ant cannot define "user.home".
Does someone had the same problem ?
Best regards
-------
Gendre Sébastien
signature.asc
Description: PGP signature
