New wine ebuild

This commit is contained in:
layman 2014-07-07 10:59:15 +02:00
parent 5e5cdbc377
commit fb82f34302
2 changed files with 491 additions and 0 deletions

View File

@ -25,5 +25,6 @@ DIST winepulse-patches-1.7.12.tar.bz2 49171 SHA256 6c5b3f46ea1c4615c49ee0f6f6593
DIST winepulse-patches-1.7.20.tar.bz2 52583 SHA256 95d0febb72baa73d5faeb82de774b49eaa9e38aa74448ea313c62f6eb1f4faf3 SHA512 9d7108fd2076d9a19dff5e72a25aa57f0946e6d17cfcc07422cce3fca34dfe04521d09cbfe611701781e10ad1f0d00562cba974214a4d189b16f6ded96ef61bf WHIRLPOOL 815d1cbf43b64a7a1a3aae965c6521ee3c6147458913f13236ccec7848340663d8372280f53eed381f3f68969bb06b272c30c605c290e31a678fc8d01575a766
EBUILD wine-1.7.16.ebuild 13430 SHA256 3e8e6453f24612607204540dc20d57ee0cccda744c1059ff8179999eb2ca2e30 SHA512 d5e292b66abadec40744d9f61d17a7e1cd81b8a2be364b776bbc8d45a8e2ac18099670c95dea15a8471bd6c69cc281235ebb218dba68e0583e1e46d2add5b78c WHIRLPOOL 5258dd59ea5e5ddfe139f2582c3b3266f689a0fb77d859d52611aab6405ddb66ebf4076f60c7c538e73a24ec89b6c4e325551cb1a87cb3f16c56e07e579fb52d
EBUILD wine-1.7.19-r1.ebuild 14632 SHA256 41590bbeb71a52fd8b524abfcc6353348ff4c6f201a7d7927a0fdb0f2f49f912 SHA512 5f02239cadc87f41356f92d3c41367d581f22984279bf6d1e27a0edb3c67e973c0ec21da9778cb5f33296fcd5b8f9ef89c125d4b480c29f7e0ffc3e58b14bc78 WHIRLPOOL c90d66e344ab21c6a5c4fc4cb2388b158bf3b1b1714724514b926e8b12ccea3cd8e8fd5f72fb2fc368a161bb6f8fe00d29e2fedfed50094febace6c4d6f6f7b2
EBUILD wine-1.7.20-r1.ebuild 15067 SHA256 16e8b0ed03e7415888c661b3de1e9f244d2f8e5423f2d6b7fb1bcdbedc34de57 SHA512 ffce8425cfa90fee0d7959ca56a3bc28d194fcfa97a7cac047f089f89e58dbafc77fd05610510dd180a74f29617f310719933a5cab6513773d8062e9b166a0ff WHIRLPOOL 356e2772b459defe979ae5a41a4449b62bbc162c869f1a4c819a1e8840264beafcdc6c51e5606928c337346b89a247939d4321ff576f1d9af69ac3912b957988
EBUILD wine-1.7.20.ebuild 15319 SHA256 a0eff0a56de659af8a143404053e6052548f14f2a07760a8c7b6bd0e9e678367 SHA512 1ece5a8be9cdd5ff40464efb20f1f244fda0aa53b41603f144d7a0443ea516f8e4686c4ecc14e8fac77ba115203f7d038845fd81df40f158c0996dade0159411 WHIRLPOOL 177385a653da950fced9d549974925ba3cbb03abcc6ea836abb1bdc99702ad5d17bbdca86beed298404956dd5297b5f6f6dfba1a28372b249a691167f2b7c61b
MISC metadata.xml 2140 SHA256 e8225539d8f936aa53dac82fb8e9be8aa7cc927bb4a35ee3167c0b8b99664d7b SHA512 766de816a5a43bea96f30abc8d2af603507c42017d215190c7fd7edfcb0bcc8005e235b5a14bed06f3647a9a72e3f8bfd65d77cb7614bd54ee7af9d2caed04b0 WHIRLPOOL 1be00991622964d97c642be73a300d47a3320ff8eaa82c7782c618009a977b8f09c79eb12ddf7a38c3cc4c8fc3497c9aa75a8ee8e0545a0f616428d82822c49c

View File

