about summary refs log tree commit diff
path: root/src/libexpr/download.cc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-05-06T12·54+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-05-06T12·54+0200
commit6519f06f397448c3f1677e87e385012e2507164b (patch)
treed09ef46afe5e8a60b84def346a14b696ecdf1a3d /src/libexpr/download.cc
parent0705d04dfab60b0c98fbd170b9cc3fcd073918bb (diff)
nix-env/nix-instantiate/nix-build: Support URIs
For instance, you can install Firefox from a specific Nixpkgs revision
like this:

  $ nix-env -f https://github.com/NixOS/nixpkgs/archive/63def04891a0abc328b1b0b3a78ec02c58f48583.tar.gz -iA firefox

Or build a package from the latest nixpkgs-unstable channel:

  $ nix-build https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz -A hello
Diffstat (limited to 'src/libexpr/download.cc')
-rw-r--r--src/libexpr/download.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libexpr/download.cc b/src/libexpr/download.cc
index e3c6c505c543..18ab6fbcda73 100644
--- a/src/libexpr/download.cc
+++ b/src/libexpr/download.cc
@@ -223,4 +223,13 @@ Path downloadFileCached(const string & url, bool unpack)
 }
 
 
+bool isUri(const string & s)
+{
+    size_t pos = s.find("://");
+    if (pos == string::npos) return false;
+    string scheme(s, 0, pos);
+    return scheme == "http" || scheme == "https";
+}
+
+
 }