Prefetch source code from github for nix build tool
Project description
This module implements a python function and a command line tool to help you fetch sources from github when using fetchFromGitHub.
This program can be distributed under the conditions of the GNU Public License Version 3. Check out LICENSE.txt to read the license text.
command line example
$ nix-prefetch-github seppeljordan nix-prefetch-github { "owner": "seppeljordan", "repo": "nix-prefetch-github", "rev": "856d511bd65dec00bfa2bee6b68b1479699def3d", "sha256": "ACSWdkcCCfptbkusYiPs5j651tC62JN+W4s5gdWhEdk=", "fetchSubmodules": false, "leaveDotGit": false, "deepClone": false }
available commands
nix-prefetch-github
This command downloads the code from a github repository and puts it into the local nix store. It also prints the function arguments to fetchFromGitHub to the standard output.
$ nix-prefetch-github --help usage: nix-prefetch-github [-h] [--fetch-submodules] [--no-fetch-submodules] [--leave-dot-git] [--no-leave-dot-git] [--deep-clone] [--no-deep-clone] [--verbose] [--nix] [--json] [--rev REV] [--version] owner repo positional arguments: owner repo optional arguments: -h, --help show this help message and exit --fetch-submodules --no-fetch-submodules --leave-dot-git --no-leave-dot-git --deep-clone --no-deep-clone --verbose, -v --nix --json --rev REV --version, -V
nix-prefetch-github-directory
This command examins the current working directory and tries to figure out if it is part of a git repository linked to github. If this was successful the program prefetches the currently checked out commit from the origin remote repository similar to the command nix-prefetch-github.
$ nix-prefetch-github-directory --help usage: nix-prefetch-github-directory [-h] [--fetch-submodules] [--no-fetch-submodules] [--leave-dot-git] [--no-leave-dot-git] [--deep-clone] [--no-deep-clone] [--verbose] [--nix] [--json] [--directory DIRECTORY] [--remote REMOTE] optional arguments: -h, --help show this help message and exit --fetch-submodules --no-fetch-submodules --leave-dot-git --no-leave-dot-git --deep-clone --no-deep-clone --verbose, -v --nix --json --directory DIRECTORY --remote REMOTE
nix-prefetch-github-latest-release
This command fetches the code for the latest release of the specified repository.
$ nix-prefetch-github-latest-release --help usage: nix-prefetch-github [-h] [--fetch-submodules] [--no-fetch-submodules] [--leave-dot-git] [--no-leave-dot-git] [--deep-clone] [--no-deep-clone] [--verbose] [--nix] [--json] [--version] owner repo positional arguments: owner repo optional arguments: -h, --help show this help message and exit --fetch-submodules --no-fetch-submodules --leave-dot-git --no-leave-dot-git --deep-clone --no-deep-clone --verbose, -v --nix --json --version, -V
development environment
Use nix develop with flake support enabled. Development without nix flake support is not officially supported. Run the provided tests via python -m unittest discover. You can control what kind of tests are run via the variable DISABLED_TESTS:
# Only run tests that don't hit network and don't use nix DISABLED_TESTS="network requires_nix_build" python -m unittest discover
Currently network and requires_nix_build are the only values that make sense with this environment variable.
changes
v5.1.0
Use nix-prefetch-git and nix-prefetch-url for calculating sha256 sums when possible. The application will fall back to the old method when nix-prefetch-* are not available.
v5.0.1
Fix breaking bug in hash generation
v5.0.0
Remove all dependencies to other python packages other than “core” ones
Allow users to control debugging output via the --verbosity cli option
All commands now understand --fetch-submodules and --no-fetch-submodules options
Commands now understand --leave-dot-git and --no-leave-dot-git options
Commands now understand --deep-clone and --no-deep-clone
v4.0.4
Print standard error output of subprocesses for better debugging
v4.0.3
Generated hashes now don’t have a “sha256-” prefix
jinja2 is no longer a dependency of nix-prefetch-github
v4.0.2
packaging release, no bugfixes or features
v4.0.1
Fix issue #38
v4.0
Make fetching submodules the default in calls to python routines. The CLI should be uneffected by this change.
Remove default values for fetch_submodules in all internal classes.
Implement nix-prefetch-github-latest-release command
v3.0
major changes to the internal module structure
introduction of the nix-prefetch-github-directory command
code repository now functions as a nix flake
v2.4
added --fetch-submodules flag
Fixed incompability with nix 2.4
v2.3.2
fix issues #21, #22
nix-prefetch-github now accepts full ref names, e.g. refs/heads/master which was broken since 2.3 (#23)
v2.3.1
Fix bug in generated nix expression
Fix bug that prevented targeting tags with prefetch command
Improve error message format in case revision is not found
v2.3
Remove dependency to requests
Default to master branch instead of first branch in list
v2.2
Add --version flag
Fix bug in output formatting
v2.1
Fix bug (#4) that made nix-prefetch-github incompatible with nix 2.2.
v2.0
The result of nix_pretch_github and its corresponding command line tool now contains always the actual commit hash as detected by the tool instead of the branch or tag name.
Add a new flag --nix that makes the command line tool output a valid nix expression
Removed the --hash-only and --no-hash-only flags and changed add --prefetch and --no-prefetch flags to replace them.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file nix-prefetch-github-5.1.0.tar.gz
.
File metadata
- Download URL: nix-prefetch-github-5.1.0.tar.gz
- Upload date:
- Size: 36.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30a85f15d5e59954f82e5ae9aa2928c6ba39ec421016a3c12fd6fea59db8d7ad |
|
MD5 | acb9a49b05757f71efe557ea2c7c95ff |
|
BLAKE2b-256 | 6922b49dd077260fbc6a93c81a5352d26949ac01fc9380ff0ed5d9c750e1fbd1 |