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
