summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/wine/wine-1.9.17.ebuild')
-rw-r--r--app-emulation/wine/wine-1.9.17.ebuild36
1 files changed, 29 insertions, 7 deletions
diff --git a/app-emulation/wine/wine-1.9.17.ebuild b/app-emulation/wine/wine-1.9.17.ebuild
index b5dad1f472ae..4f8f3e98c51b 100644
--- a/app-emulation/wine/wine-1.9.17.ebuild
+++ b/app-emulation/wine/wine-1.9.17.ebuild
@@ -254,6 +254,27 @@ wine_build_environment_check() {
fi
}
+wine_env_vcs_vars() {
+ local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
+ local pn_live_val="${pn_live_var}"
+ eval pn_live_val='$'${pn_live_val}
+ if [[ ! -z ${pn_live_val} ]]; then
+ if use staging || use d3d9; then
+ eerror "Because of the multi-repo nature of ${PN}, ${pn_live_var}"
+ eerror "cannot be used to set the commit. Instead, you may use the"
+ eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
+ eerror
+ return 1
+ fi
+ fi
+ if [[ ! -z ${EGIT_COMMIT} ]]; then
+ eerror "Commits must now be specified using the environmental variables"
+ eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
+ eerror
+ return 1
+ fi
+}
+
pkg_pretend() {
wine_compiler_check || die
wine_build_environment_check || die
@@ -271,6 +292,7 @@ pkg_pretend() {
pkg_setup() {
wine_build_environment_check || die
+ wine_env_vcs_vars || die
if ! use staging; then
GV=${VANILLA_GV}
MV=${VANILLA_MV}
@@ -282,23 +304,23 @@ pkg_setup() {
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
- git-r3_src_unpack
+ EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
- local WINE_COMMIT=${EGIT_VERSION}
+ local CURRENT_WINE_COMMIT=${EGIT_VERSION}
- git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+ git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
- local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
+ local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
- if [[ "${WINE_COMMIT}" != "${STAGING_COMMIT}" ]]; then
+ if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
einfo "If src_prepare fails, try emerging with the env var EGIT_COMMIT."
- einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
+ einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
if use d3d9; then
- git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+ git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi