Hi Chris, Chris Marusich <cmmarus...@gmail.com> writes:
> Sometimes, a Git repository may only be available via an authenticated > SSH connection. Even in the case of repositories that only contain > free software, this situation can arise for administrative or > compliance-related reasons. How can one define a package in such a > situation? > > This patch adds a new origin method, git-fetch/impure, which solves > that problem. Specifically, git-fetch/impure creates a fixed-output > derivation that fetches the Git repository outside of a derivation, in > the environment of the invoking user. In particular, this enables SSH > to communicate with the user's SSH agent, which in turn allows Git to > fetch the repository over an authenticated SSH connection. I agree with David that I'd prefer not to have something like this in Guix. However, I can offer another method that I've sometimes used to build a package based on a git checkout that's not publicly available on the network. My hacky approach has been to manually add a tarball of the desired sources using "guix download file:///home/mhw/foo.tar.gz" and then to add a bogus origin but with the correct hash. If a file with a matching hash is already in the store, then it will be used, and the other fields of the 'origin' will effectively be ignored. Mark