Folaht’s second attempt to build a package on Guix system - The one with two crates

Note: I’m doing a lot of reshuffling with my threads. This one was at one point my third attempt to build a package (ant-core), now it’s the second (ant-client). This is because I did not understand yet which package should build what and where I should have started.


This will be my attempt to create the ant package, a decentralized
network application built on nodes that receive cryptocoins for the data
they host, so very similar to filecoins, but this one tries to be more
advanced, more decentralized and more libre.

For my second package I ran into these questions..

  1. At some point I would want to use the package available from my channel. So how do I clean up locally built packages?
  2. The built app is expecting a build.xml and tools.jar to be present in OpenJDK 25.0.2 somehow. Where to even begin with that?

package.scm

;;; 2026 Yrop <folaht@protonmail.com>

(define-module (yrop packages ant node)
  #:use-module (guix build-system cargo)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module ((guix licenses)
                #:prefix license:)
  #:use-module (guix packages)
  #:use-module (gnu packages java))

(define rust-addr2line-0.25.1
  (crate-source "addr2line" "0.25.1"
                "0jwb96gv17vdr29hbzi0ha5q6jkpgjyn7rjlg5nis65k41rk0p8v"))
...
(define-public ant-client
  (package
    (name "ant-client")
    (version "0.2.10")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/WithAutonomi/ant-client")
             (commit (string-append name "-v" version))))
       (sha256
        (base32 "016qbrhhrbqxla1r5wcmik01kcn3r8dami7prm4pzxj3ilnynba5"))))
    (build-system cargo-build-system)
    (inputs (list rust-addr2line-0.25.1
 ...))
    (native-inputs perl)
(synopsis "Autonomi Network Client")
    (description
     "A unified CLI and Rust library for storing data on the Autonomi decentralized network and managing Autonomi nodes")
    (home-page "https://aunotomi.com")
    (license (list license:asl2.0 license:expat))))

ant

But I’m stuck with this error:

$ guix build -f ./package.scm
...
/gnu/store/w29a52j2gfw61ivxgzknax6pn21gyfdw-ant-1.9.15
$ /gnu/store/w29a52j2gfw61ivxgzknax6pn21gyfdw-ant-1.9.15/bin/ant
Unable to locate tools.jar. Expected to find it in /gnu/store/g6jx1ywxp8vz69gh0932n0sibrz858js-openjdk-25.0.2/lib/tools.jarBuildfile: build.xml does not exist!
Build failed

Sometimes the information in there can help.

zless /var/log/guix/drvs/cd/3z8v46xqssi5z4fh7hy6z09wld6jpl-ant-core-0.3.0.drv.gz