Skip to content

Commit

Permalink
Sync package app-emulation/wine with Upstream (Wine-Staging)
Browse files Browse the repository at this point in the history
New version: 1.9.21
  • Loading branch information
bobwya committed Oct 16, 2016
1 parent bdedf2d commit aab2e60
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 10 deletions.
3 changes: 2 additions & 1 deletion app-emulation/wine/Manifest
Expand Up @@ -61,6 +61,7 @@ DIST wine-staging-1.9.18.tar.gz 9952730 SHA256 eac41973864486662bc42c8a5692f20a8
DIST wine-staging-1.9.19.tar.gz 9969031 SHA256 2060ba8f26512fc2104d1d15b7d36136d55e600c9576bc6d747e610e1f3d28d9 SHA512 a0c47b46102d66ae040199aae9fe6dc8cb3986f79dcc32faeb1638e747ad92bfbee337290801c6372177b1a36c4f511ae3af7668730e0f526dfa5d4d64bcfe55 WHIRLPOOL 37fd27c8eea783c24d2f9736f9f90fa29e7796e7f86ffd7dfedb18375c3421f055f4f5685cbe24f83b907bfdc6de562860a15c01f0c9fc1f289640749cb25d11
DIST wine-staging-1.9.2.tar.gz 9702259 SHA256 67e830b27e1f69cf66cc65bc72e15231fab65144170921e373c729a431c607f3 SHA512 1963085ca71144a77ed55b746c1c8fef4e0567c724596ca5690fcdc53b31d0440db571a1a2423fa431d7e09ef32ca0c09899c1809706c7afa8dd34edc782ef8b WHIRLPOOL b8fc56ea8ecb84fe772d3a57404266d4fc5485ae54a12466a729e6cc9a5551793dccd1e541e4302c0aadb8242a34ee84fa3744cbc2f0f746835ac2e6cb8c2256
DIST wine-staging-1.9.20.tar.gz 9979675 SHA256 201506a3e58fd46b590cfc2f9f70d2e3ba6d3bcff5640da135cee9118e71babc SHA512 025760f9a4e0b94264da54b255be4932076535b6a1510121d8019c8fb8edf33768b23575e321ab9715a8186a7f4b7e4cd7aa573ed1af4c3ea7c919b7287ce42b WHIRLPOOL 93b9274c10f74f1e4b9c290a4055fc55ee2391f0eb9a0c1b18e4e54266f8d6e04e0a3d8cc9376d2d871e3d1d15942521ea9a6ad1c91d9801c117a0397edcafbf
DIST wine-staging-1.9.21.tar.gz 10007408 SHA256 88fd8263ba3c13c18423298c49a83d8922e5b45b4797edcd8723aa5d855ce84f SHA512 4144c7f485ac57573b9ab17d3eff307c8343b9226ddc156538a3d6ae141f7c9d9515276ee3f4dfaba388b8dee6579c382861a87883ab92638907b663fcd1e3e7 WHIRLPOOL 5b2a1893e03537c66de6c9296aa54cd0afc515f2a8cb9180c805dc2318a20c51a7efa659880af70150acd053815d27c5293a70cffbb8b5e10a7f3cb723c183f1
DIST wine-staging-1.9.3.tar.gz 9714022 SHA256 84c98e0fd04a1deb76a40d2d04810421c94b02e2670fec6a8718bb2286fac4b6 SHA512 4e8b5914d1607c8eb51d1da75c69517a9bd85fc8efc8813af400e8713b546ee98df212dc2d9a2da2eb032da0207cea7e873dcd232c97aee485219fc4d579c3eb WHIRLPOOL d0725139df4a60ca3a5d53214587291880886d8dba66bf540d24c5e1bcb60200ea8b76d1cea3f7608a1077c8e5993111c378d5aa8866a0279f3f2dade316e22d
DIST wine-staging-1.9.4.tar.gz 9719676 SHA256 1b3c6bb3e21e549fb8657cd9a2117946b7e78140b400c614dd41b041b6dc2674 SHA512 2c81b9f0315ed4f68d1874482805c9b6d3f2f9611f6dd1477ad0632d17f66e7f5e75720e5c7cef3a873876541c9d7d212fa8803a57cbec415aca32793a734634 WHIRLPOOL 0a66f53327976dd63532b9350d64461df3dcb0ea2fdc63d3498eac94d92387cf4bd53054c693c4a902f7fbba8ad0f2fdf59682e8622f3920a9a426344c656f54
DIST wine-staging-1.9.5.tar.gz 9889302 SHA256 e12c5fb741e6c5b55b99c37d6bba1746b0f40317f27198406e63f260ede3600c SHA512 aaaf08449e956f5f2b42440f8becf7233a22f2f807041b5524fae3c25c80078b86a84e6000803e014a5d2fc089e3df78cb66f0d1fe35675ae0f4ffdfa7ba3f10 WHIRLPOOL 692da1ec383b7efbcb12c8fa4078ed9b4143eb101baa06523f5bd85c749f0b87fe9a550e4d60e3c33e3d896782c9bc957f61171d01dcadbc8847ecbbc57c40ff
Expand Down Expand Up @@ -97,7 +98,7 @@ EBUILD wine-1.9.18-r1.ebuild 21770 SHA256 e0ee80d46690511ca9bb8859c334c58692a2cb
EBUILD wine-1.9.19-r1.ebuild 21843 SHA256 ec1217554a6c7f493dfbe7f022ec5a10a354d64cbb3f2563f41422bfe1119fe7 SHA512 f5d1c2fd41e9fc7f5d7c6cb678b419b670d23894544cb0195cc0503a4a372ab7cc4f9d7290bf78a3863ae30ce18688c244f135fece938185d8d6d4c58a4812c7 WHIRLPOOL 8ae58d3c87a7aa818dc5e49fdeb232c67699b0d7c13fc046233e918b3d08ab00c327fde4203819d07fc8f48de368f1428059d79881eee473b3a01906cacd73ca
EBUILD wine-1.9.2-r3.ebuild 21896 SHA256 cbbb4f93c12a9477f6f3707afc0c16a47d52941f71ba2b761c24990b5dfdb5c2 SHA512 87ef799095bb44138c1a26bbf0fd56b62c94df9225be52d85266252c661b2fb4d3b0db95c2ccb9f43c9e66a3bee8bb66ed0563c819722b4a9a0e4334c1e8516a WHIRLPOOL 253e0a733ffa795df6003ac933464165b7eabeaab10ded4b08b0cda3758bd532ac7a6627e3bd37d03f17c278dda4c17e341922d51c6744f0648bc4e477100b4a
EBUILD wine-1.9.20-r1.ebuild 21843 SHA256 ec1217554a6c7f493dfbe7f022ec5a10a354d64cbb3f2563f41422bfe1119fe7 SHA512 f5d1c2fd41e9fc7f5d7c6cb678b419b670d23894544cb0195cc0503a4a372ab7cc4f9d7290bf78a3863ae30ce18688c244f135fece938185d8d6d4c58a4812c7 WHIRLPOOL 8ae58d3c87a7aa818dc5e49fdeb232c67699b0d7c13fc046233e918b3d08ab00c327fde4203819d07fc8f48de368f1428059d79881eee473b3a01906cacd73ca
EBUILD wine-1.9.21.ebuild 16418 SHA256 52051caadcbc184ec9ba2cee525fa970130e498fe4964bf107c1fa104e24ff78 SHA512 155a9120f8e03e1fd7a080eefc6cfc67b6420823f088d4e983312746480d8530d28ff1d830c70760c992931cc2bc417594b8f57803a7af1edc9eb5537139c3a6 WHIRLPOOL 00593561f7e16d1a511e3b9a23f29af49b53da629a96b8ecf6c0ca8291a69f60558bf33e98e2104cd01b67f619971b33758d6385d9723c00f41bc5fd8d6c0b97
EBUILD wine-1.9.21-r1.ebuild 21843 SHA256 ec1217554a6c7f493dfbe7f022ec5a10a354d64cbb3f2563f41422bfe1119fe7 SHA512 f5d1c2fd41e9fc7f5d7c6cb678b419b670d23894544cb0195cc0503a4a372ab7cc4f9d7290bf78a3863ae30ce18688c244f135fece938185d8d6d4c58a4812c7 WHIRLPOOL 8ae58d3c87a7aa818dc5e49fdeb232c67699b0d7c13fc046233e918b3d08ab00c327fde4203819d07fc8f48de368f1428059d79881eee473b3a01906cacd73ca
EBUILD wine-1.9.3-r3.ebuild 21896 SHA256 67e713692fec6318e725d2bd5f2d4ff7b48259a504a463093771dd4f4254f486 SHA512 55e1da1c1b9d0e3110bd31e876c3dfb6b9360639f12d213b8bb2411892f974234945812a9299c617671f357105c09fa5740d62c312fc3c05400706716ca1a105 WHIRLPOOL 2348e46b32c16193183fa9bf408b21a79b112429584df785aebd34ee61e8dc54f3c32461a58ddabfdf98a460dc1059df2a4015db03d97b632547805062d78528
EBUILD wine-1.9.4-r3.ebuild 21896 SHA256 67e713692fec6318e725d2bd5f2d4ff7b48259a504a463093771dd4f4254f486 SHA512 55e1da1c1b9d0e3110bd31e876c3dfb6b9360639f12d213b8bb2411892f974234945812a9299c617671f357105c09fa5740d62c312fc3c05400706716ca1a105 WHIRLPOOL 2348e46b32c16193183fa9bf408b21a79b112429584df785aebd34ee61e8dc54f3c32461a58ddabfdf98a460dc1059df2a4015db03d97b632547805062d78528
EBUILD wine-1.9.5-r3.ebuild 21981 SHA256 f2289a9b638abe32d472a87d52a901f325fe3f9a1ea2dbfd29d06a533e9e60cf SHA512 4ae094d2952819c1de68fbd7d6a13f26733a21f2123d7cd83b0fc4391c0e58cf7e11ea91293cffc6e21081d9c901f072c352e3724470de26a48b2029935bd098 WHIRLPOOL a207eb0045967afbd43ee5b5f2635ce3ae0191b9e8e974a3eb5fe28fd78323ef2b9cbb8c7f249be1362285e70e42b8da43d3c279e1352ba92d2102c4684da6eb
Expand Down
Expand Up @@ -11,6 +11,7 @@ inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multil

