aboutsummaryrefslogtreecommitdiffstats
path: root/archivers
diff options
context:
space:
mode:
authorclsung <clsung@FreeBSD.org>2007-04-10 15:59:10 +0800
committerclsung <clsung@FreeBSD.org>2007-04-10 15:59:10 +0800
commit778a53180efb05261c7ba334f34eee40f679bbb6 (patch)
tree87ecec8c37d795ef0351eb06cc5c498fb8994e38 /archivers
parent75002b41ec32236d166ff52c8fa176989d18fdef (diff)
downloadfreebsd-ports-gnome-778a53180efb05261c7ba334f34eee40f679bbb6.tar.gz
freebsd-ports-gnome-778a53180efb05261c7ba334f34eee40f679bbb6.tar.zst
freebsd-ports-gnome-778a53180efb05261c7ba334f34eee40f679bbb6.zip
Add paq 8.l, an archiver with an extremely high compression ratio.
PR: ports/111391 Submitted by: bf <bf2006a at yahoo.com>
Diffstat (limited to 'archivers')
-rw-r--r--archivers/Makefile1
-rw-r--r--archivers/paq/Makefile82
-rw-r--r--archivers/paq/distinfo3
-rw-r--r--archivers/paq/files/pkg-message.in7
-rw-r--r--archivers/paq/pkg-descr20
-rw-r--r--archivers/paq/pkg-plist5
6 files changed, 118 insertions, 0 deletions
diff --git a/archivers/Makefile b/archivers/Makefile
index c9b75b46d919..a11412dd47b4 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -88,6 +88,7 @@
SUBDIR += p5-PerlIO-gzip
SUBDIR += p5-PerlIO-via-Bzip2
SUBDIR += p7zip
+ SUBDIR += paq
SUBDIR += par2cmdline
SUBDIR += parchive
SUBDIR += pbzip2
diff --git a/archivers/paq/Makefile b/archivers/paq/Makefile
new file mode 100644
index 000000000000..62ce3684a8cc
--- /dev/null
+++ b/archivers/paq/Makefile
@@ -0,0 +1,82 @@
+# New ports collection makefile for: paq
+# Date created: 5 April 2007
+# Whom: bf <bf2006a@yahoo.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME= paq
+PORTVERSION= 8.l
+CATEGORIES= archivers
+MASTER_SITES= http://www.cs.fit.edu/~mmahoney/compression/
+DISTNAME= paq8l
+
+MAINTAINER= bf2006a@yahoo.com
+COMMENT= An archiver with an extremely high compression ratio
+
+NO_WRKSUBDIR= yes
+USE_ZIP= yes
+SUB_FILES= pkg-message
+PLIST_SUB= DISTNAME=${DISTNAME}
+
+.include <bsd.port.pre.mk>
+
+.if !defined(WITHOUT_ASM) && ${ARCH} == "i386" && !defined(PACKAGE_BUILDING)
+BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm
+CXXFLAGS+= -DUNIX -Os
+ASM1?= nasm -f elf -o
+ASM2?=
+.if !defined(WITH_SSE)
+ASMFILE= paq7asm
+.else
+ASMFILE= paq7asmsse
+.endif
+STRIP=
+.elif !defined(WITHOUT_ASM) && ${ARCH} == "amd64" && !defined(PACKAGE_BUILDING)
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm
+CXXFLAGS+= -DUNIX -Os
+ASM1?= yasm -f elf64 -o
+ASM2?= -a x86 -m amd64
+ASMFILE= paq7asm-x86_64
+STRIP=
+.else
+WITHOUT_ASM= yes
+CXXFLAGS+= -DUNIX -DNOASM -Os
+.endif
+
+pre-everything::
+ @${ECHO_MSG}
+ @${ECHO_MSG} "If you have an older (pre-1997) x86 CPU without MMX instruction"
+ @${ECHO_MSG} "support, or if you wish to use the (usually slower) C++ code"
+ @${ECHO_MSG} "instead of the equivalent assembly language routines that are"
+ @${ECHO_MSG} "enabled by default on x86 and amd64 architectures, hit Ctrl-C"
+ @${ECHO_MSG} "now and use \"make WITHOUT_ASM=yes\"."
+ @${ECHO_MSG}
+ @${ECHO_MSG} "If you wish to use the version of the assembly code that is"
+ @${ECHO_MSG} "optimized for x86 (not amd64) processors with SSE instruction"
+ @${ECHO_MSG} "support, hit Ctrl-C now and use \"make WITH_SSE=yes\"."
+ @${ECHO_MSG}
+
+do-build:
+.if !defined(WITHOUT_ASM)
+ ${ASM1} ${WRKSRC}/${ASMFILE}.o ${ASM2} ${WRKSRC}/${ASMFILE}.asm
+ ${CXX} ${WRKSRC}/${DISTNAME}.cpp ${CXXFLAGS} -o ${WRKSRC}/${DISTNAME} ${WRKSRC}/${ASMFILE}.o
+.else
+ ${CXX} ${WRKSRC}/${DISTNAME}.cpp ${CXXFLAGS} -o ${WRKSRC}/${DISTNAME}
+.endif
+
+do-install:
+.if !exists(${PREFIX}/bin)
+ ${MKDIR} ${PREFIX}/bin
+.endif
+ ${INSTALL_PROGRAM} ${WRKSRC}/${DISTNAME} ${PREFIX}/bin
+.if !defined(NOPORTDOCS)
+.if !exists(${DOCSDIR})
+ ${MKDIR} ${DOCSDIR}
+.endif
+ ${INSTALL_MAN} ${WRKSRC}/${DISTNAME}.cpp ${DOCSDIR}
+ ${INSTALL_MAN} ${WRKSRC}/readme.txt ${DOCSDIR}
+.endif
+ ${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/archivers/paq/distinfo b/archivers/paq/distinfo
new file mode 100644
index 000000000000..d7a2990b18f5
--- /dev/null
+++ b/archivers/paq/distinfo
@@ -0,0 +1,3 @@
+MD5 (paq8l.zip) = 07e38948f6e4d3c54af6618029624fad
+SHA256 (paq8l.zip) = 597f840c14a383d0e5830ae42f0988994f4cbb402ee86dd4944f03d6e223ae6b
+SIZE (paq8l.zip) = 179166
diff --git a/archivers/paq/files/pkg-message.in b/archivers/paq/files/pkg-message.in
new file mode 100644
index 000000000000..92e9b1dc7f4d
--- /dev/null
+++ b/archivers/paq/files/pkg-message.in
@@ -0,0 +1,7 @@
+*************************************************************************
+
+See %%PREFIX%%/share/doc/paq/readme.txt and the comments at the head of
+%%PREFIX%%/share/doc/paq/paq8*.cpp for instructions and details on usage
+and the algorithms employed.
+
+*************************************************************************
diff --git a/archivers/paq/pkg-descr b/archivers/paq/pkg-descr
new file mode 100644
index 000000000000..324a6b98a8de
--- /dev/null
+++ b/archivers/paq/pkg-descr
@@ -0,0 +1,20 @@
+For those who *must* cram their data into the smallest possible archives,
+paq is an archiver with the best lossless compression ratios now available
+across a wide variety of test data, according to several benchmarks.
+It uses adaptive weighting of context models to obtain archives that are
+typically about 65%-85% of the size of the corresponding best-performance
+gzip archives. This comes at the expense of increased memory usage
+(30MB - 1650MB, depending upon the user-specified level of compression),
+and lower speeds(compression and decompression are often tens of times
+slower than bzip2 or gzip, and can be as much as several hundreds of times
+slower).
+
+The command-line interface permits compression, decompression, and viewing
+of the contents of archives. Compression preserves directory structure
+but not file attributes. There are no commands to update an existing
+archive or to extract part of an archive. Files and archives larger than
+2GB are not supported (but might work on 64-bit machines, not tested).
+File names with nonprintable characters are not supported (spaces
+are OK).
+
+WWW: http://www.cs.fit.edu/~mmahoney/compression/
diff --git a/archivers/paq/pkg-plist b/archivers/paq/pkg-plist
new file mode 100644
index 000000000000..6ca33cf251c2
--- /dev/null
+++ b/archivers/paq/pkg-plist
@@ -0,0 +1,5 @@
+bin/%%DISTNAME%%
+%%PORTDOCS%%%%DOCSDIR%%/%%DISTNAME%%.cpp
+%%PORTDOCS%%%%DOCSDIR%%/readme.txt
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrmtry bin