Folaht's third attempt to build a package on Guix system - The one with a separate browser

Note: This is actually my first attempt, but since this one is difficult, I’m putting it on hold and wait until I have three other packages installed that I think are easier.


This package is called fetchit and it consists of two builds, a CLI and a browser, but I want to first start with the CLI and then maybe have the browser be put in another package or merge it in this one, depending on what is most suitable for guix.

Of course, I got some question on this package as well..

  1. I fixed two interpreter warnings of perl python3 missing in $Path by adding perl and python to native-inputs. What do I do withpython and -S interpreter warnings?

  2. I’ve got an error saying that fetchit-net requires ant-core. Is this a package nested inside fetchit ? How does one package nested packages?

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

(define-module (yrop packages fetchit)
  #:use-module (guix build-system cargo)
  #:use-module (guix git-download)
  #:use-module (guix gexp)
  #:use-module ((guix licenses)
                #:prefix license:)
  #:use-module (guix packages)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages python))

(define rust-adler2-2.0.1
  (crate-source "adler2" "2.0.1"
                "1ymy18s9hs7ya1pjc9864l30wk8p2qfqdi7mhhcc5nfakxbij09j"))

...
(define-public fetchit
  (package
    (name "fetchit")
    (version "0.2.8")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/etchit-io/fetchit")
             (commit (string-append "v" version))))
       (sha256
        (base32 "05jg3qhsqv5cadqw9hrj6fc23rz87015h157c0l7bgpiqgdr68p9"))))
    (build-system cargo-build-system)
    (native-inputs (list perl python))
    (inputs (list rust-adler2-2.0.1...))
    (synopsis "Autonomi network web downloader")
    (description "Core CLI for the read-only viewer for content stored on the Autonomi network. Paste a 64-hex address, see what is there — text, image, audio, video, PDF, archive, code with syntax highlighting, JSON, CSV, full HTML SPAs — without installing a wallet, signing a message, or running a node.")
    (home-page "https://etchit.io")
    (license license:agpl3)))

fetchit

This is where I’m currently stuck:

$ guix build -f package.scm
...
starting phase `patch-generated-file-shebangs'
patch-shebang: ./guix-vendor/rust-aws-lc-rs-1.17.1.tar.gz/util/process-criterion-csv.rs: warning: no binary for interpreter `-S' found in $PATH
patch-shebang: ./guix-vendor/rust-safe-arch-0.7.4.tar.gz/scripts/intel-helper.py: warning: no binary for interpreter `python' found in $PATH
patch-makefile-SHELL: ./guix-vendor/rust-bzip2-sys-0.1.13+1.0.8.tar.gz/bzip2-1.0.8/Makefile: changing `SHELL' from `/bin/sh' to `/gnu/store/y9wj7889n87i8pabsgqrrdsx2yip4kyn-bash-minimal-5.2.37/bin/sh'
patch-makefile-SHELL: ./guix-vendor/rust-r-efi-5.3.0.tar.gz/Makefile: changing `SHELL' from `/bin/bash' to `/gnu/store/y9wj7889n87i8pabsgqrrdsx2yip4kyn-bash-minimal-5.2.37/bin/bash'
patch-makefile-SHELL: ./guix-vendor/rust-r-efi-6.0.0.tar.gz/Makefile: changing `SHELL' from `/bin/bash' to `/gnu/store/y9wj7889n87i8pabsgqrrdsx2yip4kyn-bash-minimal-5.2.37/bin/bash'
phase `patch-generated-file-shebangs' succeeded after 1.4 seconds
starting phase `patch-cargo-checksums'
phase `patch-cargo-checksums' succeeded after 0.1 seconds
starting phase `build'
warning: `/tmp/guix-build-fetchit-0.2.8.drv-0/source/.cargo/config` is deprecated in favor of `config.toml`
  |
  = help: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
error: failed to get `ant-core` as a dependency of package `fetchit-net v0.2.0 (/tmp/guix-build-fetchit-0.2.8.drv-0/source/crates/fetchit-net)`

Caused by:
  failed to load source for dependency `ant-core`

Caused by:
  Unable to update 

Caused by:
  can't checkout from '': you are in the offline mode (--offline)
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "cargo" arguments: ("build" "--offline" "-j" "4" "--release") exit-status: 101 term-signal: #f stop-signal: #f> 
phase `build' failed after 0.4 seconds
command "cargo" "build" "--offline" "-j" "4" "--release" failed with status 101
build process 6 exited with status 256
builder for `/gnu/store/b1bi69p14qv17kdz99jyfi335xkz5z3z-fetchit-0.2.8.drv' failed with exit code 1
la compilation de /gnu/store/b1bi69p14qv17kdz99jyfi335xkz5z3z-fetchit-0.2.8.drv a échoué
Vous trouverez le journal de compilation dans « /var/log/guix/drvs/b1/bi69p14qv17kdz99jyfi335xkz5z3z-fetchit-0.2.8.drv.gz ».
guix build: erreur : build of `/gnu/store/b1bi69p14qv17kdz99jyfi335xkz5z3z-fetchit-0.2.8.drv' failed

First attempt package build answers moved to here.