Hi Guix,

attached is a patch to add libgit2.  Unfortunately, I couldn’t get all
tests to pass.  Does someone here have an idea how to fix them?

The tests only fail when run with “guix build”.
I run them like this:

    ./libgit2_clar -v -Q

And I get erros like this:

   Function call failed: (chdir(sandbox))
      error -1 - <no message>

~~ Ricardo

>From 12e67f7fc769329ad1d162ab47f36edb362d451f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wur...@mdc-berlin.de>
Date: Thu, 17 Dec 2015 16:20:05 +0100
Subject: [PATCH] gnu: Add libgit2.

* gnu/packages/version-control.scm (libgit2): New variable.
---
 gnu/packages/version-control.scm | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 6861e35..f186a96 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2014 Eric Bavier <bav...@member.fsf.org>
 ;;; Copyright © 2015 Efraim Flashner <efr...@flashner.co.il>
 ;;; Copyright © 2015 Kyle Meyer <k...@kyleam.com>
+;;; Copyright © 2015 Ricardo Wurmus <rek...@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,6 +33,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
@@ -311,6 +313,45 @@ everything from small to very large projects with speed and efficiency.")
 This is the documentation displayed when using the '--help' option of a 'git'
 command.")))
 
+(define-public libgit2
+  (package
+    (name "libgit2")
+    (version "0.23.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/libgit2/libgit2/";
+                                  "archive/v" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1bhyzw9b7xr1vj24hgbwbfjw2wiaigiklccsdvd8r4kmcr180p1d"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Run checks more verbosely.
+         (replace 'check
+           (lambda _
+             ;; FIXME: tests fail when run in a chroot:
+             ;;   Function call failed: (chdir(sandbox))
+             ;;   error -1 - <no message>
+             ;;(zero? (system* "./libgit2_clar" "-v" "-Q"))
+             #t)))))
+    (inputs
+     `(("libssh2" ,libssh2)
+       ("python" ,python)
+       ("openssl" ,openssl)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://libgit2.github.com/";)
+    (synopsis "Library providing Git core methods")
+    (description
+     "Libgit2 is a portable, pure C implementation of the Git core methods
+provided as a re-entrant linkable library with a solid API, allowing you to
+write native speed custom Git applications in any language with bindings.")
+    ;; GPLv2 with linking exception
+    (license gpl2)))
+
 (define-public shflags
   (package
     (name "shflags")
-- 
2.1.0

Reply via email to