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};;

Reply via email to