fetchFromGitLab: Fix grouping issue for group arg

Issue introduced by c3612b97e625ad0d70c6ba56d191bcb9a403f44c.

Example output before that commit (witch a random package using
fetchFromGitLab):

$ nix-instantiate --eval -A hiawatha.src.urls
[ "https://gitlab.com/api/v4/projects/hsleisink%2Fhiawatha/repository/archive.tar.gz?sha=v10.8.1" ]

After the commit:

$ nix-instantiate --eval -A hiawatha.src.urls
[ "https://gitlab.com/api/v4/projects/%2Fhsleisink%2Fhiawatha/repository/archive.tar.gz?sha=v10.8.1" ]

And with this very commit, which fixes the issue:

$ nix-instantiate --eval -A hiawatha.src.urls
[ "https://gitlab.com/api/v4/projects/hsleisink%2Fhiawatha/repository/archive.tar.gz?sha=v10.8.1" ]

The problem was that it has used optionalString in conjunction with "+",
so the optionalString only applied to the left-hand side of the +
operator.

Thanks to @ryantm for reporting the issue at:

c3612b97e6 (r220576764)

Signed-off-by: aszlig <aszlig@nix.build>
Reported-by: Ryan Mulligan <ryan@ryantm.com>
This commit is contained in:
aszlig 2018-09-26 16:15:50 +02:00
parent ca3231a9f3
commit 593062ddc2
No known key found for this signature in database
GPG Key ID: 684089CE67EBB691

View File

@ -292,8 +292,8 @@ with pkgs;
... # For hash agility
}@args: fetchzip ({
inherit name;
url = "https://${domain}/api/v4/projects/${lib.optionalString (group != null) group+"%2F"}${owner}%2F${repo}/repository/archive.tar.gz?sha=${rev}";
meta.homepage = "https://${domain}/${lib.optionalString (group != null) group+"/"}${owner}/${repo}/";
url = "https://${domain}/api/v4/projects/${lib.optionalString (group != null) "${group}%2F"}${owner}%2F${repo}/repository/archive.tar.gz?sha=${rev}";
meta.homepage = "https://${domain}/${lib.optionalString (group != null) "${group}/"}${owner}/${repo}/";
} // removeAttrs args [ "domain" "owner" "group" "repo" "rev" ]) // { inherit rev; };
# gitweb example, snapshot support is optional in gitweb