gnu: elogind: Build with gperf 3.0.

* gnu/packages/gperf.scm (gperf-3.0): New variable.
* gnu/packages/freedesktop.scm (elogind)[native-inputs]: Use GPERF-3.0
instead of GPERF.
This commit is contained in:
Ludovic Courtès 2017-03-19 23:09:15 +01:00
parent 4c20b0bcf7
commit 4ed0628737
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 20 additions and 2 deletions

View file

@ -206,7 +206,10 @@ (define-public elogind
("m4" ,m4)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("pkg-config" ,pkg-config)
("gperf" ,gperf)))
;; Use gperf 3.0 to work around
;; <https://github.com/wingo/elogind/issues/8>.
("gperf" ,gperf-3.0)))
(inputs
`(("linux-pam" ,linux-pam)
("linux-libre-headers" ,linux-libre-headers)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -44,3 +44,18 @@ (define-public gperf
the hash function is perfect means that no collisions can exist and that
look-ups can be made by single string comparisons.")
(license gpl3+)))
(define-public gperf-3.0
;; This older version would use 'unsigned int' in its generated lookup
;; functions whereas 3.1 uses 'size_t', which causes breakage such as
;; <https://github.com/wingo/elogind/issues/8>.
(package
(inherit gperf)
(version "3.0.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gperf/gperf-"
version ".tar.gz"))
(sha256
(base32
"0gnnm8iqcl52m8iha3sxrzrl9mcyhg7lfrhhqgdn4zj00ji14wbn"))))))