MY_PV="${PV}"
MY_P="${P}"
STAGING_SUFFIX=""
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
inherit git-r3
Expand All @@ -28,30 +29,55 @@ else
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_VERSION}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
fi
[[ "${MAJOR_VERSION}" == "1.8" ]] && STAGING_SUFFIX="-unofficial"
fi

VANILLA_GV="2.47"
VANILLA_MV="4.6.3"
STAGING_P="wine-staging-${MY_PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}${STAGING_SUFFIX}"
STAGING_HELPER="wine-staging-git-helper-0.1.3"
WINE_GENTOO="wine-gentoo-2015.03.07"
DESCRIPTION="Free implementation of Windows(tm) on Unix"
HOMEPAGE="http://www.winehq.org/"
SRC_URI="${SRC_URI}
gecko? (
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
!staging? (
gecko? (
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
)
mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
)
staging? (
gecko? (
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV:-${VANILLA_GV}}/wine_gecko-${STAGING_GV:-${VANILLA_GV}}-x86.msi )
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV:-${VANILLA_GV}}/wine_gecko-${STAGING_GV:-${VANILLA_GV}}-x86_64.msi )
)
mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV:-${VANILLA_MV}}/wine-mono-${STAGING_MV:-${VANILLA_MV}}.msi )
)
mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"

