summary refs log tree commit diff
path: root/pkgs/build-support/setup-hooks/compress-man-pages.sh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-06-27 13:33:05 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-08-09 12:44:49 +0200
commitdaa66b8b1cb2ea5359f9914418350f63f0a53d7e (patch)
treeb7973e4f1a9919edcccdaa6da098c06df7286a04 /pkgs/build-support/setup-hooks/compress-man-pages.sh
parentd7a4fa26b064aa294b1f52c61b02770feed6903b (diff)
downloadnixpkgs-daa66b8b1cb2ea5359f9914418350f63f0a53d7e.tar
nixpkgs-daa66b8b1cb2ea5359f9914418350f63f0a53d7e.tar.gz
nixpkgs-daa66b8b1cb2ea5359f9914418350f63f0a53d7e.tar.bz2
nixpkgs-daa66b8b1cb2ea5359f9914418350f63f0a53d7e.tar.lz
nixpkgs-daa66b8b1cb2ea5359f9914418350f63f0a53d7e.tar.xz
nixpkgs-daa66b8b1cb2ea5359f9914418350f63f0a53d7e.tar.zst
nixpkgs-daa66b8b1cb2ea5359f9914418350f63f0a53d7e.zip
Factor out fixup phase stuff into separate setup hooks
Diffstat (limited to 'pkgs/build-support/setup-hooks/compress-man-pages.sh')
-rw-r--r--pkgs/build-support/setup-hooks/compress-man-pages.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/build-support/setup-hooks/compress-man-pages.sh b/pkgs/build-support/setup-hooks/compress-man-pages.sh
new file mode 100644
index 00000000000..74c565ebffc
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/compress-man-pages.sh
@@ -0,0 +1,27 @@
+addHook fixupOutput 'if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; fi'
+
+compressManPages() {
+    local dir="$1"
+
+    echo "gzipping man pages in $dir"
+
+    GLOBIGNORE=.:..:*.gz:*.bz2
+
+    for f in "$dir"/share/man/*/* "$dir"/share/man/*/*/*; do
+        if [ -f "$f" -a ! -L "$f" ]; then
+            if gzip -c -n "$f" > "$f".gz; then
+                rm "$f"
+            else
+                rm "$f".gz
+            fi
+        fi
+    done
+
+    for f in "$dir"/share/man/*/* "$dir"/share/man/*/*/*; do
+        if [ -L "$f" -a -f `readlink -f "$f"`.gz ]; then
+            ln -sf `readlink "$f"`.gz "$f".gz && rm "$f"
+        fi
+    done
+
+    unset GLOBIGNORE
+}