summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEvgeny Egorochkin <phreedom.stdin@gmail.com>2011-01-02 23:23:59 +0000
committerEvgeny Egorochkin <phreedom.stdin@gmail.com>2011-01-02 23:23:59 +0000
commitbbedfb4a5e2a1d3d8283d22203d9820b748b28c2 (patch)
tree9123c9e335d928116f682c3c1764b63de142fbec /pkgs
parent8af7cabe215fcaa803b3866e3301528d07c69149 (diff)
downloadnixlib-bbedfb4a5e2a1d3d8283d22203d9820b748b28c2.tar
nixlib-bbedfb4a5e2a1d3d8283d22203d9820b748b28c2.tar.gz
nixlib-bbedfb4a5e2a1d3d8283d22203d9820b748b28c2.tar.bz2
nixlib-bbedfb4a5e2a1d3d8283d22203d9820b748b28c2.tar.lz
nixlib-bbedfb4a5e2a1d3d8283d22203d9820b748b28c2.tar.xz
nixlib-bbedfb4a5e2a1d3d8283d22203d9820b748b28c2.tar.zst
nixlib-bbedfb4a5e2a1d3d8283d22203d9820b748b28c2.zip
Live builds support: initially for git and svn. taglib_live is packaged as an example.
svn path=/nixpkgs/trunk/; revision=25351
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/fetchgitrevision/default.nix10
-rw-r--r--pkgs/build-support/fetchsvnrevision/default.nix10
-rw-r--r--pkgs/development/libraries/taglib/live.nix (renamed from pkgs/development/libraries/taglib/1.7.nix)20
-rw-r--r--pkgs/top-level/all-packages.nix6
4 files changed, 37 insertions, 9 deletions
diff --git a/pkgs/build-support/fetchgitrevision/default.nix b/pkgs/build-support/fetchgitrevision/default.nix
new file mode 100644
index 000000000000..d1e96f4bee5b
--- /dev/null
+++ b/pkgs/build-support/fetchgitrevision/default.nix
@@ -0,0 +1,10 @@
+runCommand: git: repository: branch:
+  import (runCommand "head-revision"
+    { buildInputs = [ git ];
+      dummy = builtins.currentTime;
+    }
+    ''
+      rev=$(git ls-remote ${repository} | grep "refs/${branch}$" | awk '{ print $1 }')
+      echo "[ \"$rev\" ]" > $out
+      echo Latest revision in ${branch} is $rev
+    '');
diff --git a/pkgs/build-support/fetchsvnrevision/default.nix b/pkgs/build-support/fetchsvnrevision/default.nix
new file mode 100644
index 000000000000..288451a225c7
--- /dev/null
+++ b/pkgs/build-support/fetchsvnrevision/default.nix
@@ -0,0 +1,10 @@
+runCommand: subversion: repository:
+  import (runCommand "head-revision"
+    { buildInputs = [ subversion ];
+      dummy = builtins.currentTime;
+    }
+    ''
+      rev=$(echo p | svn ls -v --depth empty  ${repository} |awk '{ print $1 }')
+      echo "[ \"$rev\" ]" > $out
+      echo Latest revision is $rev
+    '')
\ No newline at end of file
diff --git a/pkgs/development/libraries/taglib/1.7.nix b/pkgs/development/libraries/taglib/live.nix
index 1e8cfb564e99..35af2ff51958 100644
--- a/pkgs/development/libraries/taglib/1.7.nix
+++ b/pkgs/development/libraries/taglib/live.nix
@@ -1,13 +1,17 @@
-{stdenv, fetchsvn, zlib, cmake}:
+{stdenv, fetchsvn, fetchsvnrevision, zlib, cmake
+, repository ? "svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib"
+, rev ? fetchsvnrevision repository
+, src ? fetchsvn {
+    url = repository;
+    rev = rev;
+  }
+}:
 
 stdenv.mkDerivation {
-  name = "taglib-1.7a";
-  
-  src = fetchsvn {
-    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib;
-    rev = 1145554;
-  };
-  
+  name = "taglib-live";
+
+  inherit src;
+
   cmakeFlags = [ "-DWITH-ASF=ON" "-DWITH-MP4=ON" ];
 
   buildInputs = [ zlib cmake ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 92b399ab5f22..df7ff332412d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -263,6 +263,8 @@ let
     inherit stdenv git;
   };
 
+  fetchgitrevision = import ../build-support/fetchgitrevision runCommand git;
+
   fetchmtn = import ../build-support/fetchmtn {
     inherit monotone stdenv;
     cacheDB = getConfig ["fetchmtn" "cacheDB"] "";
@@ -273,6 +275,8 @@ let
     inherit stdenv subversion openssh;
     sshSupport = true;
   };
+  
+  fetchsvnrevision = import ../build-support/fetchsvnrevision runCommand subversion;
 
   fetchsvnssh = import ../build-support/fetchsvnssh {
     inherit stdenv subversion openssh expect;
@@ -4036,7 +4040,7 @@ let
 
   taglib = callPackage ../development/libraries/taglib { };
 
-  taglib17 = callPackage ../development/libraries/taglib/1.7.nix { };
+  taglib_live = callPackage ../development/libraries/taglib/live.nix { };
 
   taglib_extras = callPackage ../development/libraries/taglib-extras { };