summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2019-09-15 20:36:12 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2019-12-06 06:52:36 +0100
commit9720104c430b8c72a705f8c898a6922b9fc416fb (patch)
treee47f4faa23ab79c7ea74fa4418162c2d14b58ac8 /gnu/packages
parentd4d7bf60e8a273839627bf400bb9683842f19de3 (diff)
downloadguix-9720104c430b8c72a705f8c898a6922b9fc416fb.tar.gz
gnu: Add ncompress.
* gnu/packages/compression.scm (ncompress): New variable.
* gnu/packages/patches/compress-fix-softlinks.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/compression.scm30
-rw-r--r--gnu/packages/patches/ncompress-fix-softlinks.patch24
2 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 89dcc34e21..bb1c5b625c 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2110,3 +2111,32 @@ at run time, and must be installed separately.")
 archives generated by @command{makeself} or @command{mojo} without running the
 possibly untrusted extraction shell script.")
       (license license:gpl3+))))
+
+(define-public ncompress
+  (package
+    (name "ncompress")
+    (version "4.2.4.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/vapier/ncompress")
+                    (commit (string-append "v" version))))
+              (patches (search-patches "ncompress-fix-softlinks.patch"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0s3ik7k5a5vzcfiayhsxrc87drg3l425aqapspmw5py91b9jhc8r"))))
+    (arguments
+     '(#:make-flags (list "CC=gcc"
+                          (string-append "BINDIR=" %output "/bin")
+                          (string-append "MANDIR=" %output "/share/man/man1"))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/vapier/ncompress/")
+    (synopsis "Original Lempel-Ziv compress/uncompress programs")
+    (description "(N)compress provides the original compress and uncompress
+programs that used to be the de facto UNIX standard for compressing and
+uncompressing files.  These programs implement a fast, simple Lempel-Ziv (LZW)
+file compression algorithm.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/patches/ncompress-fix-softlinks.patch b/gnu/packages/patches/ncompress-fix-softlinks.patch
new file mode 100644
index 0000000000..98752e8e64
--- /dev/null
+++ b/gnu/packages/patches/ncompress-fix-softlinks.patch
@@ -0,0 +1,24 @@
+Patch taken from Debian sid.
+
+Description: Support uncompressing and compressing soft links.
+ Historically, ncompress for Debian has been built using a command line
+ directly in debian/rules.  For 4.2.4.5-1, I simplified by swtching to the
+ upstream Makefile.  However, that caused a regression - the Debian version of
+ ncompress has always successfully handled soft links, but this stopped
+ working.  To revert to the original behavior, I need to remove -DLSTAT from
+ the build options, to be consistent with how the code was previously built.
+Author: Kenneth J. Pronovici <pronovic@debian.org>
+Bug-Debian: http://bugs.debian.org/918836
+Index: ncompress/GNUmakefile
+===================================================================
+--- ncompress.orig/GNUmakefile
++++ ncompress/GNUmakefile
+@@ -9,7 +9,7 @@ distclean: cleanup
+ 
+ Makefile: Makefile.def GNUmakefile
+ 	sed \
+-		-e 's:options= :options= $$(CFLAGS) -DNOFUNCDEF -DUTIME_H -DLSTAT $$(LDFLAGS) :' \
++		-e 's:options= :options= $$(CFLAGS) -DNOFUNCDEF -DUTIME_H $$(LDFLAGS) :' \
+ 		Makefile.def > Makefile
+ 
+ check: