Hey Simon, sure thing. 

I've attached "shaka.scm" here. I was able to build it separately (see "Howto supply cargo-build-system dependency to guix package definition"). That was using these commands. 

guix import crate -r rustscan
guix build -L ~/dotfiles/ rust-rustscan-2


A. I re-ran "guix build". Note that I definitely installed (and sourced) perl and python3. 
And updated my system with "guix pull && guix package -u". But now it's failing with the below. 

guix build -L ~/dotfiles/ rust-rustscan


substitute: updating substitutes from 'https://ci.guix.gnu.org'...   0.0%guix substitute: warning: ci.guix.gnu.org: connection failed: Connection timed out
substitute:
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
The following derivation will be built:
  /gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv
...
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
patch-shebang: ./fixtures/.rustscan_scripts/test_script.pl: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./fixtures/.rustscan_scripts/test_script.py: warning: no binary for interpreter `python3' found in $PATH

patch-shebang: ./fixtures/.rustscan_scripts/test_script.sh: changing `/bin/bash' to `/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `configure'
Unpacking rust-ansi-term
...
 error: failed to run custom build command for `ring v0.16.20`

Caused by:
  process didn't exit successfully: `/tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-9bf05aa562ef9c86/build-script-build` (exit status: 101)
  --- stderr
  running "perl" "crypto/fipsmodule/aes/asm/aesni-x86_64.pl" "elf" "/tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-297f46c71994a65c/out/aesni-x86_64-elf.S"
  thread 'main' panicked at 'failed to execute ["perl" "crypto/fipsmodule/aes/asm/aesni-x86_64.pl" "elf" "/tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-297f46c71994a65c/out/aesni-x86_64-elf.S"]: No such file or directory (os error 2)', /tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/guix-vendor/rust-ring-0.16.20.tar.xz/build.rs:653:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "cargo" arguments: ("build" "--release") exit-status: 101 term-signal: #f stop-signal: #f>

phase `build' failed after 12.2 seconds
command "cargo" "build" "--release" failed with status 101
builder for `/gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv' failed with exit code 1
build of /gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv failed
View build log at '/var/log/guix/drvs/x6/95f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv.gz'.
guix build: error: build of `/gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv' failed


B. The idea is to include that package as part of a larger profile that I can add to my base user profile. That's using the below. rust-rustscan is defined in "guix/packages/shaka.scm". 
And I get an error gain, when calling guix package

guix package -L ~/dotfiles/ -m ~/dotfiles/guix/packages/manifest.scm
The following packages will be installed:
   emacs              28.2
   gcc-toolchain      12.3.0
   git                2.40.1
   make               4.3
   rust-rustscan      2.1.1
   tree               2.1.0
   ungoogled-chromium 112.0.5615.165-1
   vim                9.0.1384

substitute: updating substitutes from 'https://ci.guix.gnu.org'...   0.0%guix substitute: warning: ci.guix.gnu.org: connection failed: Connection timed out
substitute:
The following derivations will be built:
  /gnu/store/v5f24ky0nw76yy24jx1ihggs6yffnvvb-profile.drv
  /gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv

...
cannot build derivation `/gnu/store/v5f24ky0nw76yy24jx1ihggs6yffnvvb-profile.drv': 1 dependencies couldn't be built
guix package: error: build of `/gnu/store/v5f24ky0nw76yy24jx1ihggs6yffnvvb-profile.drv' failed



Thanks
Tim


On Sun, 21 May 2023 at 12:46, Simon Tournier <zimon.toutoune@gmail.com> wrote:
Hi,

Please keep CC guix-devel.

On Sun, 21 May 2023 at 04:44, Timothy Washington <twashing@gmail.com> wrote:

> $ cat guix/packages/manifest.scm
> (define-module (guix packages manifest))
> (use-modules (gnu packages))

Well, I am not sure these two lines are required.

> building /gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv...
> \ 'build' phasebuilder for `/gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv' failed with exit code 1

It means your custom package rust-rustscan does not build.

Could you share your local file: ./guix/packages/shaka.scm containing
the definition of this custom package?


Cheers,
simon