136 lines
4.1 KiB
Makefile
136 lines
4.1 KiB
Makefile
# Created by: bf <bf2006a@yahoo.com>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= paq
|
|
PORTVERSION= 20140131
|
|
CATEGORIES= archivers
|
|
MASTER_SITES= http://mattmahoney.net/dc/ LOCAL/bf/paq/
|
|
DISTFILES= wbpe110.zip zpaqd633.zip zpaq649.zip zpipe.201.zip
|
|
DIST_SUBDIR= ${PORTNAME}
|
|
EXTRACT_ONLY= ${DISTFILES:M*.zip}
|
|
|
|
MAINTAINER= bf@FreeBSD.org
|
|
COMMENT= Family of archivers with extremely high compression ratios
|
|
|
|
LICENSE= GPLv3 MIT
|
|
LICENSE_COMB= multi
|
|
|
|
USE_ZIP= yes
|
|
USES= dos2unix
|
|
|
|
EXTRACT_AFTER_ARGS= -x *.bat *.exe readme.txt -d ${WRKDIR}
|
|
NO_WRKSUBDIR= yes
|
|
OPTIONS_DEFINE= OPENMP
|
|
SUB_FILES= pkg-message
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${ARCH} == "amd64" || ( ${ARCH} == "i386" && !empty(MACHINE_CPU:Msse2) )
|
|
ZPAQFLAGS= -Dunix -msse2
|
|
.else
|
|
ZPAQFLAGS= -Dunix -DNOJIT
|
|
.endif
|
|
|
|
.if defined(WITH_DEBUG)
|
|
CXXFLAGS+= -DDEBUG
|
|
.else
|
|
CXXFLAGS+= -DNDEBUG
|
|
.endif
|
|
|
|
.if !defined(NOPORTDATA) || make(makesum)
|
|
DISTFILES+= bmp_j4c.zip bwt.1.zip bwt_j3.zip bwt_slowmode1.zip \
|
|
calgarytest.zpaq calgarytest2.zpaq exe_j1.zip fast.cfg \
|
|
jpg_test2.zip lazy210.zip lz1.zip max.cfg mid.cfg min.zip \
|
|
zpsfx.100.zip zpsfx101.cpp
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MDOCS} || make(makesum)
|
|
DISTFILES+= zpaq1.pdf zpaq202.pdf zpaq203.pdf
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
PORTDOCS= libzpaq.cpp wbpe.cpp zpaq.cpp zpaq1.pdf zpaq202.pdf zpaq203.pdf zpipe.cpp
|
|
.endif
|
|
|
|
.if !defined(NOPORTDATA)
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
PORTDOCS+= bwt_.cpp bwtpre.cpp bwtrle.cpp divsufsort.c divsufsort.h \
|
|
exe_jo.cpp jpeg_jo.cpp lzpre.cpp lzppre.cpp readme_bwt.txt \
|
|
readme_bwt_j3.txt readme_exe_j1.txt readme_lazy210.txt zpsfx.cpp
|
|
READMES+= bwt_j3 exe_j1 lazy210
|
|
EXTRA_PATCHES+= ${FILESDIR}/patch_zpsfx.cpp
|
|
.endif
|
|
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 lazy2.cfg lz1.cfg min.cfg zpsfx.tag
|
|
DDATA= fast.cfg max.cfg mid.cfg
|
|
PORTDATA= ${WDATA} ${DDATA} zpsfx
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MOPENMP}
|
|
OPENMP_CFLAGS+= -fopenmp
|
|
USE_GCC= any
|
|
.endif
|
|
|
|
post-extract:
|
|
@${CP} ${DISTDIR}/${DIST_SUBDIR}/zpsfx101.cpp ${WRKSRC}/zpsfx.cpp
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
.for r in ${READMES}
|
|
@${UNZIP_CMD} -pq ${DISTDIR}/${DIST_SUBDIR}/${r}.zip readme.txt > ${WRKSRC}/readme_${r:R}.txt
|
|
.endfor
|
|
|
|
.endif
|
|
|
|
post-patch:
|
|
.if !defined(NOPORTDATA)
|
|
@${REINPLACE_CMD} -e 's|c:\\res\\zpaq\\||' ${WRKSRC}/bwt[12].cfg \
|
|
${WRKSRC}/bwtrle[12].cfg
|
|
.endif
|
|
|
|
do-build:
|
|
.if !defined(NOPORTDATA)
|
|
@cd ${WRKSRC}; for prog in bwt_ bwtpre exe_jo jpeg_jo lazy2 lzpre \
|
|
lzppre; do \
|
|
${CXX} ${CXXFLAGS} -o $${prog} $${prog}.cpp; done; \
|
|
${CXX} ${CXXFLAGS} -o bwtrle bwtrle.cpp divsufsort.c; \
|
|
${CXX} ${CXXFLAGS} ${ZPAQFLAGS} -o zpsfx zpsfx.cpp libzpaq.cpp
|
|
.endif
|
|
@cd ${WRKSRC}; \
|
|
${CXX} ${CXXFLAGS} -o wbpe wbpe.cpp; \
|
|
${CXX} ${CXXFLAGS} ${OPENMP_CFLAGS} ${ZPAQFLAGS} \
|
|
-o zpaq zpaq.cpp libzpaq.cpp divsufsort.c ${LDFLAGS} -pthread; \
|
|
${CXX} ${CXXFLAGS:N-DNDEBUG} ${ZPAQFLAGS} \
|
|
-o zpaqd zpaqd.cpp libzpaq.cpp ${LDFLAGS}; \
|
|
${CXX} ${CXXFLAGS} ${ZPAQFLAGS} -o zpipe zpipe.cpp libzpaq.cpp
|
|
|
|
do-install:
|
|
.for prog in wbpe zpaq zpaqd zpipe
|
|
@${INSTALL_PROGRAM} ${WRKSRC}/${prog} ${STAGEDIR}${PREFIX}/bin
|
|
.endfor
|
|
@${INSTALL_DATA} ${WRKSRC}/libzpaq.h ${STAGEDIR}${PREFIX}/include
|
|
.if !defined(NOPORTDATA)
|
|
.for prog in bwt_ bwtpre bwtrle exe_jo jpeg_jo lazy2 lzpre lzppre
|
|
@${INSTALL_PROGRAM} ${WRKSRC}/${prog} ${STAGEDIR}${PREFIX}/bin
|
|
.endfor
|
|
@${MKDIR} ${STAGEDIR}${DATADIR}
|
|
@cd ${WRKSRC}; ${INSTALL_DATA} ${WDATA} ${STAGEDIR}${DATADIR}; \
|
|
${INSTALL_LIB} zpsfx ${STAGEDIR}${DATADIR}
|
|
@cd ${_DISTDIR}; ${INSTALL_DATA} ${DDATA} ${STAGEDIR}${DATADIR}
|
|
.endif
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
@cd ${WRKSRC}; ${INSTALL_DATA} ${PORTDOCS:N*.pdf} ${STAGEDIR}${DOCSDIR}
|
|
@cd ${DISTDIR}/${DIST_SUBDIR}; ${INSTALL_DATA} ${PORTDOCS:M*.pdf} ${STAGEDIR}${DOCSDIR}
|
|
.endif
|
|
|
|
check regression-test test: build
|
|
.for _f in calgarytest.zpaq calgarytest2.zpaq
|
|
.for _c in -list -test
|
|
${WRKSRC}/zpaq ${_c} ${DISTDIR}/${DIST_SUBDIR}/${_f}
|
|
.endfor
|
|
${WRKSRC}/zpaq -encrypt ${DISTDIR}/${DIST_SUBDIR}/${_f} -to ${WRKSRC}/encrypted_${_f} password
|
|
${WRKSRC}/zpaq -test ${WRKSRC}/encrypted_${_f} -key password
|
|
.endfor
|
|
|
|
.include <bsd.port.mk>
|