diff options
author | Cheng-Lung Sung <clsung@FreeBSD.org> | 2007-04-10 07:59:10 +0000 |
---|---|---|
committer | Cheng-Lung Sung <clsung@FreeBSD.org> | 2007-04-10 07:59:10 +0000 |
commit | 6cccd698d592affee6350f8534693e10a1b3f7b0 (patch) | |
tree | be7494c984488e7f47b56c0cd7b0f1d7fe80864e /archivers/paq | |
parent | - Update to 3.0.1 (diff) |
Add paq 8.l, an archiver with an extremely high compression ratio.
PR: ports/111391
Submitted by: bf <bf2006a at yahoo.com>
Notes
Notes:
svn path=/head/; revision=189647
Diffstat (limited to 'archivers/paq')
-rw-r--r-- | archivers/paq/Makefile | 82 | ||||
-rw-r--r-- | archivers/paq/distinfo | 3 | ||||
-rw-r--r-- | archivers/paq/files/pkg-message.in | 7 | ||||
-rw-r--r-- | archivers/paq/pkg-descr | 20 | ||||
-rw-r--r-- | archivers/paq/pkg-plist | 5 |
5 files changed, 117 insertions, 0 deletions
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 |