if [[ ${PV} == "9999" ]]; then
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
SRC_URI="${SRC_URI}
staging? ( https://github.com/bobwya/${STAGING_HELPER%-*}/archive/${STAGING_HELPER##*-}.tar.gz -> ${STAGING_HELPER}.tar.gz )"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${MY_PV}${STAGING_SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )"
fi

LICENSE="LGPL-2.1"
SLOT="0"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks udev v4l +X +xcomposite xinerama +xml"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks udev v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
"
themes? ( staging )
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124

# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
Expand Down Expand Up @@ -95,10 +121,13 @@ COMMON_DEPEND="
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
themes? ( x11-libs/gtk+:3[X?,${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
Expand Down Expand Up @@ -131,6 +160,7 @@ RDEPEND="${COMMON_DEPEND}
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
Expand All @@ -147,6 +177,10 @@ DEPEND="${COMMON_DEPEND}
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"

# These use a non-standard "Wine" category, which is provided by
Expand Down Expand Up @@ -275,8 +309,13 @@ pkg_setup() {
wine_build_environment_prechecks || die
wine_env_vcs_variable_prechecks || die

GV="${VANILLA_GV}"
MV="${VANILLA_MV}"
if ! use staging; then
GV="${VANILLA_GV}"
MV="${VANILLA_MV}"
else
GV="${STAGING_GV:-${VANILLA_GV}}"
MV="${STAGING_MV:-${VANILLA_MV}}"
fi
}

src_unpack() {
Expand All @@ -285,7 +324,49 @@ src_unpack() {
# Fully Mirror git tree, Wine, so we can access commits in all branches
EGIT_MIN_CLONE_TYPE="mirror"
EGIT_CHECKOUT_DIR="${S}"
wine_git_unpack
if ! use staging; then
wine_git_unpack
elif [[ ! -z "${EGIT_STAGING_COMMIT:-${EGIT_STAGING_BRANCH}}" ]]; then
# References are relative to Wine-Staging git tree (checkout Wine-Staging git tree first)
# Use env variables "EGIT_STAGING_COMMIT" or "EGIT_STAGING_BRANCH" to reference Wine-Staging git tree
# Use git-r3 internal functions for secondary Wine-Staging repository. See #588604
ebegin "(subshell): you have specified a Wine-Staging git reference (building Wine git with USE +staging) ..."
(
source "${WORKDIR}/${STAGING_HELPER}/${STAGING_HELPER%-*}.sh" || die
if [[ ! -z "${EGIT_STAGING_COMMIT}" ]]; then
ewarn "Building Wine against Wine-Staging git commit EGIT_STAGING_COMMIT=\"${EGIT_STAGING_COMMIT}\" ."
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${EGIT_STAGING_COMMIT}"
else
ewarn "Building Wine against Wine-Staging git branch EGIT_STAGING_BRANCH=\"${EGIT_STAGING_BRANCH}\" ."
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "refs/heads/${EGIT_STAGING_BRANCH}"
fi
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
wine_staging_commit="${EGIT_VERSION}"
get_upstream_wine_commit "${STAGING_DIR}" "${wine_staging_commit}" "wine_commit"
EGIT_COMMIT="${wine_commit}" git-r3_src_unpack
einfo "Building Wine commit \"${wine_commit}\" referenced by Wine-Staging commit \"${wine_staging_commit}\" ..."
)
eend $? || die "(subshell): ... failed to determine target Wine commit."
else
# References are relative to Wine git tree (post-checkout Wine-Staging git tree)
# Use env variables "EGIT_WINE_COMMIT" or "EGIT_WINE_BRANCH" to reference Wine git tree
# Use git-r3 internal functions for secondary Wine-Staging repository. See #588604
ebegin "(subshell): You are using a Wine git reference (building Wine git with USE +staging) ..."
(
source "${WORKDIR}/${STAGING_HELPER}/${STAGING_HELPER%-*}.sh" || die
wine_git_unpack
wine_commit="${EGIT_VERSION}"
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "HEAD"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
if ! walk_wine_staging_git_tree "${STAGING_DIR}" "${S}" "${wine_commit}" "wine_staging_commit" ; then
find_closest_wine_commit "${STAGING_DIR}" "${S}" "wine_commit" "wine_staging_commit" "wine_commit_offset"
(($? == 0)) && display_closest_wine_commit_message "${wine_commit}" "${wine_staging_commit}" "${wine_commit_offset}"
die "Failed to find Wine-Staging git commit corresponding to supplied Wine git commit \"${wine_commit}\" ."
fi
einfo "Building Wine-Staging commit \"${wine_staging_commit}\" corresponding to Wine commit \"${wine_commit}\" ..."
)
eend $? || die "(subshell): ... failed to determine target Wine-Staging commit."
fi
fi

l10n_find_plocales_changes "${S}/po" "" ".po"
Expand All @@ -304,10 +385,31 @@ src_prepare() {
source "${FILESDIR}/${PN}-9999-multilib-portage-sed.sh" || die
)
eend $? || die "(subshell) script: \"${FILESDIR}/${PN}-9999-multilib-portage-sed.sh\"."
if use staging; then
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
ewarn "Wine bugzilla should explicitly state that staging was used."

local STAGING_EXCLUDE=""
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"

# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
ebegin "Running Wine-Staging patch installer"
(
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
cd "${STAGING_DIR}/patches"
source "${STAGING_DIR}/patches/patchinstall.sh"
)
eend $? || die "(subshell) script: failed to apply Wine-Staging patches."

if [[ ! -z "${STAGING_SUFFIX}" ]]; then
sed -i -e 's/(Staging)/(Staging'"${STAGING_SUFFIX}"')/' libs/wine/Makefile.in || die "sed"
fi
fi

default
eautoreconf

# Modification of the server protocol requires regenerating the server requests
if ! $(md5sum -c - <<<"${md5hash}" &>/dev/null); then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die "tools/make_requests" #432348
Expand All @@ -317,6 +419,7 @@ src_prepare() {
sed -i '/^MimeType/d' loader/wine.desktop || die "sed" #117785
fi

# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die "cp"

l10n_get_locales > po/LINGUAS || die "l10n_get_locales" # otherwise wine doesn't respect LINGUAS
Expand Down Expand Up @@ -372,6 +475,12 @@ multilib_src_configure() {
$(use_with xml xslt)
)

use staging && myconf+=(
--with-xattr
$(use_with themes gtk3)
$(use_with vaapi va)
)

local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
# set AR and RANLIB to make QA scripts happy; #483342
Expand Down

0 comments on commit aab2e60

Please sign in to comment.