From f9309e758864ead8225adeef63a08b990c742d3c Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Wed, 19 Sep 2012 21:34:07 +0000 Subject: Moved to Portage tree. svn path=/emacs-overlay/; revision=1837 --- eclass/bzr.eclass | 336 ------------------------------------------------------ 1 file changed, 336 deletions(-) delete mode 100644 eclass/bzr.eclass diff --git a/eclass/bzr.eclass b/eclass/bzr.eclass deleted file mode 100644 index 9a3fa01..0000000 --- a/eclass/bzr.eclass +++ /dev/null @@ -1,336 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/bzr.eclass,v 1.18 2012/07/18 15:12:54 ulm Exp $ -# -# @ECLASS: bzr.eclass -# @MAINTAINER: -# Emacs team -# Bazaar team -# @AUTHOR: -# Jorge Manuel B. S. Vicetto -# Mark Lee -# Ulrich Müller -# Christian Faulhammer -# @BLURB: generic fetching functions for the Bazaar VCS -# @DESCRIPTION: -# The bzr.eclass provides functions to fetch, unpack, patch, and -# bootstrap sources from repositories of the Bazaar distributed version -# control system. The eclass was originally derived from git.eclass. -# -# Note: Just set EBZR_REPO_URI to the URI of the branch and src_unpack() -# of this eclass will export the branch to ${WORKDIR}/${P}. - -inherit eutils - -EBZR="bzr.eclass" - -case "${EAPI:-0}" in - 0|1) EXPORT_FUNCTIONS src_unpack ;; - *) EXPORT_FUNCTIONS src_unpack src_prepare ;; -esac - -DEPEND=">=dev-vcs/bzr-2.0.1" -case "${EAPI:-0}" in - 0|1) ;; - *) [[ ${EBZR_REPO_URI%%:*} = sftp ]] \ - && DEPEND=">=dev-vcs/bzr-2.0.1[sftp]" ;; -esac - -# @ECLASS-VARIABLE: EBZR_STORE_DIR -# @DESCRIPTION: -# The directory to store all fetched Bazaar live sources. -: ${EBZR_STORE_DIR:=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/bzr-src} - -# @ECLASS-VARIABLE: EBZR_INIT_REPO_CMD -# @DESCRIPTION: -# The Bazaar command to initialise a shared repository. -: ${EBZR_INIT_REPO_CMD:="bzr init-repository --no-trees"} - -# @ECLASS-VARIABLE: EBZR_FETCH_CMD -# @DESCRIPTION: -# The Bazaar command to fetch the sources. -: ${EBZR_FETCH_CMD:="bzr branch --no-tree"} - -# @ECLASS-VARIABLE: EBZR_UPDATE_CMD -# @DESCRIPTION: -# The Bazaar command to update the sources. -: ${EBZR_UPDATE_CMD:="bzr pull"} - -# @ECLASS-VARIABLE: EBZR_EXPORT_CMD -# @DESCRIPTION: -# The Bazaar command to export a branch. -: ${EBZR_EXPORT_CMD:="bzr export"} - -# @ECLASS-VARIABLE: EBZR_CHECKOUT_CMD -# @DESCRIPTION: -# The Bazaar command to checkout a branch. -: ${EBZR_CHECKOUT_CMD:="bzr checkout --lightweight -q"} - -# @ECLASS-VARIABLE: EBZR_REVNO_CMD -# @DESCRIPTION: -# The Bazaar command to list a revision number of the branch. -: ${EBZR_REVNO_CMD:="bzr revno"} - -# @ECLASS-VARIABLE: EBZR_OPTIONS -# @DEFAULT_UNSET -# @DESCRIPTION: -# The options passed to the fetch and update commands. - -# @ECLASS-VARIABLE: EBZR_REPO_URI -# @DEFAULT_UNSET -# @REQUIRED -# @DESCRIPTION: -# The repository URI for the source package. -# -# Note: If the ebuild uses an sftp:// URI, then in EAPI 0 or 1 it must -# make sure that dev-vcs/bzr was built with USE="sftp". In EAPI 2 or -# later, the eclass will depend on dev-vcs/bzr[sftp]. - -# @ECLASS-VARIABLE: EBZR_INITIAL_URI -# @DEFAULT_UNSET -# @DESCRIPTION: -# The URI used for initial branching of the source repository. If this -# variable is set, the initial branch will be cloned from the location -# specified, followed by a pull from ${EBZR_REPO_URI}. This is intended -# for special cases, e.g. when download from the original repository is -# slow, but a fast mirror exists but may be out of date. -# -# Normally, this variable needs not be set. - -# @ECLASS-VARIABLE: EBZR_BOOTSTRAP -# @DEFAULT_UNSET -# @DESCRIPTION: -# Bootstrap script or command like autogen.sh or etc. - -# @ECLASS-VARIABLE: EBZR_PATCHES -# @DEFAULT_UNSET -# @DESCRIPTION: -# bzr.eclass can apply patches in bzr_bootstrap(). You can use regular -# expressions in this variable like *.diff or *.patch and the like. -# Note: These patches will be applied before EBZR_BOOTSTRAP is processed. -# -# Patches are searched both in ${PWD} and ${FILESDIR}. If not found in -# either location, the installation dies. - -# @ECLASS-VARIABLE: EBZR_PROJECT -# @DESCRIPTION: -# The project name of your ebuild. Normally, the branch will be stored -# in the ${EBZR_STORE_DIR}/${EBZR_PROJECT} directory. -# -# If EBZR_BRANCH is set (see below), then a shared repository will be -# created in that directory, and the branch will be located in -# ${EBZR_STORE_DIR}/${EBZR_PROJECT}/${EBZR_BRANCH}. -: ${EBZR_PROJECT:=${PN}} - -# @ECLASS-VARIABLE: EBZR_BRANCH -# @DEFAULT_UNSET -# @DESCRIPTION: -# The directory where to store the branch within a shared repository, -# relative to ${EBZR_STORE_DIR}/${EBZR_PROJECT}. -# -# This variable should be set if there are several live ebuilds for -# different branches of the same upstream project. The branches can -# then share the same repository in EBZR_PROJECT, which will save both -# data traffic volume and disk space. -# -# If there is only a live ebuild for one single branch, EBZR_BRANCH -# needs not be set. In this case, the branch will be stored in a -# stand-alone repository directly in EBZR_PROJECT. - -# @ECLASS-VARIABLE: EBZR_REVISION -# @DEFAULT_UNSET -# @DESCRIPTION: -# Revision to fetch, defaults to the latest -# (see http://bazaar-vcs.org/BzrRevisionSpec or bzr help revisionspec). - -# @ECLASS-VARIABLE: EBZR_OFFLINE -# @DESCRIPTION: -# Set this variable to a non-empty value to disable automatic updating -# of a bzr source tree. This is intended to be set outside the ebuild -# by users. -: ${EBZR_OFFLINE=${EVCS_OFFLINE}} - -# @ECLASS-VARIABLE: EBZR_WORKDIR_CHECKOUT -# @DEFAULT_UNSET -# @DESCRIPTION: -# If this variable is set to a non-empty value, EBZR_CHECKOUT_CMD will -# be used instead of EBZR_EXPORT_CMD to copy the sources to WORKDIR. - -# @FUNCTION: bzr_initial_fetch -# @USAGE: -# @DESCRIPTION: -# Internal function, retrieves the source code from a repository for the -# first time, using ${EBZR_FETCH_CMD}. -bzr_initial_fetch() { - local repo_uri=$1 branch_dir=$2 - - if [[ -n "${EBZR_OFFLINE}" ]]; then - ewarn "EBZR_OFFLINE cannot be used when there is no local branch yet." - fi - - # fetch branch - einfo "bzr branch start -->" - einfo " repository: ${repo_uri} => ${branch_dir}" - - ${EBZR_FETCH_CMD} ${EBZR_OPTIONS} "${repo_uri}" "${branch_dir}" \ - || die "${EBZR}: can't branch from ${repo_uri}" -} - -# @FUNCTION: bzr_update -# @USAGE: -# @DESCRIPTION: -# Internal function, updates the source code from a repository, using -# ${EBZR_UPDATE_CMD}. -bzr_update() { - local repo_uri=$1 branch_dir=$2 - - if [[ -n "${EBZR_OFFLINE}" ]]; then - einfo "skipping bzr pull -->" - einfo " repository: ${repo_uri}" - else - # update branch - einfo "bzr pull start -->" - einfo " repository: ${repo_uri}" - - pushd "${branch_dir}" > /dev/null \ - || die "${EBZR}: can't chdir to ${branch_dir}" - ${EBZR_UPDATE_CMD} ${EBZR_OPTIONS} "${repo_uri}" \ - || die "${EBZR}: can't pull from ${repo_uri}" - popd > /dev/null - fi -} - -# @FUNCTION: bzr_fetch -# @DESCRIPTION: -# Wrapper function to fetch sources from a Bazaar repository with -# bzr branch or bzr pull, depending on whether there is an existing -# working copy. -bzr_fetch() { - local repo_dir branch_dir - local save_sandbox_write=${SANDBOX_WRITE} - - [[ -n ${EBZR_REPO_URI} ]] || die "${EBZR}: EBZR_REPO_URI is empty" - - if [[ ! -d ${EBZR_STORE_DIR} ]] ; then - addwrite / - mkdir -p "${EBZR_STORE_DIR}" \ - || die "${EBZR}: can't mkdir ${EBZR_STORE_DIR}" - SANDBOX_WRITE=${save_sandbox_write} - fi - - pushd "${EBZR_STORE_DIR}" > /dev/null \ - || die "${EBZR}: can't chdir to ${EBZR_STORE_DIR}" - - repo_dir=${EBZR_STORE_DIR}/${EBZR_PROJECT} - branch_dir=${repo_dir}${EBZR_BRANCH:+/${EBZR_BRANCH}} - - addwrite "${EBZR_STORE_DIR}" - - if [[ ! -d ${branch_dir}/.bzr ]]; then - if [[ ${repo_dir} != "${branch_dir}" && ! -d ${repo_dir}/.bzr ]]; then - einfo "creating shared bzr repository: ${repo_dir}" - ${EBZR_INIT_REPO_CMD} "${repo_dir}" \ - || die "${EBZR}: can't create shared repository" - fi - - if [[ -z ${EBZR_INITIAL_URI} ]]; then - bzr_initial_fetch "${EBZR_REPO_URI}" "${branch_dir}" - else - # Workaround for faster initial download. This clones the - # branch from a fast server (which may be out of date), and - # subsequently pulls from the slow original repository. - bzr_initial_fetch "${EBZR_INITIAL_URI}" "${branch_dir}" - if [[ ${EBZR_REPO_URI} != "${EBZR_INITIAL_URI}" ]]; then - EBZR_UPDATE_CMD="${EBZR_UPDATE_CMD} --remember --overwrite" \ - EBZR_OFFLINE="" \ - bzr_update "${EBZR_REPO_URI}" "${branch_dir}" - fi - fi - else - bzr_update "${EBZR_REPO_URI}" "${branch_dir}" - fi - - # Restore sandbox environment - SANDBOX_WRITE=${save_sandbox_write} - - cd "${branch_dir}" || die "${EBZR}: can't chdir to ${branch_dir}" - - # Save revision number in environment. #311101 - export EBZR_REVNO=$(${EBZR_REVNO_CMD}) - - if [[ -n ${EBZR_WORKDIR_CHECKOUT} ]]; then - einfo "checking out ..." - ${EBZR_CHECKOUT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \ - . "${WORKDIR}/${P}" || die "${EBZR}: checkout failed" - else - einfo "exporting ..." - ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \ - "${WORKDIR}/${P}" . || die "${EBZR}: export failed" - fi - einfo "revision ${EBZR_REVISION:-${EBZR_REVNO}} is now in ${WORKDIR}/${P}" - - popd > /dev/null -} - -# @FUNCTION: bzr_bootstrap -# @DESCRIPTION: -# Apply patches in ${EBZR_PATCHES} and run ${EBZR_BOOTSTRAP} if specified. -bzr_bootstrap() { - local patch lpatch - - pushd "${S}" > /dev/null || die "${EBZR}: can't chdir to ${S}" - - if [[ -n ${EBZR_PATCHES} ]] ; then - einfo "apply patches -->" - - for patch in ${EBZR_PATCHES} ; do - if [[ -f ${patch} ]] ; then - epatch ${patch} - else - # This loop takes care of wildcarded patches given via - # EBZR_PATCHES in an ebuild - for lpatch in "${FILESDIR}"/${patch} ; do - if [[ -f ${lpatch} ]] ; then - epatch ${lpatch} - else - die "${EBZR}: ${patch} is not found" - fi - done - fi - done - fi - - if [[ -n ${EBZR_BOOTSTRAP} ]] ; then - einfo "begin bootstrap -->" - - if [[ -f ${EBZR_BOOTSTRAP} ]] && [[ -x ${EBZR_BOOTSTRAP} ]] ; then - einfo " bootstrap with a file: ${EBZR_BOOTSTRAP}" - "./${EBZR_BOOTSTRAP}" \ - || die "${EBZR}: can't execute EBZR_BOOTSTRAP" - else - einfo " bootstrap with commands: ${EBZR_BOOTSTRAP}" - "${EBZR_BOOTSTRAP}" \ - || die "${EBZR}: can't eval EBZR_BOOTSTRAP" - fi - fi - - popd > /dev/null -} - -# @FUNCTION: bzr_src_unpack -# @DESCRIPTION: -# Default src_unpack(), calls bzr_fetch. For EAPIs 0 and 1, also calls -# bzr_src_prepare. -bzr_src_unpack() { - bzr_fetch - case "${EAPI:-0}" in - 0|1) bzr_src_prepare ;; - esac -} - -# @FUNCTION: bzr_src_prepare -# @DESCRIPTION: -# Default src_prepare(), calls bzr_bootstrap. -bzr_src_prepare() { - bzr_bootstrap -} -- cgit v1.2.3-65-gdbad