about summary refs log tree commit diff
path: root/pkgs/development/tools/misc/texinfo/common.nix
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2022-07-26 14:14:31 -0700
committerAdam Joseph <adam@westernsemico.com>2023-04-05 15:51:54 -0700
commit5d64ebd9366a81dc00cd80209cedd05848cf3dcc (patch)
tree7e9bb817a80deb203dde9697cc47777751eea500 /pkgs/development/tools/misc/texinfo/common.nix
parent810c6c387ba97d726cb61999a9f474b7f62a1e7f (diff)
texinfo: apply gnulib.passthru.longdouble-redirect-patch
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/development/tools/misc/texinfo/common.nix')
-rw-r--r--pkgs/development/tools/misc/texinfo/common.nix9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
index af0d26fe1f3ee..51df8c555e632 100644
--- a/pkgs/development/tools/misc/texinfo/common.nix
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -1,6 +1,7 @@
 { version, sha256, patches ? [] }:
 
 { lib, stdenv, buildPackages, fetchurl, perl, xz, libintl, bash
+, gnulib
 
 # we are a dependency of gcc, this simplifies bootstraping
 , interactive ? false, ncurses, procps
@@ -30,6 +31,12 @@ stdenv.mkDerivation {
 
   postPatch = ''
     patchShebangs tp/maintain
+  ''
+  # This patch is needed for IEEE-standard long doubles on
+  # powerpc64; it does not apply cleanly to texinfo 5.x or
+  # earlier.  It is merged upstream in texinfo 6.8.
+  + lib.optionalString (with lib.strings; versionAtLeast version "6.0" && versionOlder version "6.8") ''
+    patch -p1 -d gnulib < ${gnulib.passthru.longdouble-redirect-patch}
   '';
 
   # ncurses is required to build `makedoc'
@@ -82,6 +89,8 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ vrthra oxij ];
+    # see comment above in patches section
+    broken = stdenv.hostPlatform.isPower64 && lib.strings.versionOlder version "6.0";
 
     longDescription = ''
       Texinfo is the official documentation format of the GNU project.