aboutsummaryrefslogtreecommitdiffstats
path: root/archivers/paq
diff options
context:
space:
mode:
authorbf <bf@FreeBSD.org>2011-03-31 16:15:14 +0800
committerbf <bf@FreeBSD.org>2011-03-31 16:15:14 +0800
commite420e67253da1fdbc9231d146a9a5bd272246dbf (patch)
treeaf33447c332c035b59b064be1531679a3abbca5a /archivers/paq
parent9ab292fdfacb12e6cbecd779ade5a05069e58192 (diff)
downloadfreebsd-ports-gnome-e420e67253da1fdbc9231d146a9a5bd272246dbf.tar.gz
freebsd-ports-gnome-e420e67253da1fdbc9231d146a9a5bd272246dbf.tar.zst
freebsd-ports-gnome-e420e67253da1fdbc9231d146a9a5bd272246dbf.zip
Switch the port from the paq8/paq9/lpaq/lpq software to
zpaq, which offers comparable performance, added flexibility through custom configurations, multithreaded (de)compression, and a stable archive format.
Diffstat (limited to 'archivers/paq')
-rw-r--r--archivers/paq/Makefile195
-rw-r--r--archivers/paq/distinfo40
-rw-r--r--archivers/paq/files/patch_zpsfx.cpp41
-rw-r--r--archivers/paq/files/pkg-message.in16
-rw-r--r--archivers/paq/pkg-descr42
-rw-r--r--archivers/paq/pkg-plist26
6 files changed, 225 insertions, 135 deletions
diff --git a/archivers/paq/Makefile b/archivers/paq/Makefile
index 37b10668d50a..9d0528fceef2 100644
--- a/archivers/paq/Makefile
+++ b/archivers/paq/Makefile
@@ -6,113 +6,130 @@
#
PORTNAME= paq
-DISTVERSION= 8o9
-PORTREVISION= 4
+PORTVERSION= 20110316
CATEGORIES= archivers
-MASTER_SITES= http://www.cs.fit.edu/~mmahoney/compression/
-DISTNAME= ${PORTNAME}${DISTVERSION}
+MASTER_SITES= http://mattmahoney.net/dc/ LOCAL/bf/paq/
+DISTFILES= libzpaq.202a.zip pzpaq.005.zip zpaq.205.zip zpipe.201.zip
+.if !defined(NOPORTDATA) || make(makesum)
+DISTFILES+= bmp_j4.zip bwt.1.zip bwt_j3.zip bwt_slowmode1.zip exe_j1.zip \
+ fast.cfg jpg_test2.zip max.cfg mid.cfg min.zip zpsfx.100.zip
+.endif
+.if !defined(NOPORTDOCS) || make(makesum)
+DISTFILES+= zpaq1.pdf
+.endif
+DIST_SUBDIR= ${PORTNAME}
+EXTRACT_ONLY= ${DISTFILES:M*.zip}
MAINTAINER= bf@FreeBSD.org
COMMENT= A family of archivers with extremely high compression ratios
-LPAQ= lpaq8
-LPQ= lpq1
-PAQ9= paq9a
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${LPAQ}${EXTRACT_SUFX} ${LPQ}v2${EXTRACT_SUFX} \
- ${PAQ9}${EXTRACT_SUFX}
+EXTRACT_AFTER_ARGS= -x *.bat *.exe readme.txt -d ${WRKDIR}
NO_WRKSUBDIR= yes
USE_ZIP= yes
+
+USE_DOS2UNIX= yes
+USE_PERL5_BUILD= yes
+
SUB_FILES= pkg-message
-CPPFILE= ${PORTNAME}${DISTVERSION:C/v.([^\.]*)$/\1/}
-PLIST_SUB+= CPPFILE=${CPPFILE} LPAQ=${LPAQ} LPQ=${LPQ} PAQ9=${PAQ9}
-
-.include <bsd.port.pre.mk>
-
-.if !defined(WITHOUT_ASM) && ${ARCH} == "i386" && !defined(PACKAGE_BUILDING)
-BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
-PAQFLAGS+= -DUNIX
-ASM1?= nasm -f elf -o
-ASM2?= -Ox
-.if !defined(WITH_SSE2)
-ASMFILE= paq7asm
-.else
-ASMFILE= paq7asmsse
-.endif
-STRIP=
-.elif !defined(WITHOUT_ASM) && ${ARCH} == "amd64" && !defined(PACKAGE_BUILDING)
-BUILD_DEPENDS+= yasm:${PORTSDIR}/devel/yasm
-PAQFLAGS+= -DUNIX
-ASM1?= yasm -f elf64 -o
-ASM2?= -a x86 -m amd64
-ASMFILE= paq7asm-x86_64
-STRIP=
-.else
-WITHOUT_ASM= yes
-PAQFLAGS+= -DUNIX -DNOASM
-.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 or amd64 processors with SSE2 instruction"
- @${ECHO_MSG} "support that are running in 32-bit mode, hit Ctrl-C now and use"
- @${ECHO_MSG} "\"make WITH_SSE2=yes\"."
- @${ECHO_MSG}
- @${ECHO_MSG} "This software is computationally demanding, and users are"
- @${ECHO_MSG} "advised to employ compiler optimizations when building it."
- @${ECHO_MSG} "In particular, authors of this software have used such flags"
- @${ECHO_MSG} "as \"-O2\" to advantage."
- @${ECHO_MSG}
+MAN1= pzpaq.1 zpaq.1
+MAN3= libzpaq.3
-do-build:
-.if !defined(WITHOUT_ASM)
- ${ASM1} ${WRKSRC}/${ASMFILE}.o ${ASM2} ${WRKSRC}/${ASMFILE}.asm
- ${CXX} ${WRKSRC}/${CPPFILE}.cpp ${CXXFLAGS} ${PAQFLAGS} -o ${WRKSRC}/${CPPFILE} \
- ${WRKSRC}/${ASMFILE}.o
-.else
- ${CXX} ${WRKSRC}/${CPPFILE}.cpp ${CXXFLAGS} ${PAQFLAGS} -o ${WRKSRC}/${CPPFILE}
+LICENSE= GPLv3 MIT
+LICENSE_COMB= multi
+
+.if !defined(WITH_DEBUG)
+CFLAGS+= -DNDEBUG
.endif
-.if ${ARCH} == "alpha" || ${ARCH} == "amd64" || ${ARCH} == "ia64" || ${ARCH} == "sparc64"
-PLIST_SUB+= THIRTYTWO="@comment "
-.else
- ${CXX} ${WRKSRC}/${LPAQ}.cpp ${CXXFLAGS} -o ${WRKSRC}/${LPAQ}
- ${CXX} ${WRKSRC}/${LPAQ}.cpp ${CXXFLAGS} -DWIKI -o ${WRKSRC}/${LPAQ}e
- ${CXX} ${WRKSRC}/${LPQ}.cpp ${CXXFLAGS} -o ${WRKSRC}/${LPQ}
- ${CXX} ${WRKSRC}/${PAQ9}.cpp ${CXXFLAGS} -o ${WRKSRC}/${PAQ9}
-PLIST_SUB+= THIRTYTWO=""
+
+ZPAQFLAGS= -DOPT="\"${CXX} ${CXXFLAGS} -I${PREFIX}/include zpaqopt.cpp \
+ ${PREFIX}/lib/zpaq/zpaq.o ${PREFIX}/lib/zpaq/libzpaq.o \
+ -o zpaqopt.exe\""
+PZPAQFLAGS= -DOPT="\"${CXX} ${CXXFLAGS} ${PTHREAD_CFLAGS} \
+ -I${PREFIX}/include \$$1.cpp ${PREFIX}/lib/zpaq/pzpaq.o \
+ ${PREFIX}/lib/zpaq/libzpaq.o ${PTHREAD_LIBS} -o \$$1.exe\""
+
+.if !defined(NOPORTDOCS)
+PORTDOCS= libzpaq.cpp libzpaqo.cpp pzpaq.cpp readme_pzpaq.txt zpaq.cpp \
+ zpaq1.pdf zpipe.cpp
+READMES= pzpaq.005
.endif
-do-install:
-.if !exists(${PREFIX}/bin)
- ${MKDIR} ${PREFIX}/bin
+.if !defined(NOPORTDATA)
+.if !defined(NOPORTDOCS)
+PORTDOCS+= bwt_.cpp bwtpre.cpp bwtrle.cpp divsufsort.c divsufsort.h \
+ exe_jo.cpp jpeg_jo.cpp lzppre.cpp readme_bwt.txt \
+ readme_bwt_j3.txt readme_exe_j1.txt zpsfx.cpp
+READMES+= bwt_j3 exe_j1
+EXTRA_PATCHES += ${FILESDIR}/patch_zpsfx.cpp
.endif
- ${INSTALL_PROGRAM} ${WRKSRC}/${CPPFILE} ${PREFIX}/bin
-.if ${ARCH} != "alpha" && ${ARCH} != "amd64" && ${ARCH} != "ia64" && ${ARCH} != "sparc64"
- ${INSTALL_PROGRAM} ${WRKSRC}/${LPAQ} ${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC}/${LPAQ}e ${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC}/${LPQ} ${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC}/${PAQ9} ${PREFIX}/bin
+WDATA= bmp_j4.cfg bwt_j3.cfg bwt_slowmode1_1GB_block.cfg \
+ bwt_slowmode1_256MB_block.cfg bwt_slowmode1_4MB_block.cfg \
+ bwt1.cfg bwt2.cfg bwtrle1.cfg bwtrle2.cfg colorpre.cfg \
+ exe_j1.cfg jpg_test2.cfg min.cfg zpsfx.tag
+DDATA= fast.cfg max.cfg mid.cfg
+PORTDATA= ${WDATA} ${DDATA} zpsfx
.endif
+
.if !defined(NOPORTDOCS)
-.if !exists(${DOCSDIR})
- ${MKDIR} ${DOCSDIR}
+post-extract:
+.for r in ${READMES}
+ @${UNZIP_CMD} -pq ${_DISTDIR}/${r}.zip readme.txt > ${WRKSRC}/readme_${r:R}.txt
+.endfor
+
+.endif
+
+.if !defined(NOPORTDATA)
+post-patch:
+ @${REINPLACE_CMD} -e 's|c:\\res\\zpaq\\||' ${WRKSRC}/bwt[12].cfg \
+ ${WRKSRC}/bwtrle[12].cfg
+
.endif
- ${INSTALL_MAN} ${WRKSRC}/${CPPFILE}.cpp ${DOCSDIR}
- ${INSTALL_MAN} ${WRKSRC}/Readme.txt ${DOCSDIR}/${CPPFILE}_readme.txt
-.if ${ARCH} != "alpha" && ${ARCH} != "amd64" && ${ARCH} != "ia64" && ${ARCH} != "sparc64"
- ${INSTALL_MAN} ${WRKSRC}/${LPAQ}.cpp ${DOCSDIR}
- ${INSTALL_MAN} ${WRKSRC}/${LPQ}.cpp ${DOCSDIR}
- ${INSTALL_MAN} ${WRKSRC}/${PAQ9}.cpp ${DOCSDIR}
- ${INSTALL_MAN} ${WRKSRC}/Readme.txt ${DOCSDIR}/${CPPFILE}_readme.txt
- ${INSTALL_MAN} ${WRKSRC}/readme.txt ${DOCSDIR}/${LPAQ}_readme.txt
+
+do-build:
+.if !defined(NOPORTDATA)
+ @(cd ${WRKSRC}; for prog in bwt_ bwtpre exe_jo jpeg_jo lzppre; do \
+ ${CXX} ${CXXFLAGS} $${prog}.cpp -o $${prog}; done; \
+ ${CXX} ${CXXFLAGS} bwtrle.cpp divsufsort.c -o bwtrle; \
+ ${CXX} ${CXXFLAGS} zpsfx.cpp libzpaq.cpp libzpaqo.cpp -o zpsfx)
+.endif
+ @(cd ${WRKSRC}; ${CXX} ${CXXFLAGS} ${PTHREAD_CFLAGS} ${PZPAQFLAGS} \
+ pzpaq.cpp libzpaq.cpp libzpaqo.cpp ${PTHREAD_LIBS} -o pzpaq; \
+ ${CXX} ${CXXFLAGS} ${ZPAQFLAGS} zpaq.cpp libzpaq.cpp libzpaqo.cpp \
+ -o zpaq; \
+ ${CXX} ${CXXFLAGS} zpipe.cpp libzpaq.cpp libzpaqo.cpp -o zpipe; \
+ ${CXX} ${CXXFLAGS} ${PTHREAD_CFLAGS} -c libzpaq.cpp pzpaq.cpp; \
+ ${CXX} ${CXXFLAGS} -c zpaq.cpp; \
+ for page in ${MAN1} ${MAN3}; \
+ do pod2man $${page}.pod > $${page}; done)
+
+do-install:
+ @${MKDIR} ${PREFIX}/bin ${PREFIX}/include ${PREFIX}/lib/zpaq \
+ ${MANPREFIX}/man/man1 ${MANPREFIX}/man/man3
+.for prog in pzpaq zpaq zpipe
+ @${INSTALL_PROGRAM} ${WRKSRC}/${prog} ${PREFIX}/bin
+.endfor
+ @${INSTALL_DATA} ${WRKSRC}/libzpaq.h ${PREFIX}/include
+.for obj in libzpaq.o pzpaq.o zpaq.o
+ @${INSTALL_DATA} ${WRKSRC}/${obj} ${PREFIX}/lib/zpaq
+.endfor
+.for page in ${MAN1} ${MAN3}
+ @${INSTALL_MAN} ${WRKSRC}/${page} ${MANPREFIX}/man/man${page:E}
+.endfor
+.if !defined(NOPORTDATA)
+.for prog in bwt_ bwtpre bwtrle exe_jo jpeg_jo lzppre
+ @${INSTALL_PROGRAM} ${WRKSRC}/${prog} ${PREFIX}/bin
+.endfor
+ @${MKDIR} ${DATADIR}
+ @(cd ${WRKSRC}; ${INSTALL_DATA} ${WDATA} ${DATADIR}; \
+ ${INSTALL_LIB} zpsfx ${DATADIR})
+ @(cd ${_DISTDIR}; ${INSTALL_DATA} ${DDATA} ${DATADIR})
.endif
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ @(cd ${WRKSRC}; ${INSTALL_DATA} ${PORTDOCS:Nzpaq1.pdf} ${DOCSDIR})
+ @${INSTALL_DATA} ${_DISTDIR}/zpaq1.pdf ${DOCSDIR}
.endif
@${CAT} ${PKGMESSAGE}
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/archivers/paq/distinfo b/archivers/paq/distinfo
index ad68189afacc..93e292cf721b 100644
--- a/archivers/paq/distinfo
+++ b/archivers/paq/distinfo
@@ -1,8 +1,32 @@
-SHA256 (paq8o9.zip) = 53eafa4797d72b6d5630cfa9b43e69b3de58f01119bdf8f23b6d3d940a9d2336
-SIZE (paq8o9.zip) = 109559
-SHA256 (lpaq8.zip) = ea43474526f13338cbb50ce3fbd974a0d088d77a3b73d42010ad11fb89a498b2
-SIZE (lpaq8.zip) = 43529
-SHA256 (lpq1v2.zip) = 808e5e13aa4555deec3e2547554547671f94ff5ba8d30b156a322d1fa0fb82d5
-SIZE (lpq1v2.zip) = 20157
-SHA256 (paq9a.zip) = a51bafd6433c107ea31e6407ded0970e59d81ffd5e24c235f746ca856ae02c35
-SIZE (paq9a.zip) = 32163
+SHA256 (paq/bmp_j4.zip) = 1b43969dcd0f04ff6f1f90b9ae40c790b8740fa6fd1011d0c2153fc4c52fc842
+SIZE (paq/bmp_j4.zip) = 1711
+SHA256 (paq/bwt.1.zip) = 689dbafe057afb5d46be34906f4c7565d5f9d8eed7943c78b70ac10753943c68
+SIZE (paq/bwt.1.zip) = 40417
+SHA256 (paq/bwt_j3.zip) = c5e75abdd8d8a3fb6effa3c467e98aeb3175068bd454a635baae79de024b9120
+SIZE (paq/bwt_j3.zip) = 16535
+SHA256 (paq/bwt_slowmode1.zip) = 3b7fb3c4a2491b4f8b2c243f7f67a4f2c7d2b793558207001b2565f06e145a92
+SIZE (paq/bwt_slowmode1.zip) = 138176
+SHA256 (paq/exe_j1.zip) = 8e13ca38ed6fb7fd9ae5244c44b045f179b068c3d3281f1f2690c352e45ca239
+SIZE (paq/exe_j1.zip) = 9828
+SHA256 (paq/fast.cfg) = 2cf9605ba5eb73a58146509844d4b360c07ae55ebc2ab92d485d0c907166cfda
+SIZE (paq/fast.cfg) = 359
+SHA256 (paq/jpg_test2.zip) = b09eedf0760826fa6822d266c1e262e67ad4ac119e11235e192e208e558e4855
+SIZE (paq/jpg_test2.zip) = 12189
+SHA256 (paq/libzpaq.202a.zip) = 9b4c0ec9e605c5ba49c1ab691a4149e4385f7a76c41f4c782d09d2f5d5a53605
+SIZE (paq/libzpaq.202a.zip) = 35631
+SHA256 (paq/max.cfg) = 7965863923d5558409f5792167c74914a9c0d07f813ef385587450e7b5a156b7
+SIZE (paq/max.cfg) = 1754
+SHA256 (paq/mid.cfg) = 51dd9dc78513e36217033c501f4a3331d30820df875e466052b6b6175bc9bafa
+SIZE (paq/mid.cfg) = 786
+SHA256 (paq/min.zip) = 7209ffaf0d48f5e10e3134826d766e2dc52ed914ed5dbad415023db10b4e1113
+SIZE (paq/min.zip) = 9560
+SHA256 (paq/pzpaq.005.zip) = 849f7ec3b2d73a2ca18ba920ddaff647fc88093849e60000c52e6c670b319188
+SIZE (paq/pzpaq.005.zip) = 99059
+SHA256 (paq/zpaq.205.zip) = f2310b5d6085fe004afccc48e3b2b0a363d7cfb6988249c2737f57fe51ae24dd
+SIZE (paq/zpaq.205.zip) = 101816
+SHA256 (paq/zpipe.201.zip) = 742f0da404fd279683e87e66001093bef7cca268b59a774d580c54bfeff4f1a5
+SIZE (paq/zpipe.201.zip) = 42173
+SHA256 (paq/zpsfx.100.zip) = 4ccf6b7967a2545d7741021f6c87362d72077d7f51c74840ab0ae34e5f12bffa
+SIZE (paq/zpsfx.100.zip) = 43423
+SHA256 (paq/zpaq1.pdf) = dce14a22ddd51117a29743db77a79ce31f97b2dbb1b2aaec7d0be0946ed85bf0
+SIZE (paq/zpaq1.pdf) = 105049
diff --git a/archivers/paq/files/patch_zpsfx.cpp b/archivers/paq/files/patch_zpsfx.cpp
new file mode 100644
index 000000000000..edf6b9c03b65
--- /dev/null
+++ b/archivers/paq/files/patch_zpsfx.cpp
@@ -0,0 +1,41 @@
+--- zpsfx.cpp.orig 2011-03-30 19:27:34.000000000 -0400
++++ zpsfx.cpp 2011-03-30 19:28:24.000000000 -0400
+@@ -15,19 +15,38 @@
+ the executable smaller. -DNDEBUG turns off run time checks.
+ To convert a ZPAQ archive to a self extracting archive:
+
++On Windows:
++
+ copy/b zpsfx.exe+zpsfx.tag+archive.zpaq archive.exe
+
++On FreeBSD(the choice of archive name is discretionary):
++
++ cat zpsfx zpsfx.tag archive.zpaq > archive.sfx
++
+ zpsfx.tag is a 13 byte file used to mark the start of the compressed data
+ that is appended. Alternatively, zpaq with the "t" modifier will append
+ the same tag ("a" appends).
+
++On Windows:
++
+ copy zpsfx.exe archive.exe
+ zpaq ta archive.exe files...
+
++On FreeBSD:
++
++ cp zpsfx archive.sfx
++ zpaq ta archive.sfx files...
++
+ To extract:
+
++On Windows:
++
+ archive.exe
+
++On FreeBSD:
++
++ archive.sfx
++
+ The program reads itself and decompresses the appended archive.
+ You must enter the .exe extension as shown. If the file is not in
+ the current folder then you need to specify the path. The PATH environment
diff --git a/archivers/paq/files/pkg-message.in b/archivers/paq/files/pkg-message.in
index 326c8d0b2e13..db6c220bbdd9 100644
--- a/archivers/paq/files/pkg-message.in
+++ b/archivers/paq/files/pkg-message.in
@@ -1,7 +1,11 @@
*************************************************************************
-
-See %%DOCSDIR%%/*_readme.txt and the comments at the head of
-%%DOCSDIR%%/*paq*.cpp for instructions and details on usage
-and the algorithms employed.
-
-*************************************************************************
+In addition to the manpages, see %%DOCSDIR%%/readme_*.txt and the
+comments at the head of %%DOCSDIR%%/*.cpp for instructions and
+details on usage and the algorithms employed. For simplicity, the
+".exe" suffix has been retained for temporary executables used with
+the zpaq "o" flag, and optimized pzpaq decompression. However, the
+suffix has been dropped from the zpsfx self-expanding archive stub
+executable, to avoid confusion with win32 executable stubs. zpsfx
+can be further compressed with archivers/upx, to yield smaller
+self-expanding archives.
+************************************************************************
diff --git a/archivers/paq/pkg-descr b/archivers/paq/pkg-descr
index bb6f8dd412b2..4a696b125cca 100644
--- a/archivers/paq/pkg-descr
+++ b/archivers/paq/pkg-descr
@@ -1,22 +1,24 @@
-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).
+paq is a family of archivers with the best lossless compression ratios now
+available across a wide variety of test data, according to several benchmarks.
+A comparison of paq to other compression methods, on a 2GHz T3200, when
+compressing a large text file:
-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). Note that different versions of paq are usually incompatible, so
-steps must be taken to ensure that the contents of archives made with older
-versions of paq will still be accessible after updating paq.
+Format Size Time (sec) Memory
+ comp decomp
+----------- --------- -------------- -------
+Uncompressed 3,152,896
+compress 1,319,521 1.6 0.2 .1 MB
+gzip -9 1,022,810 0.7 0.1 .1 MB
+bzip2 -9 860,097 0.6 0.4 5 MB
+p7zip (7z) 824,573 1.5 0.1 195 MB
+xz -6 822,016 ? ? ?
+zpaq c1 (fast) 806,959 2 2 38 MB
+zpaq c2 (mid) 699,191 8 8 112 MB
+zpaq c3 (max) 644,190 20 20 246 MB
-WWW: http://www.cs.fit.edu/~mmahoney/compression/
+The port uses the open ZPAQ specification, and contains: a public-domain C++
+API for reading and writing ZPAQ compressed data to or from files or objects
+in memory; serial and multi-threaded archivers; extra preprocessors for
+compression; and stubs for creating self-extracting archives.
+
+WWW: http://mattmahoney.net/dc/zpaq.html
diff --git a/archivers/paq/pkg-plist b/archivers/paq/pkg-plist
index 1209e26affeb..a2ea05a596fc 100644
--- a/archivers/paq/pkg-plist
+++ b/archivers/paq/pkg-plist
@@ -1,12 +1,14 @@
-bin/%%CPPFILE%%
-%%THIRTYTWO%%bin/%%LPAQ%%
-%%THIRTYTWO%%bin/%%LPAQ%%e
-%%THIRTYTWO%%bin/%%LPQ%%
-%%THIRTYTWO%%bin/%%PAQ9%%
-%%PORTDOCS%%%%DOCSDIR%%/%%CPPFILE%%.cpp
-%%PORTDOCS%%%%DOCSDIR%%/%%CPPFILE%%_readme.txt
-%%THIRTYTWO%%%%PORTDOCS%%%%DOCSDIR%%/%%LPAQ%%.cpp
-%%THIRTYTWO%%%%PORTDOCS%%%%DOCSDIR%%/%%LPQ%%.cpp
-%%THIRTYTWO%%%%PORTDOCS%%%%DOCSDIR%%/%%PAQ9%%.cpp
-%%THIRTYTWO%%%%PORTDOCS%%%%DOCSDIR%%/%%LPAQ%%_readme.txt
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%PORTDATA%%bin/bwt_
+%%PORTDATA%%bin/bwtpre
+%%PORTDATA%%bin/bwtrle
+%%PORTDATA%%bin/exe_jo
+%%PORTDATA%%bin/jpeg_jo
+%%PORTDATA%%bin/lzppre
+bin/pzpaq
+bin/zpaq
+bin/zpipe
+include/libzpaq.h
+lib/zpaq/libzpaq.o
+lib/zpaq/pzpaq.o
+lib/zpaq/zpaq.o
+@dirrm lib/zpaq