summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/compression.scm30
-rw-r--r--gnu/packages/patches/ncompress-fix-softlinks.patch24
3 files changed, 55 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 06eb76cc2e..d12b6b1878 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1165,6 +1165,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch    \
   %D%/packages/patches/mutt-store-references.patch		\
   %D%/packages/patches/m4-gnulib-libio.patch			\
+  %D%/packages/patches/ncompress-fix-softlinks.patch		\
   %D%/packages/patches/netcdf-date-time.patch			\
   %D%/packages/patches/netcdf-tst_h_par.patch			\
   %D%/packages/patches/netpbm-CVE-2017-2586.patch		\
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: