summaryrefslogtreecommitdiff
path: root/mk/bsd.pkg.mk
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2005-05-11 04:01:49 +0000
committerjlam <jlam@pkgsrc.org>2005-05-11 04:01:49 +0000
commit0e589ad8af2bbad714f2d47d03850bde74a43713 (patch)
treecb58d6397fef58957a95ebbd2d066517d9506003 /mk/bsd.pkg.mk
parent962622ba7d396cd059ee80174339fe817f001d9e (diff)
downloadpkgsrc-0e589ad8af2bbad714f2d47d03850bde74a43713.tar.gz
Separate out the variables and targets for the "extract" phase into a
separate file pkgsrc/mk/bsd.pkg.extract.mk. Also, include this file ahead of the inclusion of bsd.tools.mk so that tools required to extract are created by the tools framework.
Diffstat (limited to 'mk/bsd.pkg.mk')
-rw-r--r--mk/bsd.pkg.mk145
1 files changed, 4 insertions, 141 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index ead7cc46dc9..75692be2515 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.1636 2005/05/11 02:07:37 jlam Exp $
+# $NetBSD: bsd.pkg.mk,v 1.1637 2005/05/11 04:01:49 jlam Exp $
#
# This file is in the public domain.
#
@@ -156,8 +156,6 @@ DESCR_SRC?= ${PKGDIR}/DESCR
DIGEST_ALGORITHMS?= SHA1 RMD160
DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
DISTINFO_FILE?= ${PKGDIR}/distinfo
-EXTRACT_ONLY?= ${DISTFILES}
-EXTRACT_SUFX?= .tar.gz
INSTALL_DIRS?= ${BUILD_DIRS}
INSTALL_MAKE_FLAGS?= ${MAKE_FLAGS}
INSTALL_TARGET?= install
@@ -974,6 +972,9 @@ PKGSRC_USE_TOOLS+= \
PKGSRC_USE_TOOLS+= mail
.endif
+# Extract
+.include "../../mk/bsd.pkg.extract.mk"
+
.if !empty(_USE_NEW_TOOLS:M[yY][eE][sS])
.include "../../mk/tools/bsd.tools.mk"
.else
@@ -1752,144 +1753,6 @@ ${WRKDIR}:
.endif # WRKOBJDIR
-_EXTRACT_SUFFIXES= .tar.gz .tgz .tar.bz2 .tbz .tar.Z .tar _tar.gz
-_EXTRACT_SUFFIXES+= .shar.gz .shar.bz2 .shar.Z .shar
-_EXTRACT_SUFFIXES+= .zip
-_EXTRACT_SUFFIXES+= .lha .lzh
-_EXTRACT_SUFFIXES+= .Z .bz2 .gz
-_EXTRACT_SUFFIXES+= .zoo
-_EXTRACT_SUFFIXES+= .bin
-_EXTRACT_SUFFIXES+= .rar
-
-# If the distfile has a tar.bz2 suffix, use bzcat in preference to gzcat,
-# pulling in the "bzip2" package if necessary. [Note: this is only for
-# the benefit of pre-1.5 NetBSD systems. "gzcat" on newer systems happily
-# decodes bzip2.] Do likewise for ".zip" and ".lha" distfiles.
-#
-.if !empty(EXTRACT_ONLY:M*.bz2) || !empty(EXTRACT_ONLY:M*.tbz) || \
- !empty(EXTRACT_SUFX:M*.bz2) || !empty(EXTRACT_SUFX:M*.tbz)
-. if !empty(_USE_NEW_TOOLS:M[yY][eE][sS])
-PKGSRC_USE_TOOLS+= bzcat
-. elif exists(/usr/bin/bzcat)
-BZCAT= /usr/bin/bzcat <
-. else
-BUILD_DEPENDS+= bzip2>=0.9.0b:../../archivers/bzip2
-BZCAT= ${LOCALBASE}/bin/bzcat
-. endif
-.endif
-.if !empty(EXTRACT_ONLY:M*.zip) || !empty(EXTRACT_SUFX:M*.zip)
-BUILD_DEPENDS+= unzip-[0-9]*:../../archivers/unzip
-.endif
-.if !empty(EXTRACT_ONLY:M*.lzh) || !empty(EXTRACT_ONLY:M*.lha) || \
- !empty(EXTRACT_SUFX:M*.lzh) || !empty(EXTRACT_SUFX:M*.lha)
-BUILD_DEPENDS+= lha>=114.9:../../archivers/lha
-.endif
-.if !empty(EXTRACT_ONLY:M*.gz) || !empty(EXTRACT_ONLY:M*.tgz) || \
- !empty(EXTRACT_SUFX:M*.gz) || !empty(EXTRACT_SUFX:M*.tgz)
-. if !empty(_USE_NEW_TOOLS:M[yY][eE][sS])
-PKGSRC_USE_TOOLS+= gzcat
-. elif !defined(GZCAT)
-BUILD_DEPENDS+= gzip-base>=1.2.4b:../../archivers/gzip-base
-GZCAT= ${LOCALBASE}/bin/zcat
-. endif
-.endif
-.if !empty(EXTRACT_ONLY:M*.zoo) || !empty(EXTRACT_SUFX:M*.zoo)
-BUILD_DEPENDS+= unzoo-[0-9]*:../../archivers/unzoo
-.endif
-.if !empty(EXTRACT_ONLY:M*.rar) || !empty(EXTRACT_SUFX:M*.rar)
-BUILD_DEPENDS+= unrar>=3.3.4:../../archivers/unrar
-.endif
-
-DECOMPRESS_CMD.tar.gz?= ${GZCAT}
-DECOMPRESS_CMD.tgz?= ${DECOMPRESS_CMD.tar.gz}
-DECOMPRESS_CMD.tar.bz2?= ${BZCAT}
-DECOMPRESS_CMD.tbz?= ${DECOMPRESS_CMD.tar.bz2}
-DECOMPRESS_CMD.tar.Z?= ${GZCAT}
-DECOMPRESS_CMD.tar?= ${CAT}
-
-DECOMPRESS_CMD.shar.gz?= ${GZCAT}
-DECOMPRESS_CMD.shar.bz2?= ${BZCAT}
-DECOMPRESS_CMD.shar.Z?= ${GZCAT}
-DECOMPRESS_CMD.shar?= ${CAT}
-
-DECOMPRESS_CMD.Z?= ${GZCAT}
-DECOMPRESS_CMD.bz2?= ${BZCAT}
-DECOMPRESS_CMD.gz?= ${GZCAT}
-
-DECOMPRESS_CMD?= ${GZCAT}
-.for __suffix__ in ${_EXTRACT_SUFFIXES}
-. if !defined(DECOMPRESS_CMD${__suffix__})
-DECOMPRESS_CMD${__suffix__}?= ${DECOMPRESS_CMD}
-. endif
-.endfor
-
-# If this is empty, then everything gets extracted.
-EXTRACT_ELEMENTS?= # empty
-
-DOWNLOADED_DISTFILE= $${extract_file}
-
-EXTRACT_CMD.zip?= ${LOCALBASE}/bin/unzip ${EXTRACT_CMD_OPTS.zip} $${extract_file}
-EXTRACT_CMD_OPTS.zip?= -Laqo
-EXTRACT_CMD.lha?= ${LOCALBASE}/bin/lha ${EXTRACT_CMD_OPTS.lha} $${extract_file}
-EXTRACT_CMD_OPTS.lha?= xq
-EXTRACT_CMD.lzh?= ${EXTRACT_CMD.lha}
-EXTRACT_CMD_OPTS.lzh?= ${EXTRACT_CMD_OPTS.lha}
-EXTRACT_CMD.zoo?= ${LOCALBASE}/bin/unzoo ${EXTRACT_CMD_OPTS.zoo} $${extract_file}
-EXTRACT_CMD_OPTS.zoo?= -x
-EXTRACT_CMD.rar?= ${LOCALBASE}/bin/unrar ${EXTRACT_CMD_OPTS.rar} $${extract_file}
-EXTRACT_CMD_OPTS.rar?= x -inul
-EXTRACT_ENV.bin?= # empty
-EXTRACT_CMD.bin?= ${ECHO} yes | ${SETENV} ${EXTRACT_ENV.bin} $${extract_file} ${EXTRACT_CMD_OPTS.bin} >/dev/null
-
-.for __suffix__ in .gz .bz2 .Z
-EXTRACT_CMD${__suffix__}?= ${DECOMPRESS_CMD${__suffix__}} $${extract_file} > `${BASENAME} $${extract_file} ${__suffix__}`
-.endfor
-
-.for __suffix__ in .shar.gz .shar.bz2 .shar.Z .shar
-EXTRACT_CMD${__suffix__}?= ${DECOMPRESS_CMD${__suffix__}} $${extract_file} | ${SH}
-.endfor
-
-# If EXTRACT_USING_PAX is defined, use pax in preference to (GNU) tar.
-#
-.if defined(EXTRACT_USING_PAX)
-_DFLT_EXTRACT_CMD?= ${DECOMPRESS_CMD} $${extract_file} | ${PAX} -O -r ${EXTRACT_ELEMENTS}
-.else
-_DFLT_EXTRACT_CMD?= ${DECOMPRESS_CMD} $${extract_file} | ${GTAR} -xf - ${EXTRACT_ELEMENTS}
-.endif
-
-.for __suffix__ in ${_EXTRACT_SUFFIXES}
-. if !defined(EXTRACT_CMD${__suffix__})
-. if defined(EXTRACT_USING_PAX)
-EXTRACT_CMD${__suffix__}?= ${DECOMPRESS_CMD${__suffix__}} $${extract_file} | ${PAX} -O -r ${EXTRACT_ELEMENTS}
-. else
-EXTRACT_CMD${__suffix__}?= ${DECOMPRESS_CMD${__suffix__}} $${extract_file} | ${GTAR} -xf - ${EXTRACT_ELEMENTS}
-. endif
-. endif
-.endfor
-
-# _SHELL_EXTRACT is a "subroutine" for extracting an archive. It extracts
-# the contents of archive named by the shell variable "extract_file" based
-# on the file extension of the archive.
-#
-_SHELL_EXTRACT= case $${extract_file} in
-.for __suffix__ in ${_EXTRACT_SUFFIXES}
-_SHELL_EXTRACT+= *${__suffix__}) ${EXTRACT_CMD${__suffix__}} ;;
-.endfor
-_SHELL_EXTRACT+= *) ${_DFLT_EXTRACT_CMD} ;;
-_SHELL_EXTRACT+= esac
-
-EXTRACT_CMD?= ${_SHELL_EXTRACT}
-
-.PHONY: do-extract
-.if !target(do-extract)
-do-extract: ${WRKDIR}
-. for __file__ in ${EXTRACT_ONLY}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- extract_file="${_DISTDIR}/${__file__}"; export extract_file; \
- cd ${WRKDIR}; ${EXTRACT_CMD}
-. endfor
-.endif
-
# Patch
# LOCALPATCHES contains the location of local patches to packages