diff options
author | Sergei Trofimovich <slyfox@inbox.ru> | 2017-06-03 16:17:58 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-06-04 00:56:18 +0200 |
commit | 34cfeca84e62b92e4f2b32c5bf33fe4982253f48 (patch) | |
tree | 26b436e6ef2a4d0a03023888bb7e9f8304de2a56 | |
parent | 2ca9f51ec8125c0124362300853365a1a6c76ee5 (diff) | |
download | gnu-guix-34cfeca84e62b92e4f2b32c5bf33fe4982253f48.tar gnu-guix-34cfeca84e62b92e4f2b32c5bf33fe4982253f48.tar.gz |
gnu: libgit2: Fix Clar test framework.
This commit reverts 'patch' hack introduced in
a48a1071a686b250bf8b7982ca0ce8dda1d93c61 and fixes bug in the Clar test
framework.
Patch is proposed to Clar upstream as
<https://github.com/vmg/clar/pull/78>.
* gnu/local.mk: Add libgit2-0.25.1-mtime-0.patch.
* gnu/packages/patches/libgit2-0.25.1-mtime-0.patch: New file.
* gnu/packages/version-control.scm (libgit2)[arguments]:
Remove 'apply-patch' phase.
[inputs]: Remove "patch".
[source]: Add 'patches' field.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/libgit2-0.25.1-mtime-0.patch | 14 | ||||
-rw-r--r-- | gnu/packages/version-control.scm | 18 |
3 files changed, 19 insertions, 14 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index e7d5ee2f41..c94291f435 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -729,6 +729,7 @@ dist_patch_DATA = \ %D%/packages/patches/libevent-2.1-dns-tests.patch \ %D%/packages/patches/libevent-2.1-skip-failing-test.patch \ %D%/packages/patches/libextractor-ffmpeg-3.patch \ + %D%/packages/patches/libgit2-0.25.1-mtime-0.patch \ %D%/packages/patches/libgit2-use-after-free.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ diff --git a/gnu/packages/patches/libgit2-0.25.1-mtime-0.patch b/gnu/packages/patches/libgit2-0.25.1-mtime-0.patch new file mode 100644 index 0000000000..a6fdb50fff --- /dev/null +++ b/gnu/packages/patches/libgit2-0.25.1-mtime-0.patch @@ -0,0 +1,14 @@ +The Clar test framework has a bug whereby it skips the parsing phase +on files with mtime=0. + +Reported upstream at <https://github.com/vmg/clar/pull/78>. + +diff --git a/tests/generate.py b/tests/generate.py +index b639c8f..111ca41 100644 +--- a/tests/generate.py ++++ b/tests/generate.py +@@ -63,3 +63,3 @@ class Module(object): + +- self.mtime = 0 ++ self.mtime = None # Guix sets all file mtimes to '0' + self.enabled = True diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 12fc2c6cc3..32c9a132a6 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -336,7 +336,9 @@ everything from small to very large projects with speed and efficiency.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s")))) + "1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s")) + (patches (search-patches "libgit2-use-after-free.patch" + "libgit2-0.25.1-mtime-0.patch")))) (build-system cmake-build-system) (arguments `(#:phases @@ -349,25 +351,13 @@ everything from small to very large projects with speed and efficiency.") (("/bin/cp") (which "cp")) (("/bin/rm") (which "rm"))) #t)) - (add-after 'unpack 'apply-patch - (lambda* (#:key inputs #:allow-other-keys) - ;; XXX: For some reason adding the patch in 'patches', which - ;; leads to a new tarball with all timestamps reset and ordering - ;; by name (slightly different file order compared to the - ;; original tarball) leads to an obscure Python error while - ;; running 'generate.py': - ;; 'Module' object has no attribute 'callbacks' - ;; Thus, apply the patch here, which minimizes disruption. - (let ((patch (assoc-ref inputs "patch"))) - (zero? (system* "patch" "-p1" "--force" "--input" patch))))) ;; Run checks more verbosely. (replace 'check (lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q"))))))) (inputs `(("libssh2" ,libssh2) ("libcurl" ,curl) - ("python" ,python-wrapper) - ("patch" ,(search-patch "libgit2-use-after-free.patch")))) + ("python" ,python-wrapper))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs |