Compare commits

...

11 commits

Author SHA1 Message Date
Ghost 8be7956fc0 fetchFromGitLab: force re-fetch when rev changes (#14)
There are a few instances of `fetchFromGitLab` in the repo, for instance `gtk-doc.src`.

My primary goal when writing this was changing the output derivation following #11. This is doable with a lot less diff in `fetchFromGitLab`, but it's worth asking whether both fetchers should be different and why. I think a lot of the divergence comes from years of random commits rather than from design.

Reviewed-by: @isabelroses

Co-authored-by: Julie B. <no-reply@bbjubjub.fr>
Reviewed-on: auxolotl/core#14
Co-authored-by: Ghost <>
Co-committed-by: Ghost <>
2024-07-01 16:24:13 +00:00
isabel roses c13b60bc67 docs: Add maintainer list
We should reflect that we are now on Forgejo and have a different
process to the Nixos organization for adding maintainers.

Reviewed-on: auxolotl/core#17
Reviewed-by: Coded <me@thecoded.prof>
Co-authored-by: isabel <isabel@isabelroses.com>
Co-committed-by: isabel <isabel@isabelroses.com>
2024-07-01 16:09:04 +00:00
Julie Tyché Bettens 9ed579059e fetchFromSavannah: force re-fetch when rev changes 2024-05-22 23:01:26 +10:00
Julie Tyché Bettens 7ec6274c37 fetchFromGitHub: use instance URL in name 2024-05-21 11:15:52 +05:30
Yueh-Shun Li d60eb7471e fetchgit: takes passthru argument 2024-05-21 11:15:52 +05:30
Yueh-Shun Li ef1e2ef8c2 fetchFromGitHub: take passthru and enhance overriding
Take optional argument `passthru` for custom passthru attribute set.

Update the `meta` attribute via `<pkg>.overrideAttrs` instead of
attribute set update (`//`).

Attach attributes `owner`, `repo` and `rev` via `passthru` instead of
attribute set update.
2024-05-21 11:15:52 +05:30
Yueh-Shun Li ff4126b6ba fetchFromGitHub: force re-fetch when rev changes
Prefix the default value of `name` with `rev` to force re-fetch
everytime `rev` changes.
2024-05-21 11:15:52 +05:30
Victor Fuentes be166796d2
Merge pull request #13 from bbjubjub2494/drop-AAAAAASomeThingsFailToEvaluate
AAAAAASomeThingsFailToEvaluate: drop
2024-05-19 12:11:38 -04:00
Julie Tyché Bettens 2da6177b87 AAAAAASomeThingsFailToEvaluate: drop 2024-05-18 14:04:34 +02:00
isabel roses f760a7e9bf
Merge pull request #12 from bbjubjub2494/fix-hash 2024-05-18 09:30:24 +01:00
Julie Tyché Bettens 9f588014cb python3Packages.build: 1.1.1 -> 1.2.1 2024-05-18 10:26:45 +02:00
7 changed files with 62 additions and 72 deletions

View file

@ -1,68 +1,52 @@
/* List of NixOS maintainers. /*
```nix List of Aux maintainers.
handle = { ```nix
# Required handle = {
name = "Your name"; # Required
name = "Your name";
forgejo = "forgejoUsername";
forgejoId = your-forgejo-id;
# Optional, but at least one of email, matrix or githubId must be given # Optional, but at least one of email or matrix must be given
email = "address@example.org"; email = "address@example.org";
matrix = "@user:example.org"; matrix = "@user:example.org";
github = "GithubUsername";
githubId = your-github-id;
keys = [{ keys = [{
fingerprint = "AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333"; fingerprint = "AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333";
}]; }];
}; };
``` ```
where where
- `handle` is the handle you are going to use in nixpkgs expressions, - `handle` is the handle you are going to use in nixpkgs expressions,
- `name` is a name that people would know and recognize you by, - `name` is a name that people would know and recognize you by,
- `email` is your maintainer email address, - `email` is your maintainer email address,
- `matrix` is your Matrix user ID, - `matrix` is your Matrix user ID,
- `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`), - `forgejo` is your forgejo handle (as it appears in the URL of your profile page, `https://git.auxolotl.org/<userhandle>`),
- `githubId` is your GitHub user ID, which can be found at `https://api.github.com/users/<userhandle>`, - `forgejoId` is your forgejo user ID, which can be found at `https://git.auxolotl.org/api/v1/users/<username>`,
- `keys` is a list of your PGP/GPG key fingerprints. - `keys` is a list of your PGP/GPG key fingerprints.
Specifying a GitHub account ensures that you automatically: `handle == forgejo` is strongly preferred whenever `forgejo` is an acceptable attribute name and is short and convenient.
- get invited to the @NixOS/nixpkgs-maintainers team ;
- once you are part of the @NixOS org, OfBorg will request you review
pull requests that modify a package for which you are a maintainer.
`handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient. If `forgejo` begins with a numeral, `handle` should be prefixed with an underscore.
```nix
_1example = {
forgejo = "1example";
};
```
If `github` begins with a numeral, `handle` should be prefixed with an underscore. Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
```nix
_1example = {
github = "1example";
};
```
Add PGP/GPG keys only if you actually use them to sign commits and/or mail. To get the required PGP/GPG values for a key run
```shell
gpg --fingerprint <email> | head -n 2
```
To get the required PGP/GPG values for a key run !!! Note that PGP/GPG values stored here are for informational purposes only, don't use this file as a source of truth.
```shell
gpg --fingerprint <email> | head -n 2
```
!!! Note that PGP/GPG values stored here are for informational purposes only, don't use this file as a source of truth. More fields may be added in the future, however, in order to comply with GDPR this file should stay as minimal as possible.
More fields may be added in the future, however, in order to comply with GDPR this file should stay as minimal as possible. When editing this file, please ensure that you have added yourself in alphabetical order of your handle.
When editing this file:
* keep the list alphabetically sorted, check with:
nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix
* test the validity of the format with:
nix-build lib/tests/maintainers.nix
See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
When adding a new maintainer, be aware of the current commit conventions
documented at [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#commit-conventions)
file located in the root of the Nixpkgs repo.
*/ */
{ { }
}

View file

@ -27,6 +27,7 @@ lib.makeOverridable (
, # Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes) , # Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes)
# needed for netrcPhase # needed for netrcPhase
netrcImpureEnvVars ? [] netrcImpureEnvVars ? []
, passthru ? {}
, meta ? {} , meta ? {}
, allowedRequisites ? null , allowedRequisites ? null
}: }:
@ -103,7 +104,7 @@ stdenvNoCC.mkDerivation {
inherit preferLocalBuild meta allowedRequisites; inherit preferLocalBuild meta allowedRequisites;
passthru = { passthru = passthru // {
gitRepoUrl = url; gitRepoUrl = url;
}; };
} }

