this updates lzma utils to 4.32.0beta2.

even though there is 'beta' in the distname, the author recommends this
version (see homepage). main changes:
- addition of lzmadec library
- lzmash shell script has been replaced by a lzma command line tool with
  similar functionality written in C++.

(future plans include moving everything to C, including a compression
library.)

the build has been switched to gnu configure and libtool.
the tests were removed, so i added the tests.sh script back from the
previous release, with a few adjustments.

tested fine on i386, amd64 and sparc.
more testing and feedback welcome.

Index: Makefile
===================================================================
RCS file: /openbsd/cvs/ports/archivers/lzma/Makefile,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile
--- Makefile    30 Jan 2006 13:29:00 -0000      1.1.1.1
+++ Makefile    2 Jul 2006 12:15:43 -0000
@@ -2,7 +2,8 @@
 
 COMMENT=               "LZMA utils - make usage of LZMA compression easy"
 
-DISTNAME=              lzma-4.27.1
+DISTNAME=              lzma-4.32.0beta2
+SHARED_LIBS=           lzmadec 0.0
 CATEGORIES=            archivers
 
 HOMEPAGE=              http://tukaani.org/lzma/
@@ -19,8 +20,13 @@
 
 WANTLIB=               c m stdc++
 
-MAKE_FLAGS=            MYCC="${CC}" MYCXX="${CXX}"
+USE_LIBTOOL=           Yes
+CONFIGURE_STYLE=       gnu
 
