aboutsummaryrefslogtreecommitdiffstats
path: root/archivers
diff options
context:
space:
mode:
authorsf <sf@FreeBSD.org>2004-12-28 10:46:57 +0800
committersf <sf@FreeBSD.org>2004-12-28 10:46:57 +0800
commitd93e6b7b73ef2961acf9c6f5058c4ca7be782b8d (patch)
tree6b4d80513902bb07fc49ed100389ee419fd5934d /archivers
parenta74f7962f991cf71e5408a0cb2b04ac6434ab14f (diff)
downloadfreebsd-ports-gnome-d93e6b7b73ef2961acf9c6f5058c4ca7be782b8d.tar.gz
freebsd-ports-gnome-d93e6b7b73ef2961acf9c6f5058c4ca7be782b8d.tar.zst
freebsd-ports-gnome-d93e6b7b73ef2961acf9c6f5058c4ca7be782b8d.zip
update to 4.13.
o Ressurect pkg-plist to support to make modules optional. 25 lines out of 31 are wrapped with %%MODULES%% which can be controlled by WITHOUT_MODULES knob. The modules support more codecs and formats than stand-alone binary. o Install 7za to libexec and wrap it with script to support sfx creation. 7za and .sfx should be placed in the same directory as 7z and modules do. o Wrapper script executes corresponding binary (7z or 7za.) In WITHOUT_MODULES case, it can be called by 7z or 7za but always executes 7za. This is compatible action for previous port. o Turn BROKEN to IGNORE. There is no hope to compile this software in RELENG_4. And correct quotation for this change. Approved by: maintainer
Diffstat (limited to 'archivers')
-rw-r--r--archivers/p7zip/Makefile33
-rw-r--r--archivers/p7zip/distinfo4
-rw-r--r--archivers/p7zip/files/7z9
-rw-r--r--archivers/p7zip/pkg-plist31
4 files changed, 68 insertions, 9 deletions
diff --git a/archivers/p7zip/Makefile b/archivers/p7zip/Makefile
index a2adc9624acd..991a4b142fea 100644
--- a/archivers/p7zip/Makefile
+++ b/archivers/p7zip/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= p7zip
-PORTVERSION= 4.12
+PORTVERSION= 4.13
CATEGORIES= archivers
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= p7zip
@@ -20,15 +20,24 @@ USE_GMAKE= yes
MAKEFILE= makefile
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}
-PLIST_FILES= "@unexec ${RM} %D/bin/7z"
-PLIST_FILES+= bin/7za
-PLIST_FILES+= "@exec ${LN} -sf 7za %D/bin/7z"
PORTDOCS= *
+DLLDIR= ${PREFIX}/libexec/p7zip
+7ZBIN= 7za 7zCon.sfx
+
+.if defined(WITHOUT_MODULES)
+PLIST_SUB= MODULES="@comment "
+ALL_TARGET= 7za sfx
+.else
+PLIST_SUB= MODULES=""
+ALL_TARGET= all2
+7ZBIN+= 7z
+.endif
+
.include <bsd.port.pre.mk>
.if ${OSVERSION} < 500039
-BROKEN= 'Requires wchar functions (mbrtowc(3) etc.) for compilation'
+IGNORE= requires wchar functions (mbrtowc(3) etc.) for compilation
.endif
post-patch:
@@ -40,8 +49,18 @@ post-patch:
${WRKSRC}/makefile.freebsd_x86 > ${WRKSRC}/makefile.machine
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/bin/7za ${PREFIX}/bin
- ${LN} -sf 7za ${PREFIX}/bin/7z
+ ${MKDIR} ${DLLDIR}
+.for f in ${7ZBIN}
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${DLLDIR}
+.endfor
+ ${INSTALL_SCRIPT} ${FILESDIR}/7z ${PREFIX}/bin
+ ${LN} -sf 7z ${PREFIX}/bin/7za
+.if !defined(WITHOUT_MODULES)
+.for f in Codecs Formats
+ ${MKDIR} ${DLLDIR}/${f}
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/${f}/* ${DLLDIR}/${f}
+.endfor
+.endif
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
${PAX} -rw -s,${WRKSRC}/DOCS,, ${WRKSRC}/DOCS ${DOCSDIR}
diff --git a/archivers/p7zip/distinfo b/archivers/p7zip/distinfo
index 88f0dd643323..ea51be0200b0 100644
--- a/archivers/p7zip/distinfo
+++ b/archivers/p7zip/distinfo
@@ -1,2 +1,2 @@
-MD5 (p7zip_4.12_src.tar.bz2) = 82d4859d8e3b30a54ac5ad6a12b16e10
-SIZE (p7zip_4.12_src.tar.bz2) = 454996
+MD5 (p7zip_4.13_src.tar.bz2) = 980cff8a3357d3ab47527e24ef143e10
+SIZE (p7zip_4.13_src.tar.bz2) = 457094
diff --git a/archivers/p7zip/files/7z b/archivers/p7zip/files/7z
new file mode 100644
index 000000000000..c2c5ba19f17e
--- /dev/null
+++ b/archivers/p7zip/files/7z
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+PROGNAME=${0##*/}
+BINPATH=$(dirname $(realpath $0))/../libexec/p7zip
+if [ $PROGNAME = "7z" -a ! -x "$BINPATH/7z" -a -x "$BINPATH/7za" ]; then
+ PROGNAME=7za
+fi
+
+exec "$BINPATH/$PROGNAME" "$@"
diff --git a/archivers/p7zip/pkg-plist b/archivers/p7zip/pkg-plist
new file mode 100644
index 000000000000..7379af05e809
--- /dev/null
+++ b/archivers/p7zip/pkg-plist
@@ -0,0 +1,31 @@
+@unexec /bin/rm -f %D/bin/7za
+bin/7z
+@exec /bin/ln -sf 7z %D/bin/7za
+%%MODULES%%libexec/p7zip/7z
+libexec/p7zip/7za
+libexec/p7zip/7zCon.sfx
+%%MODULES%%libexec/p7zip/Codecs/7zAES.dll
+%%MODULES%%libexec/p7zip/Codecs/AES.dll
+%%MODULES%%libexec/p7zip/Codecs/BZip2.dll
+%%MODULES%%libexec/p7zip/Codecs/Branch.dll
+%%MODULES%%libexec/p7zip/Codecs/Copy.dll
+%%MODULES%%libexec/p7zip/Codecs/Deflate.dll
+%%MODULES%%libexec/p7zip/Codecs/Implode.dll
+%%MODULES%%libexec/p7zip/Codecs/LZMA.dll
+%%MODULES%%libexec/p7zip/Codecs/PPMD.dll
+%%MODULES%%libexec/p7zip/Codecs/Swap.dll
+%%MODULES%%libexec/p7zip/Formats/7z.dll
+%%MODULES%%libexec/p7zip/Formats/Rar.dll
+%%MODULES%%libexec/p7zip/Formats/Tar.dll
+%%MODULES%%libexec/p7zip/Formats/Zip.dll
+%%MODULES%%libexec/p7zip/Formats/arj.dll
+%%MODULES%%libexec/p7zip/Formats/bz2.dll
+%%MODULES%%libexec/p7zip/Formats/cab.dll
+%%MODULES%%libexec/p7zip/Formats/cpio.dll
+%%MODULES%%libexec/p7zip/Formats/deb.dll
+%%MODULES%%libexec/p7zip/Formats/gz.dll
+%%MODULES%%libexec/p7zip/Formats/rpm.dll
+%%MODULES%%libexec/p7zip/Formats/split.dll
+%%MODULES%%@dirrm libexec/p7zip/Formats
+%%MODULES%%@dirrm libexec/p7zip/Codecs
+@dirrm libexec/p7zip