diff options
Diffstat (limited to 'app-emulation/wine/wine-1.9.17.ebuild')
-rw-r--r-- | app-emulation/wine/wine-1.9.17.ebuild | 36 |
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 |