summary refs log tree commit diff
path: root/gnu/packages/nvi.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-01-23 23:28:57 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-23 23:28:57 +0100
commit3440fecd4eff3bde98a4ffe7ad241f2b23ba1f5f (patch)
tree9b98e5e053c4ec2a309a0b5662549759e4ad210a /gnu/packages/nvi.scm
parent1de804da52d172865f6b04d1dd041f2e15965f35 (diff)
downloadguix-3440fecd4eff3bde98a4ffe7ad241f2b23ba1f5f.tar.gz
gnu: nvi: Fix build with glibc 2.30.
* gnu/packages/nvi.scm (nvi)[source](modules): New field.
[source](snippet): Add substitution to prevent including code that relies on
obsolete glibc functions.
Diffstat (limited to 'gnu/packages/nvi.scm')
-rw-r--r--gnu/packages/nvi.scm8
1 files changed, 8 insertions, 0 deletions
diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm
index 187de31720..c34b1cad72 100644
--- a/gnu/packages/nvi.scm
+++ b/gnu/packages/nvi.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,6 +41,7 @@
         (patches (search-patches "nvi-assume-preserve-path.patch"
                                  "nvi-dbpagesize-binpower.patch"
                                  "nvi-db4.patch"))
+        (modules '((guix build utils)))
         (snippet
           ;; Create a wrapper for the configure script, make it executable.
           '(let ((conf-wrap (open-output-file "configure")))
@@ -51,6 +53,12 @@
              (newline conf-wrap)
              (close-output-port conf-wrap)
              (chmod "configure" #o0755)
+
+             ;; Glibc 2.30 removed the deprecated <sys/stropts.h>, so fall back
+             ;; to the internal PTY allocation logic.
+             (substitute* "ex/ex_script.c"
+               (("#ifdef HAVE_SYS5_PTY")
+                "#if defined(HAVE_SYS5_PTY) && !defined(__GLIBC__)"))
              #t))))
 
     (build-system gnu-build-system)