View file

@ -1,22 +1,30 @@
{ lib, fetchgit, fetchzip }: { lib, fetchgit, fetchzip }:
lib.makeOverridable ( lib.makeOverridable (
{ owner, repo, rev, name ? "source" { owner, repo, rev
, name ? null # Override with null to use the default value
, pname ? "source-${githubBase}-${owner}-${repo}"
, fetchSubmodules ? false, leaveDotGit ? null , fetchSubmodules ? false, leaveDotGit ? null
, deepClone ? false, private ? false, forceFetchGit ? false , deepClone ? false, private ? false, forceFetchGit ? false
, sparseCheckout ? [] , sparseCheckout ? []
, githubBase ? "github.com", varPrefix ? null , githubBase ? "github.com", varPrefix ? null
, passthru ? { }
, meta ? { } , meta ? { }
, ... # For hash agility , ... # For hash agility
}@args: }@args:
let let
name = if args.name or null != null then args.name
else "${pname}-${rev}";
position = (if args.meta.description or null != null position = (if args.meta.description or null != null
then builtins.unsafeGetAttrPos "description" args.meta then builtins.unsafeGetAttrPos "description" args.meta
else builtins.unsafeGetAttrPos "rev" args else builtins.unsafeGetAttrPos "rev" args
); );
baseUrl = "https://${githubBase}/${owner}/${repo}"; baseUrl = "https://${githubBase}/${owner}/${repo}";
newPassthru = passthru // {
inherit rev owner repo;
};
newMeta = meta // { newMeta = meta // {
homepage = meta.homepage or baseUrl; homepage = meta.homepage or baseUrl;
} // lib.optionalAttrs (position != null) { } // lib.optionalAttrs (position != null) {
@ -53,16 +61,19 @@ let
fetcherArgs = (if useFetchGit fetcherArgs = (if useFetchGit
then { then {
inherit rev deepClone fetchSubmodules sparseCheckout; url = gitRepoUrl; inherit rev deepClone fetchSubmodules sparseCheckout; url = gitRepoUrl;
passthru = newPassthru;
} // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; } } // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
else { else {
url = "${baseUrl}/archive/${rev}.tar.gz"; url = "${baseUrl}/archive/${rev}.tar.gz";
passthru = { passthru = newPassthru // {
inherit gitRepoUrl; inherit gitRepoUrl;
}; };
} }
) // privateAttrs // passthruAttrs // { inherit name; }; ) // privateAttrs // passthruAttrs // { inherit name; };
in in
fetcher fetcherArgs // { meta = newMeta; inherit rev owner repo; } (fetcher fetcherArgs).overrideAttrs (finalAttrs: previousAttrs: {
meta = newMeta;
})
) )

