From 4ed06287376bc1632c6bca4a395795bc8cc1b874 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 19 Mar 2017 23:09:15 +0100 Subject: 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. --- gnu/packages/freedesktop.scm | 5 ++++- gnu/packages/gperf.scm | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 20a104f623..065046e667 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -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 + ;; . + ("gperf" ,gperf-3.0))) (inputs `(("linux-pam" ,linux-pam) ("linux-libre-headers" ,linux-libre-headers) diff --git a/gnu/packages/gperf.scm b/gnu/packages/gperf.scm index 5e55f8d86f..a9f958f59a 100644 --- a/gnu/packages/gperf.scm +++ b/gnu/packages/gperf.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2017 Ludovic Courtès ;;; ;;; 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 + ;; . + (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")))))) -- cgit v1.2.3