about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/typesetting/lowdown/default.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/tools/typesetting/lowdown/default.nix b/pkgs/tools/typesetting/lowdown/default.nix
index 189ba55838b66..bf9e06deca34c 100644
--- a/pkgs/tools/typesetting/lowdown/default.nix
+++ b/pkgs/tools/typesetting/lowdown/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchurl, fixDarwinDylibNames, which, dieHook
+, fetchpatch
 , enableShared ? !stdenv.hostPlatform.isStatic
 , enableStatic ? stdenv.hostPlatform.isStatic
 # for passthru.tests
@@ -16,6 +17,40 @@ stdenv.mkDerivation rec {
     hash = "sha512-EpAWTz7Zy+2qqJGgzLrt0tK7WEZ+hHbdyqzAmMiaqc6uNXscR88git6/UbTjvB9Yanvetvw9huSuyhcORCEIug==";
   };
 
+  patches = [
+    # Improve UTF-8 handling on macOS by not treating bytes >=0x80, which tend to be
+    # UTF-8 continuation bytes, as control characters.
+    #
+    # This leaves control characters U+0080 through U+009F in the output
+    # (incorrectly) but doesn't mangle other UTF-8 characters, so it's a net
+    # win.
+    #
+    # See: https://github.com/kristapsdz/lowdown/pull/140
+    (fetchpatch {
+      url = "https://github.com/kristapsdz/lowdown/commit/5a02866dd682363a8e4f6b344c223cfe8b597da9.diff";
+      hash = "sha256-7tGhZJQQySeBv4h6A4r69BBbQkPRX/3JTw/80A8YXjQ=";
+    })
+    (fetchpatch {
+      url = "https://github.com/kristapsdz/lowdown/commit/c033a6886e4d6efb948782fbc389fe5f673acf36.diff";
+      hash = "sha256-7DvKFerAMoPifuTn7rOX4ru888HfBkpspH1opIbzj08=";
+    })
+
+    # Don't output a newline after .SH
+    #
+    # This fixes `makewhatis` output on macOS and (as a result) `man`
+    # completions for `fish` on macOS.
+    #
+    # See: https://github.com/kristapsdz/lowdown/pull/138
+    (fetchpatch {
+      url = "https://github.com/kristapsdz/lowdown/commit/e05929a09a697de3d2eb14d0f0a087a6fae22e11.diff";
+      hash = "sha256-P03W+hFeBKwfJB+DhGCPq0DtiOiLLc+0ZvWrWqXFvVU=";
+    })
+    (fetchpatch {
+      url = "https://github.com/kristapsdz/lowdown/commit/9906f8ceac586c54eb39ae78105fd84653a89c33.diff";
+      hash = "sha256-nBnAgTb8RDe/QpUhow3lyeR7UIVJX2o4lmP78e2fw/E=";
+    })
+  ];
+
   nativeBuildInputs = [ which dieHook ]
     ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];