[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31284: [PATCH 0/1] guix: Add git-fetch/impure.
From: |
Mark H Weaver |
Subject: |
bug#31284: [PATCH 0/1] guix: Add git-fetch/impure. |
Date: |
Fri, 27 Apr 2018 17:37:34 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hi Chris,
Chris Marusich <address@hidden> 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