@ -0,0 +1,490 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.20.ebuild,v 1.2 2014/06/18 19:08:47 mgorny Exp $
EAPI="5"
AUTOTOOLS_AUTORECONF=1
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
inherit git-2
SRC_URI=""
#KEYWORDS=""
else
MY_P="${PN}-${PV/_/-}"
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
S=${WORKDIR}/${MY_P}
fi
GV="2.24"
MV="4.5.2"
PULSE_PATCHES="winepulse-patches-1.7.20"
COMPHOLIOV="1.7.20"
COMPHOLIO_PATCHES="wine-compholio-daily-${COMPHOLIOV}"
WINE_GENTOO="wine-gentoo-2013.06.24"
DESCRIPTION="Free implementation of Windows(tm) on Unix"
HOMEPAGE="http://www.winehq.org/"
SRC_URI="${SRC_URI}
gecko? (
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
)
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
pipelight? ( https://github.com/compholio/wine-compholio-daily/archive/v${COMPHOLIOV}.tar.gz -> ${COMPHOLIO_PATCHES}.tar.gz )
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
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 lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
test? ( abi_x86_32 )
elibc_glibc? ( threads )
gstreamer? ( pulseaudio )
mono? ( abi_x86_32 )
osmesa? ( opengl )" #286560
# winepulse patches needed for gstreamer due to http://bugs.winehq.org/show_bug.cgi?id=30557
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
NATIVE_DEPEND="
truetype? ( >=media-libs/freetype-2.0.0 )
capi? ( net-dialup/capi4k-utils )
ncurses? ( >=sys-libs/ncurses-5.2:= )
udisks? ( sys-apps/dbus )
fontconfig? ( media-libs/fontconfig:= )
gphoto2? ( media-libs/libgphoto2:= )
openal? ( media-libs/openal:= )
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
X? (
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXrandr
x11-libs/libXi
x11-libs/libXxf86vm
)
xinerama? ( x11-libs/libXinerama )
alsa? ( media-libs/alsa-lib )
cups? ( net-print/cups:= )
opencl? ( virtual/opencl )
opengl? (
virtual/glu
virtual/opengl
)
gsm? ( media-sound/gsm:= )
jpeg? ( virtual/jpeg:0= )
ldap? ( net-nds/openldap:= )
lcms? ( media-libs/lcms:2= )
mp3? ( >=media-sound/mpg123-1.5.0 )
netapi? ( net-fs/samba[netapi(+)] )
nls? ( sys-devel/gettext )
odbc? ( dev-db/unixODBC:= )
osmesa? ( media-libs/mesa[osmesa] )
pipelight? (
media-fonts/corefonts
sys-apps/attr
)
pulseaudio? ( media-sound/pulseaudio )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
scanner? ( media-gfx/sane-backends:= )
ssl? ( net-libs/gnutls:= )
png? ( media-libs/libpng:0= )
v4l? ( media-libs/libv4l )
xcomposite? ( x11-libs/libXcomposite )"
COMMON_DEPEND="
!amd64? ( ${NATIVE_DEPEND} )
amd64? (
abi_x86_64? ( ${NATIVE_DEPEND} )
abi_x86_32? (
truetype? ( || (
>=app-emulation/emul-linux-x86-xlibs-2.1[development,-abi_x86_32(-)]
>=media-libs/freetype-2.5.0.1[abi_x86_32(-)]
) )
ncurses? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=sys-libs/ncurses-5.9-r3[abi_x86_32(-)]
) )
udisks? ( || (
>=app-emulation/emul-linux-x86-baselibs-20130224[development,-abi_x86_32(-)]
>=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)]
) )
fontconfig? ( || (
app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
>=media-libs/fontconfig-2.10.92[abi_x86_32(-)]
) )
gphoto2? ( || (
app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
>=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)]
) )
openal? ( || (
app-emulation/emul-linux-x86-sdl[development,-abi_x86_32(-)]
>=media-libs/openal-1.15.1[abi_x86_32(-)]
) )
gstreamer? ( || (
app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
(
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
)
) )
X? ( || (
app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
(
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
)
) )
xinerama? ( || (
app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
>=x11-libs/libXinerama-1.1.3[abi_x86_32(-)]
) )
alsa? ( || (
app-emulation/emul-linux-x86-soundlibs[alsa,development,-abi_x86_32(-)]
>=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)]
) )
cups? ( || (
app-emulation/emul-linux-x86-baselibs
>=net-print/cups-1.7.1-r1[abi_x86_32(-)]
) )
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
opengl? ( || (
app-emulation/emul-linux-x86-opengl[development,-abi_x86_32(-)]
(
>=virtual/glu-9.0-r1[abi_x86_32(-)]
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
)
) )
gsm? ( || (
app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)]
>=media-sound/gsm-1.0.13-r1[abi_x86_32(-)]
) )
jpeg? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=virtual/jpeg-0-r2:0[abi_x86_32(-)]
) )
ldap? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)]
) )
lcms? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=media-libs/lcms-2.5:2[abi_x86_32(-)]
) )
mp3? ( || (
app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)]
>=media-sound/mpg123-1.15.4[abi_x86_32(-)]
) )
netapi? ( >=net-fs/samba-3.6.23-r1[netapi(+),abi_x86_32(-)] )
nls? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=sys-devel/gettext-0.18.3.2[abi_x86_32(-)]
) )
odbc? ( || (
app-emulation/emul-linux-x86-db[development,-abi_x86_32(-)]
>=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)]
) )
osmesa? ( || (
>=app-emulation/emul-linux-x86-opengl-20121028[development,-abi_x86_32(-)]
>=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)]
) )
pipelight? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=sys-apps/attr-2.4.47-r1[abi_x86_32(-)]
) )
pulseaudio? ( || (
app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)]
>=media-sound/pulseaudio-5.0[abi_x86_32(-)]
) )
xml? ( || (
>=app-emulation/emul-linux-x86-baselibs-20131008[development,-abi_x86_32(-)]
(
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
)
) )
scanner? ( || (
app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
>=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)]
) )
ssl? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)]
) )
png? ( || (
app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
>=media-libs/libpng-1.6.10:0[abi_x86_32(-)]
) )
v4l? ( || (
app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
>=media-libs/libv4l-0.9.5[abi_x86_32(-)]
) )
xcomposite? ( || (
app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
>=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)]
) )
)
)"
RDEPEND="${COMMON_DEPEND}
dos? ( games-emulation/dosbox )
perl? ( dev-lang/perl dev-perl/XML-Simple )
samba? ( >=net-fs/samba-3.0.25 )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
DEPEND="${COMMON_DEPEND}
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
X? (
x11-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
xinerama? ( x11-proto/xineramaproto )
prelink? ( sys-devel/prelink )
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
sys-devel/flex"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
eerror "You need gcc-4.4+ to build 64-bit wine"
eerror
return 1
fi
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
pkg_pretend() {
wine_build_environment_check || die
}
pkg_setup() {
wine_build_environment_check || die
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
git-2_src_unpack
else
unpack ${MY_P}.tar.bz2
fi
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
if use pipelight; then
unpack "${COMPHOLIO_PATCHES}.tar.gz"
# we use a separate pulseaudio patchset
rm -r "${COMPHOLIO_PATCHES}/patches/06-winepulse" || die
# ... and don't need the arial replacement
rm -r "${COMPHOLIO_PATCHES}/patches/10-Missing_Fonts" || die
fi
unpack "${WINE_GENTOO}.tar.bz2"
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local f
local PATCHES=(
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
)
use pulseaudio && PATCHES+=(
"../${PULSE_PATCHES}"/*.patch #421365
)
if use pipelight; then
PATCHES+=(
"../${COMPHOLIO_PATCHES}/patches"/*/*.patch #507950
"../${COMPHOLIO_PATCHES}/patches/patch-list.patch"
)
fi
autotools-utils_src_prepare
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' tools/wine.desktop || die #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
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
}
src_configure() {
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--sysconfdir=/etc/wine
$(use_with alsa)
$(use_with capi)
$(use_with lcms cms)
$(use_with cups)
$(use_with ncurses curses)
$(use_with udisks dbus)
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with png)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with v4l)
$(use_with X x)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use pulseaudio && myconf+=( --with-pulse )
use pipelight && myconf+=( --with-xattr )
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
tc-export PKG_CONFIG AR RANLIB
if use amd64; then
if [[ ${ABI} == amd64 ]]; then
myconf+=( --enable-win64 )
else
myconf+=( --disable-win64 )
fi
# Note: using --with-wine64 results in problems with multilib.eclass
# CC/LD hackery. We're using separate tools instead.
fi
ECONF_SOURCE=${S} \
econf "${myconf[@]}"
emake depend
}
multilib_src_test() {
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
if [[ ${ABI} == x86 ]]; then
if [[ $(id -u) == 0 ]]; then
ewarn "Skipping tests since they cannot be run under the root user."
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
return
fi
WINEPREFIX="${T}/.wine-${ABI}" \
Xemake test
fi
}
multilib_src_install_all() {
local DOCS=( ANNOUNCE AUTHORS README )
local l
add_locale_docs() {
local locale_doc="documentation/README.$1"
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
}
l10n_for_each_locale_do add_locale_docs
einstalldocs
prune_libtool_files --all
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
if use gecko ; then
insinto /usr/share/wine/gecko
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
fi
if use mono ; then
insinto /usr/share/wine/mono
doins "${DISTDIR}"/wine-mono-${MV}.msi
fi
if ! use perl ; then
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
fi
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
if use abi_x86_64 && ! use abi_x86_32; then
dosym /usr/bin/wine{64,} # 404331
dosym /usr/bin/wine{64,}-preloader
fi
# respect LINGUAS when installing man pages, #469418
for l in de fr pl; do
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
done
}
pkg_preinst() {
gnome2_icon_savelist
}
pkg_postinst() {
gnome2_icon_cache_update
fdo-mime_desktop_database_update
if use pipelight; then
ewarn "You installed Wine with the unofficial Compholio patchset for Pipelight"
ewarn "support, which is unsupported by Wine developers. Please don't report"
ewarn "bugs to Wine bugzilla unless you can reproduce them with USE=-pipelight"
fi
}
pkg_postrm() {
gnome2_icon_cache_update
fdo-mime_desktop_database_update
}