[PATCH: core-updates] gnu: packages: libgit2: fix build and test runs

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Sergei Trofimovich
Owner
unassigned
Submitted by
Sergei Trofimovich
Severity
normal
S
S
Sergei Trofimovich wrote on 3 Jun 2017 17:17
(address . guix-patches@gnu.org)(name . Sergei Trofimovich)(address . slyfox@inbox.ru)
20170603151758.30769-1-slyfox@inbox.ru
This commit reverts 'patch' hack introduced in
a48a1071a686b250bf8b7982ca0ce8dda1d93c61 and fixes
bug in clar test framework.

Patch is proposed to clar upstream as

* 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: remove 'patch' hack and apply
libgit2-0.25.1-mtime-0.patch to fix tests

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
---
gnu/local.mk | 1 +
gnu/packages/patches/libgit2-0.25.1-mtime-0.patch | 13 +++++++++++++
gnu/packages/version-control.scm | 18 ++++--------------
3 files changed, 18 insertions(+), 14 deletions(-)
create mode 100644 gnu/packages/patches/libgit2-0.25.1-mtime-0.patch

Toggle diff (75 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 95efe60ed..aacf9b020 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -720,6 +720,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/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.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 000000000..8ea018103
--- /dev/null
+++ b/gnu/packages/patches/libgit2-0.25.1-mtime-0.patch
@@ -0,0 +1,13 @@
+clar has a bug on fils with mtime=0 where
+it skips file parsing phase.
+
+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 cd684c04e..e82e04053 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -335,7 +335,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
@@ -348,25 +350,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
--
2.13.0
L
L
Ludovic Courtès wrote on 4 Jun 2017 01:00
(name . Sergei Trofimovich)(address . slyfox@inbox.ru)(address . 27211@debbugs.gnu.org)
87d1akisn6.fsf@gnu.org
Hello,

Sergei Trofimovich <slyfox@inbox.ru> skribis:

Toggle quote (14 lines)
> This commit reverts 'patch' hack introduced in
> a48a1071a686b250bf8b7982ca0ce8dda1d93c61 and fixes
> bug in 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: remove 'patch' hack and apply
> libgit2-0.25.1-mtime-0.patch to fix tests
>
> Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>

Woow, good catch!

I’ve pushed it to ‘master’ (I adjusted the commit log and the comment in
the patch) since few packages depend on libgit2 according to ‘guix
refresh -l’.

Thanks!

Ludo’.
L
L
Ludovic Courtès wrote on 4 Jun 2017 01:00
control message for bug #27211
(address . control@debbugs.gnu.org)
87bmq4ismx.fsf@gnu.org
tags 27211 fixed
close 27211
?
Your comment

This issue is archived.

To comment on this conversation send an email to 27211@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 27211
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch