summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSardem FF7 <sardemff7.pub@gmail.com>2010-12-24 11:18:08 +0100
committerSardem FF7 <sardemff7.pub@gmail.com>2010-12-24 11:18:08 +0100
commit86472bec3a3656bba7ddec57238c60d346687906 (patch)
treeb30a56c3ff8f338deae739743481850d017b1173
parentFixes (diff)
downloadsardemff7-86472bec3a3656bba7ddec57238c60d346687906.tar.gz
sardemff7-86472bec3a3656bba7ddec57238c60d346687906.tar.bz2
sardemff7-86472bec3a3656bba7ddec57238c60d346687906.zip
Add speed-mercurial.eclass from Julien Durillon to speed up the sourde directory creation
-rw-r--r--eclass/speed-mercurial.eclass141
-rw-r--r--net-libs/xulrunner/Manifest3
-rw-r--r--net-libs/xulrunner/xulrunner-9999.ebuild4
-rw-r--r--www-client/firefox/Manifest2
-rw-r--r--www-client/firefox/firefox-9999.ebuild4
5 files changed, 147 insertions, 7 deletions
diff --git a/eclass/speed-mercurial.eclass b/eclass/speed-mercurial.eclass
new file mode 100644
index 0000000..5c75211
--- /dev/null
+++ b/eclass/speed-mercurial.eclass
@@ -0,0 +1,141 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/mercurial.eclass,v 1.15 2010/11/17 18:42:03 nelchael Exp $
+
+# @ECLASS: mercurial.eclass
+# @MAINTAINER:
+# Krzysztof Pawlik <nelchael@gentoo.org>
+# Dirkjan Ochtman <djc@gentoo.org>
+# @BLURB: This eclass provides generic mercurial fetching functions
+# @DESCRIPTION:
+# This eclass provides generic mercurial fetching functions. To fetch sources
+# from mercurial repository just set EHG_REPO_URI to correct repository URI. If
+# you need to share single repository between several ebuilds set EHG_PROJECT to
+# project name in all of them.
+
+inherit eutils
+
+EXPORT_FUNCTIONS src_unpack
+
+DEPEND="dev-vcs/mercurial"
+
+# @ECLASS-VARIABLE: EHG_REPO_URI
+# @DESCRIPTION:
+# Mercurial repository URI.
+
+# @ECLASS-VARIABLE: EHG_REVISION
+# @DESCRIPTION:
+# Create working directory for specified revision, defaults to tip.
+#
+# EHG_REVISION is passed as a value for --rev parameter, so it can be more than
+# just a revision, please consult `hg help revisions' for more details.
+[[ -z "${EHG_REVISION}" ]] && EHG_REVISION="tip"
+
+# @ECLASS-VARIABLE: EHG_STORE_DIR
+# @DESCRIPTION:
+# Mercurial sources store directory. Users may override this in /etc/make.conf
+[[ -z "${EHG_STORE_DIR}" ]] && EHG_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/hg-src"
+
+# @ECLASS-VARIABLE: EHG_PROJECT
+# @DESCRIPTION:
+# Project name.
+#
+# This variable default to $PN, but can be changed to allow repository sharing
+# between several ebuilds.
+[[ -z "${EHG_PROJECT}" ]] && EHG_PROJECT="${PN}"
+
+# @ECLASS-VARIABLE: EHG_QUIET
+# @DESCRIPTION:
+# Suppress some extra noise from mercurial, set it to 'OFF' to be louder.
+: ${EHG_QUIET:="ON"}
+[[ "${EHG_QUIET}" == "ON" ]] && EHG_QUIET_CMD_OPT="--quiet"
+
+# @ECLASS-VARIABLE: EHG_CLONE_CMD
+# @DESCRIPTION:
+# Command used to perform initial repository clone.
+[[ -z "${EHG_CLONE_CMD}" ]] && EHG_CLONE_CMD="hg clone ${EHG_QUIET_CMD_OPT} --pull --noupdate"
+
+# @ECLASS-VARIABLE: EHG_PULL_CMD
+# @DESCRIPTION:
+# Command used to update repository.
+[[ -z "${EHG_PULL_CMD}" ]] && EHG_PULL_CMD="hg pull ${EHG_QUIET_CMD_OPT}"
+
+# @ECLASS-VARIABLE: EHG_OFFLINE
+# @DESCRIPTION:
+# Set this variable to a non-empty value to disable the automatic updating of
+# a mercurial source tree. This is intended to be set outside the ebuild by
+# users.
+EHG_OFFLINE="${EHG_OFFLINE:-${ESCM_OFFLINE}}"
+
+# @FUNCTION: mercurial_fetch
+# @USAGE: [repository_uri] [module] [sourcedir]
+# @DESCRIPTION:
+# Clone or update repository.
+#
+# If repository URI is not passed it defaults to EHG_REPO_URI, if module is
+# empty it defaults to basename of EHG_REPO_URI, sourcedir defaults to S.
+function mercurial_fetch {
+ debug-print-function ${FUNCNAME} ${*}
+
+ EHG_REPO_URI=${1-${EHG_REPO_URI}}
+ [[ -z "${EHG_REPO_URI}" ]] && die "EHG_REPO_URI is empty"
+
+ local module="${2-$(basename "${EHG_REPO_URI}")}"
+ local sourcedir="${3-${S}}"
+
+ # Should be set but blank to prevent using $HOME/.hgrc
+ export HGRCPATH=
+
+ # Check ${EHG_STORE_DIR} directory:
+ addwrite "$(dirname "${EHG_STORE_DIR}")" || die "addwrite failed"
+ if [[ ! -d "${EHG_STORE_DIR}" ]]; then
+ mkdir -p "${EHG_STORE_DIR}" || die "failed to create ${EHG_STORE_DIR}"
+ chmod -f g+rw "${EHG_STORE_DIR}" || \
+ die "failed to chown ${EHG_STORE_DIR}"
+ fi
+
+ # Create project directory:
+ mkdir -p "${EHG_STORE_DIR}/${EHG_PROJECT}" || \
+ die "failed to create ${EHG_STORE_DIR}/${EHG_PROJECT}"
+ chmod -f g+rw "${EHG_STORE_DIR}/${EHG_PROJECT}" || \
+ echo "Warning: failed to chmod g+rw ${EHG_PROJECT}"
+ cd "${EHG_STORE_DIR}/${EHG_PROJECT}" || \
+ die "failed to cd to ${EHG_STORE_DIR}/${EHG_PROJECT}"
+
+ # Clone/update repository:
+ if [[ ! -d "${module}" ]]; then
+ einfo "Cloning ${EHG_REPO_URI} to ${EHG_STORE_DIR}/${EHG_PROJECT}/${module}"
+ ${EHG_CLONE_CMD} "${EHG_REPO_URI}" "${module}" || {
+ rm -rf "${module}"
+ die "failed to clone ${EHG_REPO_URI}"
+ }
+ cd "${module}"
+ elif [[ -z "${EHG_OFFLINE}" ]]; then
+ einfo "Updating ${EHG_STORE_DIR}/${EHG_PROJECT}/${module} from ${EHG_REPO_URI}"
+ cd "${module}" || die "failed to cd to ${module}"
+ ${EHG_PULL_CMD} || die "update failed"
+ fi
+
+ # Checkout working copy:
+ einfo "Creating working directory in ${sourcedir} (target revision: ${EHG_REVISION})"
+ hg archive \
+ ${EHG_QUIET_CMD_OPT} \
+ --rev="${EHG_REVISION}" \
+ -R "${EHG_STORE_DIR}/${EHG_PROJECT}/${module}" \
+ "${sourcedir}" || die "hg clone failed"
+ # An exact revision helps a lot for testing purposes, so have some output...
+ # id num branch
+ # fd6e32d61721 6276 default
+# local HG_REVDATA=($(hg identify -b -i "${sourcedir}"))
+# export HG_REV_ID=${HG_REVDATA[0]}
+# local HG_REV_BRANCH=${HG_REVDATA[1]}
+# einfo "Work directory: ${sourcedir} global id: ${HG_REV_ID} branch: ${HG_REV_BRANCH}"
+ einfo "Work directory: ${sourcedir}"
+}
+
+# @FUNCTION: mercurial_src_unpack
+# @DESCRIPTION:
+# The mercurial src_unpack function, which will be exported.
+function speed-mercurial_src_unpack {
+ mercurial_fetch
+}
diff --git a/net-libs/xulrunner/Manifest b/net-libs/xulrunner/Manifest
index 9289624..9388bf6 100644
--- a/net-libs/xulrunner/Manifest
+++ b/net-libs/xulrunner/Manifest
@@ -1,5 +1,4 @@
-AUX Xlib-const-XAtomNames.patch 914 RMD160 ab1fca929f638ab8b50ec5fad18f726377bdec30 SHA1 236e4614a5964b1c5cdaa0b3019ce231d20f4297 SHA256 d02549a05a6db8227880fb825c4182919b78ef80c57c751e656e18a847d739a1
AUX gentoo-specific.patch 2957 RMD160 684dc2176769a56c2b1c206b59f999cd44d99c45 SHA1 35ff8e325e45b5384a404a4f99b12fdba9d5e0f3 SHA256 23d981e48a5308dd11ce2fc831071d138d54717bff9cb546dfc5467b0f4204c7
AUX libnotify-0.7-fix.patch 1209 RMD160 07615cde8fb0dbd9876635d0b437943df3f4879c SHA1 16caf17a571b4ede370fc20ffffc87179afd3cd3 SHA256 80dbd0906b45cd42b0fda0ec6fa48daf04cb5f85a14e164287565ffa4e486642
AUX xulrunner-default-prefs.js 709 RMD160 a4d062f75c17552545267ec3fe2f6b54073dafbd SHA1 580128e9edf8021fdbbca2c91abf63cb83bab2c7 SHA256 e6850b0a22f7d3889b49ec4a79a3c4d3d077edd98c8f0ffdc26e30bc70bb4b09
-EBUILD xulrunner-9999.ebuild 7251 RMD160 0725f306ec282b10b36df46bc9dc308ba3c77b89 SHA1 eb1589eb7583e05854542e3927969c731dad21d9 SHA256 9671e26a1df077211d5cf8cd9e872c6628f343d9fec9e729b6361601d2c728ea
+EBUILD xulrunner-9999.ebuild 7257 RMD160 c900f41923bb157500c0a62b4c9a4bc93c872df5 SHA1 3ecd8b7711a38dbc06e3864da4f1e4ce88c612b4 SHA256 bdf6d66888b1014736c653cf822cb5dd9a93046c1d6edb1647ceb6189bbfcc68
diff --git a/net-libs/xulrunner/xulrunner-9999.ebuild b/net-libs/xulrunner/xulrunner-9999.ebuild
index b5f380b..34312fb 100644
--- a/net-libs/xulrunner/xulrunner-9999.ebuild
+++ b/net-libs/xulrunner/xulrunner-9999.ebuild
@@ -5,8 +5,8 @@
EAPI="3"
WANT_AUTOCONF="2.1"
-: ${EHG_QUIET:=OFF} # geeks prefer verbose struf
-inherit flag-o-matic toolchain-funcs eutils prefix mozconfig-3 makeedit multilib pax-utils autotools python mercurial
+: ${EHG_QUIET:=OFF} # geeks prefer verbose stuff
+inherit flag-o-matic toolchain-funcs eutils prefix mozconfig-3 makeedit multilib pax-utils autotools python speed-mercurial
EHG_REPO_URI="http://hg.mozilla.org/mozilla-central/"
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 27e199c..45caf8e 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,4 +1,4 @@
AUX firefox-default-prefs.js 95 RMD160 805cdfec6fb31c224322cb71125547ad7a515f49 SHA1 7fab69d85b12a9f1b0c87fbb1821bdafd7485ac9 SHA256 8bc4cb870bc402db1f20b135a689f8c5dbfa5de8f1755b1926198d627c12c5f1
AUX firefox.desktop 255 RMD160 4ef1cf548f11057274620b82f0728958a3424bea SHA1 6a440f817072fb60516c1a1d999dffb6d3fa1583 SHA256 9bf6e1264d986c68d64831d166ed6b506bff6df8b56d21bfc166aee09cbc753f
AUX gentoo-specific.patch 5781 RMD160 d8e676c7ef75d6ae81dad286d02fb841e162962a SHA1 f77b09a5ae616ca0e58eddb26307b86438c70b2b SHA256 78e54d73b7c6096ae4ab680bf87df9491b501f7417b0c9120fff79e49067eac9
-EBUILD firefox-9999.ebuild 6944 RMD160 880a432c5e3d3904e59198aa4aee0f980ef013bd SHA1 12441362fb3d99e7d1f234f34fda2b670b714bca SHA256 64c1473508a9e80f83f705e121512f087addad10c4ac070663959f7537d67572
+EBUILD firefox-9999.ebuild 6950 RMD160 c8c96ef8911c893b839e4cb38db9e10562fbaef5 SHA1 0e857153e7d372ee19f0b2ace231b02d2591e2f8 SHA256 9109e77a171146b3f044775f0572246e1069436e31eb3619e4530571e08b2bfa
diff --git a/www-client/firefox/firefox-9999.ebuild b/www-client/firefox/firefox-9999.ebuild
index cfa93d9..2439a98 100644
--- a/www-client/firefox/firefox-9999.ebuild
+++ b/www-client/firefox/firefox-9999.ebuild
@@ -5,8 +5,8 @@
EAPI="3"
WANT_AUTOCONF="2.1"
-: ${EHG_QUIET:=OFF} # geeks prefer verbose struf
-inherit flag-o-matic toolchain-funcs eutils prefix mozconfig-3 makeedit multilib pax-utils autotools python mercurial fdo-mime mozextension
+: ${EHG_QUIET:=OFF} # geeks prefer verbose stuff
+inherit flag-o-matic toolchain-funcs eutils prefix mozconfig-3 makeedit multilib pax-utils autotools python speed-mercurial fdo-mime mozextension
EHG_REPO_URI="http://hg.mozilla.org/mozilla-central/"
EHG_PROJECT="xulrunner"