gnu: libgit2: Fix Clar test framework.
This commit reverts 'patch' hack introduced in
a48a1071a6
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>
This commit is contained in:
parent
2ca9f51ec8
commit
34cfeca84e
|
@ -729,6 +729,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/libevent-2.1-dns-tests.patch \
|
%D%/packages/patches/libevent-2.1-dns-tests.patch \
|
||||||
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
|
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
|
||||||
%D%/packages/patches/libextractor-ffmpeg-3.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/libgit2-use-after-free.patch \
|
||||||
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
||||||
%D%/packages/patches/libjxr-fix-typos.patch \
|
%D%/packages/patches/libjxr-fix-typos.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
|
|
@ -336,7 +336,9 @@ everything from small to very large projects with speed and efficiency.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s"))))
|
"1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s"))
|
||||||
|
(patches (search-patches "libgit2-use-after-free.patch"
|
||||||
|
"libgit2-0.25.1-mtime-0.patch"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
@ -349,25 +351,13 @@ everything from small to very large projects with speed and efficiency.")
|
||||||
(("/bin/cp") (which "cp"))
|
(("/bin/cp") (which "cp"))
|
||||||
(("/bin/rm") (which "rm")))
|
(("/bin/rm") (which "rm")))
|
||||||
#t))
|
#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.
|
;; Run checks more verbosely.
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q")))))))
|
(lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q")))))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("libssh2" ,libssh2)
|
`(("libssh2" ,libssh2)
|
||||||
("libcurl" ,curl)
|
("libcurl" ,curl)
|
||||||
("python" ,python-wrapper)
|
("python" ,python-wrapper)))
|
||||||
("patch" ,(search-patch "libgit2-use-after-free.patch"))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)))
|
`(("pkg-config" ,pkg-config)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
|
Loading…
Reference in New Issue