~ruther/guix-local

4ed06287376bc1632c6bca4a395795bc8cc1b874 — Ludovic Courtès 9 years ago 4c20b0b
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.
2 files changed, 20 insertions(+), 2 deletions(-)

M gnu/packages/freedesktop.scm
M gnu/packages/gperf.scm
M gnu/packages/freedesktop.scm => gnu/packages/freedesktop.scm +4 -1
@@ 206,7 206,10 @@ the freedesktop.org XDG Base Directory specification.")
       ("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)

M gnu/packages/gperf.scm => gnu/packages/gperf.scm +16 -1
@@ 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 @@ strings, it produces a hash function and hash table in C or C++ code.  That
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"))))))