aboutsummaryrefslogtreecommitdiffstats
path: root/archivers/p7zip
diff options
context:
space:
mode:
authornox <nox@FreeBSD.org>2009-11-27 05:02:41 +0800
committernox <nox@FreeBSD.org>2009-11-27 05:02:41 +0800
commitfa03bf48f3ff744bc874c6c2ee28d6f5256169c9 (patch)
treecf0461c49022a7a4fa9b9563b5554ad7cd794ae3 /archivers/p7zip
parentc257393bec83712ccdba4e14b6f9708632d840b9 (diff)
downloadfreebsd-ports-gnome-fa03bf48f3ff744bc874c6c2ee28d6f5256169c9.tar.gz
freebsd-ports-gnome-fa03bf48f3ff744bc874c6c2ee28d6f5256169c9.tar.zst
freebsd-ports-gnome-fa03bf48f3ff744bc874c6c2ee28d6f5256169c9.zip
Add option to build minimal possible executable supporting only 7zip archives.
PR: ports/140903 Submitted by: Eugene Perevyazko <john@dnepro.net>
Diffstat (limited to 'archivers/p7zip')
-rw-r--r--archivers/p7zip/Makefile41
-rw-r--r--archivers/p7zip/pkg-plist13
2 files changed, 35 insertions, 19 deletions
diff --git a/archivers/p7zip/Makefile b/archivers/p7zip/Makefile
index b0f942c6eb25..62d62f23b182 100644
--- a/archivers/p7zip/Makefile
+++ b/archivers/p7zip/Makefile
@@ -13,21 +13,45 @@ DISTNAME= ${PORTNAME}_${DISTVERSION}_src_all
MAINTAINER= nox@FreeBSD.org
COMMENT= File archiver with high compression ratio
+OPTIONS= MINIMAL "Support only .7z file format" off
USE_BZIP2= yes
MAKEFILE= makefile
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}
-MAN1= 7z.1 7za.1 7zr.1 p7zip.1
MAKE_JOBS_UNSAFE= yes
-DLLDIR= ${PREFIX}/libexec/p7zip
-PLIST_SUB= MODULES=""
-ALL_TARGET= 7z 7za 7zr Client7z sfx
-7ZBIN= 7z 7za 7zr Client7z 7zCon.sfx
-.if defined(WITHOUT_MODULES)
+.include <bsd.port.options.mk>
+
+.if defined(WITH_MINIMAL)
+MAN1= 7zr.1
+MLINKS= 7zr.1 7z.1
PLIST_SUB= MODULES="@comment "
+ALL_TARGET= 7zr
+7ZBIN= 7zr
+PLIST_FILES= bin/7zr \
+ bin/7z
+.else
+MAN1= 7z.1 7za.1 7zr.1 p7zip.1
+DLLDIR= ${PREFIX}/libexec/p7zip
ALL_TARGET= 7za 7zr sfx
7ZBIN= 7za 7zr 7zCon.sfx
+PLIST_FILES= bin/7z \
+ bin/7za \
+ bin/7zr \
+ bin/p7zip \
+ libexec/p7zip/7za \
+ libexec/p7zip/7zr \
+ libexec/p7zip/7zCon.sfx
+.if !defined(WITHOUT_MODULES)
+ALL_TARGET= 7z 7za 7zr Client7z sfx
+7ZBIN= 7z 7za 7zr Client7z 7zCon.sfx
+PLIST_DIRS+= libexec/p7zip/Codecs
+PLIST_FILES+= libexec/p7zip/7z \
+ libexec/p7zip/7z.so \
+ libexec/p7zip/Client7z \
+ libexec/p7zip/Codecs/Rar29.so
+.endif
+PLIST_DIRS+= libexec/p7zip
.endif
.include <bsd.port.pre.mk>
@@ -51,6 +75,10 @@ post-patch:
${MV} ${WRKSRC}/contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1 ${WRKSRC}/man1/
do-install:
+.if defined(WITH_MINIMAL)
+ cd ${WRKSRC}/bin/&&${INSTALL_PROGRAM} ${7ZBIN} ${PREFIX}/bin/
+ ${LN} -sf ${PREFIX}/bin/7zr ${PREFIX}/bin/7z
+.else
${INSTALL} -d ${DLLDIR}/
cd ${WRKSRC}/bin/&&${INSTALL_PROGRAM} ${7ZBIN} ${DLLDIR}/
${INSTALL_SCRIPT} ${FILESDIR}/7z ${PREFIX}/bin/
@@ -62,6 +90,7 @@ do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/Codecs/Rar29.so ${DLLDIR}/Codecs/
${INSTALL_PROGRAM} ${WRKSRC}/bin/7z.so ${DLLDIR}/
.endif
+.endif
.if !defined(NOPORTDOCS)
@cd ${WRKSRC}/DOCS/&&${COPYTREE_SHARE} . ${DOCSDIR}/
.endif
diff --git a/archivers/p7zip/pkg-plist b/archivers/p7zip/pkg-plist
index 2cd0ce96d9a2..8d3946961ca5 100644
--- a/archivers/p7zip/pkg-plist
+++ b/archivers/p7zip/pkg-plist
@@ -1,16 +1,3 @@
-bin/7z
-bin/7za
-bin/7zr
-bin/p7zip
-%%MODULES%%libexec/p7zip/7z
-%%MODULES%%libexec/p7zip/7z.so
-%%MODULES%%libexec/p7zip/Client7z
-libexec/p7zip/7za
-libexec/p7zip/7zr
-libexec/p7zip/7zCon.sfx
-%%MODULES%%libexec/p7zip/Codecs/Rar29.so
-%%MODULES%%@dirrm libexec/p7zip/Codecs
-@dirrm libexec/p7zip
%%PORTDOCS%%%%DOCSDIR%%/7zC.txt
%%PORTDOCS%%%%DOCSDIR%%/7zFormat.txt
%%PORTDOCS%%%%DOCSDIR%%/License.txt