View file

@ -2,7 +2,9 @@
lib.makeOverridable ( lib.makeOverridable (
# gitlab example # gitlab example
{ owner, repo, rev, protocol ? "https", domain ? "gitlab.com", name ? "source", group ? null { owner, repo, rev, protocol ? "https", domain ? "gitlab.com", group ? null
, pname ? lib.concatStringsSep "-" ([ "source" domain ] ++ (lib.optional (group != null) group) ++ [ owner repo ])
, name ? "${pname}-${rev}"
, fetchSubmodules ? false, leaveDotGit ? false , fetchSubmodules ? false, leaveDotGit ? false
, deepClone ? false, forceFetchGit ? false , deepClone ? false, forceFetchGit ? false
, sparseCheckout ? [] , sparseCheckout ? []

View file

@ -2,7 +2,7 @@
lib.makeOverridable ( lib.makeOverridable (
# cgit example, snapshot support is optional in cgit # cgit example, snapshot support is optional in cgit
{ repo, rev, name ? "source" { repo, rev, name ? "source-savannah.gnu.org-${repo}-${rev}"
, ... # For hash agility , ... # For hash agility
}@args: fetchzip ({ }@args: fetchzip ({
inherit name; inherit name;

View file

@ -19,7 +19,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "build"; pname = "build";
version = "1.1.1"; version = "1.2.1";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "pypa"; owner = "pypa";
repo = "build"; repo = "build";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-SGWpm+AGIfqKMpDfmz2aMYmcs+XVREbHIXSuU4R7U/k="; hash = "sha256-G0g+1v19sQMUuQlZKGELZOwwX07i7TIdEdaYzr8bKtI=";
}; };
postPatch = '' postPatch = ''

View file

@ -104,14 +104,6 @@ with pkgs;
stringsWithDeps = lib.stringsWithDeps; stringsWithDeps = lib.stringsWithDeps;
### Evaluating the entire Nixpkgs naively will fail, make failure fast
AAAAAASomeThingsFailToEvaluate = throw ''
Please be informed that this pseudo-package is not the only part
of Nixpkgs that fails to evaluate. You should not evaluate
entire Nixpkgs without some special measures to handle failing
packages, like using pkgs/top-level/release-attrpaths-superset.nix.
'';
tests = callPackages ../test { }; tests = callPackages ../test { };
# These are used when buiding compiler-rt / libgcc, prior to building libc. # These are used when buiding compiler-rt / libgcc, prior to building libc.