[Nix#8993] flake inputs percent-encode URLs where fetchurl and co do not, making some URLs impossible to express in flake inputs #113
Labels
No labels
Area/build-packaging
Area/cli
Area/evaluator
Area/fetching
Area/flakes
Area/language
Area/profiles
Area/protocol
Area/releng
Area/remote-builds
Area/repl
Area/store
bug
crash 💥
Cross Compilation
devx
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
imported
Needs Langver
OS/Linux
OS/macOS
performance
regression
release-blocker
RFD
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
testing/flakey
ux
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lix-project/lix#113
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream-Issue: NixOS/nix#8993
Describe the bug
Flake input URLs unconditionally percent-encode their input URLs in ways that
fetchurl
and co do not, which makes some URLs impossible to express in flake inputs.Steps To Reproduce
Take the following
flake.nix
:Running
nix build
for this flake produces an error as expected, but in the error we can see the following line:(Notice that the plus sign has been replaced with
%2B
).If we change the flake to this:
The equivalent error is instead:
(Notice that the plus sign has been preserved).
Expected behavior
URL encoding is certainly useful, and RFC 3986 does indicate that
+
is not a valid URL character, but I ran into this issue while attempting to package software that nonetheless uses a+
in its source URL, and 404s with the URL-encoded equivalent. Perhaps there could be an attribute on flake inputs to disable URL encoding?Priorities
Add 👍 to issues you find important.