Our hard-linking code depended on md5sum, which FreeBSD doesn't have in its
system environment. To avoid that impure dependency, the hard-linking is now
done with the 'hardlink' utility from Nixpkgs.
This is a small wrapper of Git, which integrates some GitHub specific features,
especially stuff like merging or sending pull requests or attaching commits to
an issue.
I'm not quite familiar with the Nix integration of Ruby, so let's hope that I'm
not doing something horrible here.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
git-annex depends on 'testpack', which doesn't compile with Haskell
Platform 2012.4.0.0. The testpack library appears to be unmaintained, so
there is probably no quick solution for this issue. For the time being,
we compile git-annex with GHC 7.4.1.
This consists of just one single ruby script, which runs shell commands assuming
that the current PATH has all dependencies set up correctly. Unfortunately, this
somewhat breaks functional purity as the command won't work correctly in
environments that do not contain git, darcs or diffutils.
During the patchPhase we replace all those dependencies directly in the ruby
source code, rather than creating a wrapper. Afterwards we run a checkPhase
which not only checks whether we caught all the dependencies (PATH=) but also
checks if the conversion has been done correctly.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Note that the latest version of git-annex must be compiled with GHC 7.4.1 or
later, because it takes advantage of some freaky file name encoding guessing
features that are absent in older versions of the base library.
svn path=/nixpkgs/trunk/; revision=32819
Packages that need git as build-time or run-time dependency typically refer to
the attribute 'git', which is the expression with the least possible set of
features.
Users, however, who run "nix-env -i git", don't want that version, because it
lacks support for SVN, for sending e-mail, and it doesn't include the GUI. In
other words, users want gitFull by default, which is what this change
accomplishes.
svn path=/nixpkgs/trunk/; revision=27748
This also means adding a lowPrio wrapper, because without it nix-env
would prefer the "-full" expression over the normal one.
Maybe that's desirable, even?
svn path=/nixpkgs/trunk/; revision=26828