about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nix-prefetch-url/nix-prefetch-url.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/nix-prefetch-url/nix-prefetch-url.cc b/src/nix-prefetch-url/nix-prefetch-url.cc
index a3932d6bed55..0a8166da4aa1 100644
--- a/src/nix-prefetch-url/nix-prefetch-url.cc
+++ b/src/nix-prefetch-url/nix-prefetch-url.cc
@@ -75,6 +75,8 @@ int main(int argc, char * * argv)
             }
             else if (*arg == "--unpack")
                 unpack = true;
+            else if (*arg == "--name")
+                name = getArg(*arg, arg, end);
             else if (parseAutoArgs(arg, end, autoArgs_))
                 ;
             else if (parseSearchPathArg(arg, end, searchPath))
@@ -125,9 +127,11 @@ int main(int argc, char * * argv)
                 unpack = state.forceString(*attr->value) == "recursive";
 
             /* Extract the name. */
-            attr = v.attrs->find(state.symbols.create("name"));
-            if (attr != v.attrs->end())
-                name = state.forceString(*attr->value);
+            if (name.empty()) {
+                attr = v.attrs->find(state.symbols.create("name"));
+                if (attr != v.attrs->end())
+                    name = state.forceString(*attr->value);
+            }
         }
 
         /* Figure out a name in the Nix store. */