Hi,
This adds support for archivers/xz compressed archivers via EXTRACT_SUFX.
Comments? Ok?
Index: bsd.port.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/bsd.port.mk,v
retrieving revision 1.1066
diff -u -p -r1.1066 bsd.port.mk
--- bsd.port.mk 14 Dec 2010 11:37:38 -0000 1.1066
+++ bsd.port.mk 17 Jan 2011 09:03:10 -0000
@@ -745,6 +745,7 @@ PATCH_DIST_ARGS += -C
TAR ?= /bin/tar
UNZIP ?= unzip
BZIP2 ?= bzip2
+XZIP ?= xz
# copy selected info from bsd.own.mk
@@ -1206,8 +1207,13 @@ _USE_ZIP ?= Yes
(defined(PATCHFILES) && !empty(_PATCHFILES:M*.bz2))
_USE_BZIP2 ?= Yes
.endif
+.if !empty(EXTRACT_ONLY:M*.tar.xz) || !empty(EXTRACT_ONLY:M*.txz) || \
+ (defined(PATCHFILES) && !empty(_PATCHFILES:M*.xz))
+_USE_XZIP ?= Yes
+.endif
_USE_ZIP ?= No
_USE_BZIP2 ?= No
+_USE_XZIP ?= No
EXTRACT_CASES ?=
@@ -1224,6 +1230,11 @@ BUILD_DEPENDS += archivers/bzip2
EXTRACT_CASES += *.tar.bz2|*.tbz2) \
${BZIP2} -dc ${FULLDISTDIR}/$$archive | ${TAR} xf -;;
.endif
+.if ${_USE_XZIP} != "no"
+BUILD_DEPENDS += archivers/xz
+EXTRACT_CASES += *.tar.xz|*.txz) \
+ ${XZIP} -dc ${FULLDISTDIR}/$$archive | ${TAR} xf -;;
+.endif
EXTRACT_CASES += *.tar) \
${TAR} xf ${FULLDISTDIR}/$$archive;;
EXTRACT_CASES += *.shar.gz|*.shar.Z|*.sh.gz|*.sh.Z) \
@@ -1241,6 +1252,10 @@ PATCH_CASES ?=
.if ${_USE_BZIP2:L} != "no"
PATCH_CASES += *.bz2) \
${BZIP2} -dc $$patchfile | ${PATCH} ${PATCH_DIST_ARGS};;
+.endif
+.if ${_USE_XZIP:L} != "no"
+PATCH_CASES += *.xz) \
+ ${XZIP} -dc $$patchfile | ${PATCH} ${PATCH_DIST_ARGS};;
.endif
PATCH_CASES += *.Z|*.gz) \
${GZCAT} $$patchfile | ${PATCH} ${PATCH_DIST_ARGS};;