I there is a small patch that add two things:
- fetchgit
- swi-prolog

fetchgit is an inefficient method to fetch a repository by downloading
the git repository and getting the specific commit.

This inefficient way have been tried with swi-prolog which is an
interpreter/compiler of prolog code.

-- 
Nicolas Pierron
From: Nicolas Pierron <[EMAIL PROTECTED]>
To: nix-devcs.uu.nl
Subject: r???: Add a Swi-Prolog. (with fetchgit)

  URL: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk

ChangeLog:
2007-12-18  Nicolas Pierron  <[EMAIL PROTECTED]>

        Add a Swi-Prolog. (with fetchgit)
        * pkgs/build-support/fetchgit/builder.sh: New,
        * pkgs/build-support/fetchgit/default.nix: New,
        * pkgs/build-support/fetchgit: New. This is not an efficient
          method to fetch the content of an object from a git
          repository.

        * pkgs/development/compilers/swi-prolog/default.nix: New,
        * pkgs/development/compilers/swi-prolog/swi-prolog-5.6.48.nix: New,
        * pkgs/development/compilers/swi-prolog: New. A prolog
          interpreter/compiler.

        * pkgs/top-level/all-packages.nix: Add fetchgit and swiProlog.

diffstat not available

Index: pkgs/development/compilers/swi-prolog/swi-prolog-5.6.48.nix
===================================================================
--- pkgs/development/compilers/swi-prolog/swi-prolog-5.6.48.nix (revision 0)
+++ pkgs/development/compilers/swi-prolog/swi-prolog-5.6.48.nix (revision 0)
@@ -0,0 +1,10 @@
+{stdenv, fetchgit}:
+
+stdenv.mkDerivation {
+  name = "swi-prolog-5.6.48";
+
+  src = fetchgit {
+    url = git://gollem.science.uva.nl/home/git/pl.git;
+    commit = "96414df9b";
+  };
+}
Index: pkgs/development/compilers/swi-prolog/default.nix
===================================================================
--- pkgs/development/compilers/swi-prolog/default.nix   (revision 0)
+++ pkgs/development/compilers/swi-prolog/default.nix   (revision 0)
@@ -0,0 +1 @@
+import ./swi-prolog-5.6.48.nix
Index: pkgs/top-level/all-packages.nix
===================================================================
--- pkgs/top-level/all-packages.nix     (revision 9943)
+++ pkgs/top-level/all-packages.nix     (working copy)
@@ -270,6 +270,10 @@
     inherit stdenv darcs nix;
   };
 
+  fetchgit = import ../build-support/fetchgit {
+    inherit stdenv git curl nix;
+  };
+
   fetchsvn = import ../build-support/fetchsvn {
     inherit stdenv subversion nix openssh;
     sshSupport = true;
@@ -1174,6 +1178,10 @@
     inherit fetchurl pkgconfig stdenv aterm sdf strategoxt;
   };
 
+  swiProlog = import ../development/compilers/swi-prolog {
+    inherit stdenv fetchgit;
+  };
+
   transformers = import ../development/compilers/transformers {
     inherit fetchurl pkgconfig sdf;
     aterm = aterm23x;
Index: pkgs/build-support/fetchgit/builder.sh
===================================================================
--- pkgs/build-support/fetchgit/builder.sh      (revision 0)
+++ pkgs/build-support/fetchgit/builder.sh      (revision 0)
@@ -0,0 +1,13 @@
+source $stdenv/setup
+
+header "getting $url @ $commit into $out"
+git clone "$url" "$out"
+
+if test -n "$commit"; then
+    git --git-dir="$out/.git" checkout "$commit"
+fi
+
+# remove metadata, because it can change
+rm -rf "$out/.git"
+
+stopNest
Index: pkgs/build-support/fetchgit/default.nix
===================================================================
--- pkgs/build-support/fetchgit/default.nix     (revision 0)
+++ pkgs/build-support/fetchgit/default.nix     (revision 0)
@@ -0,0 +1,14 @@
+{stdenv, git, nix, curl}:
+
+{ # git repository URL
+  url
+, commit
+}:
+
+stdenv.mkDerivation {
+  name = "fetchgit";
+  builder = ./builder.sh;
+  buildInputs = [git curl nix];
+
+  inherit url commit;
+}
_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to