-REGRESS_TARGET=                test
+post-extract:
+       @cp ${FILESDIR}/tests.sh ${WRKBUILD}
+
+do-regress:
+       @cd ${WRKBUILD} && ${SH} tests.sh
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /openbsd/cvs/ports/archivers/lzma/distinfo,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 distinfo
--- distinfo    30 Jan 2006 13:29:00 -0000      1.1.1.1
+++ distinfo    2 Jul 2006 12:15:43 -0000
@@ -1,4 +1,4 @@
-MD5 (lzma-4.27.1.tar.gz) = 70b8b4ee9194d450642115b103dd040d
-RMD160 (lzma-4.27.1.tar.gz) = a09582b8e303288fa2def08680d040c71495aff1
-SHA1 (lzma-4.27.1.tar.gz) = 39ee4321c26c80d2190347a5e1961323c913e008
-SIZE (lzma-4.27.1.tar.gz) = 102594
+MD5 (lzma-4.32.0beta2.tar.gz) = ae7ebddcd30124df9884fd8ecd48c9ad
+RMD160 (lzma-4.32.0beta2.tar.gz) = 4fad4f5683c2ed4853e3d050d22028b93f3d06ad
+SHA1 (lzma-4.32.0beta2.tar.gz) = 9eb442bba42d9214a3f9e758e43b15df9dac84a2
+SIZE (lzma-4.32.0beta2.tar.gz) = 428661
Index: files/tests.sh
===================================================================
RCS file: files/tests.sh
diff -N files/tests.sh
--- /dev/null   Sat Aug 30 18:16:59 1997
+++ files/tests.sh      Sun Jul  2 11:30:12 2006
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# Exit on error and create files securely:
+set -eC
+
+# Set some variables; look for md5/md5sum
+LZMA_CMD="src/lzma/lzma -5"
+LZMADEC="src/lzmadec/lzmadec"
+MD5_CMD=md5
+
+# Remove old tempory files:
+rm -f testfile.*
+
+# Create a few files to be compressed:
+echo "Creating test files..."
+$MD5_CMD < /dev/null | cut -f 1 -d ' ' > testfile.1a
+for I in a b c d e f g h i j k l m n o p q r s t u v w x y z \
+    t h i s i s a f u n n y w a y t o c r e a t e \
+    s o m e d a t a f o r q u i c k c o m p r e s s i o n \
+    t e s t a l t o u g h t p r o b a b l y n o t t h e \
+    m o s t e f f i c i e n t a n d f a s t e s t \
+    a b c d e f g h i j k l m n o p q r s t u v w x y z; do
+  $MD5_CMD < testfile.1a | cut -f 1 -d ' ' >> testfile.1b
+  $MD5_CMD < testfile.1b | cut -f 1 -d ' ' >> testfile.1a
+done
+# Empty file:
+cat /dev/null > testfile.2
+# Four megabytes of zero:
+dd if=/dev/zero of=testfile.3 bs=1024 count=4096 2> /dev/null
+
+# Compress:
+echo "Compressing..."
+for I in 1a 1b 2 3; do
+    cat testfile.$I | $LZMA_CMD > testfile.$I.lzma
+done
+
+# Decompress:
+echo "Decompressing..."
+for I in 1a 1b 2 3; do
+    $LZMA_CMD -d < testfile.$I.lzma > testfile.$I.unlzma
+    $LZMADEC < testfile.$I.lzma > testfile.$I.lzmadec
+done
+
+md5_test() {
+    if [ "$($MD5_CMD < "$1" | cut -f 1 -d ' ')" = "$2" ]; then
+       echo "* $1: OK"
+    else
+       echo "* $1: FAILED"
+    fi
+}
+
+md5_cmp() {
+    if [ "$($MD5_CMD < "$1")" = "$($MD5_CMD < "$2")" ]; then
+       echo "* $1: OK"
+    else
+       echo "* $1: FAILED"
+    fi
+}
+
+# Compare MD5 sums:
+echo "Verifying:"
+md5_test testfile.1a.lzma 3d156e6cde4d7f4887b1f2fe31ea360a
+md5_test testfile.1b.lzma 6d61f2c314fe76318a93c0850d55339f
+md5_test testfile.2.lzma dfc087b4c46079bcc505ff6136fed30f
+md5_test testfile.3.lzma 641d6634a973aca23b86419c316fcd18
+for I in 1a 1b 2 3; do
+    md5_cmp testfile.$I.unlzma testfile.$I
+    md5_cmp testfile.$I.lzmadec testfile.$I
+done
Index: patches/patch-Makefile
===================================================================
RCS file: patches/patch-Makefile
diff -N patches/patch-Makefile
--- patches/patch-Makefile      30 Jan 2006 13:29:00 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,38 +0,0 @@
-$OpenBSD: patch-Makefile,v 1.1.1.1 2006/01/30 13:29:00 steven Exp $
---- Makefile.orig      Mon Sep 12 15:39:55 2005
-+++ Makefile   Tue Jan 24 10:11:54 2006
-@@ -1,11 +1,11 @@
- ## There is no need to have DESTDIR separately since no file has paths coded
- ## in them. Just "make prefix=/my/path/usr install" when creating a package.
- 
--prefix = /usr/local
-+prefix = $(PREFIX)
- bindir = $(prefix)/bin
- mandir = $(prefix)/man
--docdir = $(prefix)/doc
--docdir_name = lzma-4.27.1
-+docdir = $(prefix)/share/doc
-+docdir_name = lzma
- 
- INSTALL = install
- RM = rm -f
-@@ -20,8 +20,7 @@ sdk:
-       cd sdk/SRC/7zip/Compress/LZMA_Alone && $(MAKE)
- 
- install: all
--      $(INSTALL) -dm 0755 $(bindir) $(mandir)/man1 \
--                      $(docdir)/$(docdir_name)
-+      $(INSTALL) -dm 0755 $(bindir) $(mandir)/man1
-       $(INSTALL) -pm 0755 utils/lzmadec utils/lzmainfo \
-                       utils/lzmash utils/lzdiff utils/lzmore utils/lzgrep \
-                       sdk/SRC/7zip/Compress/LZMA_Alone/lzma \
-@@ -29,9 +28,6 @@ install: all
-       $(INSTALL) -pm 0644 man/lzma.1 man/lzmadec.1 man/lzmainfo.1 \
-                       man/lzmash.1 man/lzdiff.1 man/lzgrep.1 man/lzmore.1 \
-                       $(mandir)/man1
--      $(INSTALL) -pm 0644 BENCHMARKS COPYING.GPL COPYING.LGPL INSTALL \
--                      README README.LICENSES THANKS TODO sdk/lzma.txt \
--                      $(docdir)/$(docdir_name)
-       $(LN) lzmash $(bindir)/lunzmash
-       $(LN) lzmash $(bindir)/lzcat
-       $(LN) lzdiff $(bindir)/lzcmp
Index: patches/patch-sdk_SRC_7zip_Compress_LZMA_Alone_Makefile
===================================================================
RCS file: patches/patch-sdk_SRC_7zip_Compress_LZMA_Alone_Makefile
diff -N patches/patch-sdk_SRC_7zip_Compress_LZMA_Alone_Makefile
--- patches/patch-sdk_SRC_7zip_Compress_LZMA_Alone_Makefile     30 Jan 2006 
13:29:00 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-sdk_SRC_7zip_Compress_LZMA_Alone_Makefile,v 1.1.1.1 2006/01/30 
13:29:00 steven Exp $
---- sdk/SRC/7zip/Compress/LZMA_Alone/Makefile.orig     Wed Aug 24 19:15:58 2005
-+++ sdk/SRC/7zip/Compress/LZMA_Alone/Makefile  Tue Jan 24 10:07:27 2006
-@@ -4,12 +4,12 @@
- PROG = lzma
- 
- ## Compile only bt4, hc3 and hc4 match finders:
--CXX = gcc -DCOMPRESS_MF_BT -DCOMPRESS_MF_BT4 -DCOMPRESS_MF_HC \
--              -I ../../../ -c $(CFLAGS)
--LD = gcc $(CFLAGS)
-+CXX = $(MYCXX) -DCOMPRESS_MF_BT -DCOMPRESS_MF_BT4 -DCOMPRESS_MF_HC \
-+              -I ../../../ -c $(CXXFLAGS)
-+LD = $(MYCXX) $(CXXFLAGS)
- 
- ## Avoid dependency on libstdc++ and libgcc_s:
--LIB = -lm -lsupc++ -static-libgcc
-+LIB = -lm
- ## LIB = -lm -lstdc++
- 
- RM = rm -f
Index: patches/patch-src_liblzmadec_main_c
===================================================================
RCS file: patches/patch-src_liblzmadec_main_c
diff -N patches/patch-src_liblzmadec_main_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_liblzmadec_main_c 2 Jul 2006 12:15:43 -0000
@@ -0,0 +1,41 @@
+$OpenBSD$
+--- src/liblzmadec/main.c.orig Sat Dec 24 21:02:46 2005
++++ src/liblzmadec/main.c      Sun Jul  2 15:56:00 2006
+@@ -227,9 +227,9 @@ lzmadec_header_uncompressed (uint_fast64
+ {
+       /* Streamed files have all 64 bits set in the size field.
+          We don't know the uncompressed size beforehand. */
++      uint_fast32_t i;
+       *is_streamed = 1; /* Assume streamed. */
+       *size = 0;
+-      uint_fast32_t i;
+       for (i = 0; i < 8; i++) {
+               *size += (uint_fast64_t)buffer[i] << (i * 8);
+               if (buffer[i] != 255)
+@@ -253,6 +253,7 @@ lzmadec_internal_init (lzmadec_stream *s
+ {
+       uint_fast32_t i;
+       uint32_t num_probs;
++      const size_t lzmadec_num_probs;
+ 
+       /* Make sure we have been called sanely */
+       if (STATE->probs != NULL || STATE->dictionary != NULL
+@@ -285,7 +286,7 @@ lzmadec_internal_init (lzmadec_stream *s
+       strm->avail_in -= 8;
+ 
+       /* Allocate memory for internal data */
+-      const size_t lzmadec_num_probs = (LZMA_BASE_SIZE
++      lzmadec_num_probs = (LZMA_BASE_SIZE
+                       + (LZMA_LIT_SIZE << (STATE->lc + STATE->lp)));
+       STATE->probs = (CProb *)((strm->lzma_alloc)(strm->opaque, 1,
+                       lzmadec_num_probs * sizeof(CProb)));
+@@ -668,8 +669,8 @@ assert (state >= 0);
+                                               numDirectBits = 
LZMA_NUM_ALIGN_BITS;
+                                       }
+                                       {
+-                                              i = 1;
+                                               int_fast32_t mi = 1;
++                                              i = 1;
+                                               do {
+                                                       CProb *prob3 = prob + 
mi;
+                                                       RC_GET_BIT2(prob3, mi, 
; , rep0 |= i);
Index: patches/patch-utils_Makefile
===================================================================
RCS file: patches/patch-utils_Makefile
diff -N patches/patch-utils_Makefile
--- patches/patch-utils_Makefile        30 Jan 2006 13:29:00 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-utils_Makefile,v 1.1.1.1 2006/01/30 13:29:00 steven Exp $
---- utils/Makefile.orig        Sun Jan 22 16:45:05 2006
-+++ utils/Makefile     Sun Jan 22 16:45:32 2006
-@@ -2,8 +2,8 @@
- ## -D_LZMA_SYSTEM_SIZE_T should keep it working also on 64-bit arch.
- ## -D_LZMA_PROB32 is a speed optimization.
- 
--CC = gcc -D_LZMA_IN_CB -D_LZMA_OUT_READ -D_LZMA_SYSTEM_SIZE_T -D_LZMA_PROB32
--LD = gcc
-+CC = $(MYCC) -D_LZMA_IN_CB -D_LZMA_OUT_READ -D_LZMA_SYSTEM_SIZE_T 
-D_LZMA_PROB32
-+LD = $(MYCC)
- LDFLAGS = $(CFLAGS)
- RM = rm -f
- LZMA_C = ../sdk/SRC/7zip/Compress/LZMA_C
Index: patches/patch-utils_lzmash
===================================================================
RCS file: patches/patch-utils_lzmash
diff -N patches/patch-utils_lzmash
--- patches/patch-utils_lzmash  30 Jan 2006 13:29:00 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-utils_lzmash,v 1.1.1.1 2006/01/30 13:29:00 steven Exp $
---- utils/lzmash.orig  Tue Jan 24 10:09:07 2006
-+++ utils/lzmash       Tue Jan 24 10:10:21 2006
-@@ -570,10 +570,10 @@ if [ $USE_STDOUT = 0 -a $TEST_ONLY = 0 ]
-               FILE_INFO=$(ls -dLln -- "$SOURCE" \
-                               | tr -s ' ' | cut -f 1,3,4 -d ' ')
-               chown "$(echo "$FILE_INFO" | cut -f 2,3 -d ' ' \
--                              | tr ' ' ':')" -- "$TARGET"
-+                              | tr ' ' ':')" "$TARGET"
-               chmod "$(echo "$FILE_INFO" | sed \
-                       's/^.\(...\)\(...\)\(...\).*$/u=\1,g=\2,o=\3/;s/-//g')"\
--                              -- "$TARGET"
-+                              "$TARGET"
-               touch -cr "$SOURCE" -- "$TARGET"
-       fi
-       [ $KEEP_FILE = 0 ] && rm -f -- "$SOURCE"
Index: pkg/PFRAG.shared
===================================================================
RCS file: pkg/PFRAG.shared
diff -N pkg/PFRAG.shared
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/PFRAG.shared    2 Jul 2006 12:15:43 -0000
@@ -0,0 +1,2 @@
[EMAIL PROTECTED] $OpenBSD$
[EMAIL PROTECTED] lib/liblzmadec.so.${LIBlzmadec_VERSION}
Index: pkg/PLIST
===================================================================
RCS file: /openbsd/cvs/ports/archivers/lzma/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 PLIST
--- pkg/PLIST   30 Jan 2006 13:29:00 -0000      1.1.1.1
+++ pkg/PLIST   2 Jul 2006 12:15:43 -0000
@@ -1,5 +1,5 @@
 @comment $OpenBSD: PLIST,v 1.1.1.1 2006/01/30 13:29:00 steven Exp $
-bin/lunzmash
+%%SHARED%%
 bin/lzcat
 bin/lzcmp
 bin/lzdiff
@@ -10,9 +10,11 @@
 bin/lzma
 bin/lzmadec
 bin/lzmainfo
-bin/lzmash
 bin/lzmore
[EMAIL PROTECTED] man/man1/lunzmash.1
+bin/unlzma
+include/lzmadec.h
+lib/liblzmadec.a
+lib/liblzmadec.la
 @man man/man1/lzcat.1
 @man man/man1/lzcmp.1
 @man man/man1/lzdiff.1
@@ -23,5 +25,5 @@
 @man man/man1/lzma.1
 @man man/man1/lzmadec.1
 @man man/man1/lzmainfo.1
[EMAIL PROTECTED] man/man1/lzmash.1
 @man man/man1/lzmore.1
[EMAIL PROTECTED] man/man1/unlzma.1

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

Reply via email to