Re: git-fetch recursive error

2023-10-04 Thread Simon Tournier
Hi,

Thanks for the report.

On Mon, 02 Oct 2023 at 14:17, Lucy Coleclough  wrote:

> I am writing to obtain help with an issue that has been occuring for about
> 4 days
> Upon building a custom package definition which uses the git-fetch source
> obtenance method and has the `recursive?` flag set to `#true` the fetch
> fails seemingly due to the build environment being unable to find certain
> program-s.

Sorry for the annoyance.

It is tracked by bug#66305:

bug#66305: Error with recursive git checkout
Guillaume Le Vaillant 
Mon, 02 Oct 2023 11:17:16 +
id:87msx1qmvs.fsf@kitej
https://issues.guix.gnu.org/66305
https://issues.guix.gnu.org/msgid/87msx1qmvs.fsf@kitej
https://yhetil.org/guix/87msx1qmvs.fsf@kitej

The root of the issue is:

bug#65924: git searches coreutils and util-linux commands in PATH
Maxim Cournoyer 
Wed, 13 Sep 2023 14:00:09 -0400
id:87fs3iuf6e@gmail.com
https://issues.guix.gnu.org//65924
https://issues.guix.gnu.org/msgid/87fs3iuf6e@gmail.com
https://yhetil.org/guix/87fs3iuf6e@gmail.com

which hits the series ba21eeb565..811b249397:

f651a35969 build: Add dependency on Git.

A patch is floating around and will be merged soon. :-)

Hope that helps,
simon



git-fetch recursive error

2023-10-04 Thread Lucy Coleclough
Hi there, my name is fi

I am writing to obtain help with an issue that has been occuring for about
4 days
Upon building a custom package definition which uses the git-fetch source
obtenance method and has the `recursive?` flag set to `#true` the fetch
fails seemingly due to the build environment being unable to find certain
program-s.

A file I have been using to test this is named `test.scm` and the content-s
are found here: https://paste.debian.net/1293802/ `test.scm`
Upon running this file with `guix build -L. test` on my current system, the
following output is produced: https://paste.debian.net/1293803/
`ErrorOutput`

Of note is that this test package did build on the installation system that
I use, before pulling the latest guix and after.
It also sucseeded on the target machine directly after install, it
sucseeded on the target machine after pulling the latest guix, then it
failed after reconfiguring my system using my custom config and ever since
my config is programmatically constructed but a flattened version is as
follows: https://paste.debian.net/1293805/ `FullFlatenedSystem.scm`
I have tried peeling my system definition back to a very bare one to see if
I can find a state where some problamatic element was removed but I had no
luck, all system generation-s posed the same issue
I also tried building these generation-s with solely the channel-s needed
to create them but this did not work
The most minimal system definition i used was this:
https://paste.debian.net/1293806/ `MinimalFlatenedSystem.scm`


The current item that this is blocking for me is packaging the latest glib
commit from main.
The submodule needs to be downloaded or else `meson setup` fails as there
is an empty wrap
I have tried invoking `program-file` in a gexp in a build stage and in the
fetch snippet but both attempt-s leave me unable to include `( guix gexp)`
I have tried including it in `origin`~s `modules` field, I have also tried
( `with-imported-modules` with and without `source-module-closure`) but to
no avail
When I conduct a local build of glib, `meson setup` fetches the submodule-s
then however this does not occur during the configure stage of my meson
build system package

I am unsure how to structure these request-s and I realise someone must
spend their time in order to answer this, I admit, i am flailing baby
Is the issue relating to git-fetch recursive a known issue, I have not seen
it on the issue tracker? but I want to check that I am not doing anything
wrong first
Is it true that one can not use arbitrary function-s in the origin snippet
and in the build stage-s?
Is it true that internet access during build is limited by default to the
fetch component?
And if so is there a method to allow internet access to other component-s?

Thank you for reading
( define-module
	( test)
	#:use-module ( gnu packages)
	#:use-module ( gnu packages shellutils)
	#:use-module ( gnu packages base)
	#:use-module ( guix packages)
	#:use-module ( guix build-system copy)
	#:use-module ( guix git-download)
	#:use-module ( guix gexp)
	#:use-module (
		( guix licenses)
		#:prefix license:
	)
)

( define-public
	test
	( let
		(
			( commit "16fec2068ec03bf2420188edd9840eaa241fbcf7")
		)
		( package
			( name "test")
			( version
"0.0"
			)
			( source
( origin
	( method git-fetch)
	( uri
		( git-reference
			( commit commit)
			( url "https://github.com/abcdw/rde;)
			( recursive? #t) ; naughty line
		)
	)
	; I have tried using import-s here and in the other input-s section but it does not work for mw
	; ( patch-inputs
	; 	( list
	; 		shell-functools
	; 		sed
	; 		coreutils
	; 	)
	; )
	( sha256
		( base32 "0x208rdyvxgww84j6cf4f02zy80ha22x066pfpl91zv8366id0lc")
	)
)
			)
			; ( inputs
			; 	( list
			; 		shell-functools
			; 		sed
			; 		coreutils
			; 	)
			; )
			( build-system copy-build-system)
			(arguments
(list
	#:install-plan `( list
		( list
			"doc"
			"/newDoccy"
		)
	)
)
			)
			( home-page "")
			( synopsis "")
			( description "")
			( license license:mpl2.0)
		)
	)
)


ErrorOutput
Description: Binary data
( define-module
	( GuixConfig variationAndSource system base)
	#:use-module ( gnu)
	; Apologies for the non free software but I can not use my hardware without it, and I can not buy new hardware either
	#:use-module ( nongnu packages linux)
	#:use-module ( nongnu system linux-initrd)
	#:use-module ( rosenthal packages wm) ; hyprland
	#:use-module ( nongnu packages mozilla) ; firefox
	;
	#:use-module ( gnu services desktop)
	#:use-module ( gnu services)
	#:use-module ( gnu system accounts)
	#:use-module ( gnu system shadow)
 	#:use-module ( gnu services shepherd)
	#:use-module ( gnu services base)
	#:use-module ( gnu services dbus)
	#:use-module ( gnu services avahi)
	#:use-module ( gnu services xorg)
	#:use-module ( gnu services networking)
	#:use-module ( gnu services sound)
	#:use-module (
		( gnu