gnu: grep: Fix for gnulib library.

* gnu/packages/patches/grep-gnulib-lock.patch: New file.
* gnu/packages/base.scm (grep)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
rennes 2017-02-21 23:21:49 -06:00 committed by Manolis Ragkousis
parent a33d518e24
commit b81d11e580
No known key found for this signature in database
GPG key ID: 327C1EF38DF54C32
3 changed files with 36 additions and 1 deletions

View file

@ -618,6 +618,7 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/graphite2-ffloat-store.patch \
%D%/packages/patches/grep-gnulib-lock.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/grub-CVE-2015-8370.patch \
%D%/packages/patches/grub-gets-undeclared.patch \

View file

@ -7,6 +7,7 @@
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -86,7 +87,8 @@ (define-public grep
(sha256
(base32
"1dcasjp3a578nrvzrcn38mpizb8w1q6mvfzhjmcqqgkf0nsivj72"))
(patches (search-patches "grep-timing-sensitive-test.patch"))))
(patches (search-patches "grep-timing-sensitive-test.patch"
"grep-gnulib-lock.patch"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;some of the tests require it
(arguments

View file

@ -0,0 +1,32 @@
This patch fix error on 'gnulib' library required to build
'grep' package on GNU/Hurd.
The patch was adapted from upstream source repository:
'<http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=4084b3a1094372b960ce4a97634e08f4538c8bdd>'
Commit: 4084b3a1094372b960ce4a97634e08f4538c8bdd
diff --git a/lib/glthread/lock.c b/lib/glthread/lock.c
index 061562b..afc86f4 100644
--- a/lib/glthread/lock.c
+++ b/lib/glthread/lock.c
@@ -30,7 +30,7 @@
/* ------------------------- gl_rwlock_t datatype ------------------------- */
-# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (__GNU_LIBRARY__ > 1))
+# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1)))
# ifdef PTHREAD_RWLOCK_INITIALIZER
diff --git a/lib/glthread/lock.h b/lib/glthread/lock.h
index ec16d39..67932aa 100644
--- a/lib/glthread/lock.h
+++ b/lib/glthread/lock.h
@@ -179,7 +179,7 @@ typedef pthread_mutex_t gl_lock_t;
/* ------------------------- gl_rwlock_t datatype ------------------------- */
-# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (__GNU_LIBRARY__ > 1))
+# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1)))
# ifdef PTHREAD_RWLOCK_INITIALIZER