parent
1b755dc38c
commit
73a4e78e44
@ -1,2 +1,3 @@
|
|||||||
DIST at-spi2-atk-2.16.0.tar.xz 286668 SHA256 78efc45ec36383bf785f8636e64a8d866defeb020e00a08f92978f1fc3772ff9 SHA512 fcd40693e5ef55c640a52158996dc8bc66f53ef211c343cd5401c4bcd1669110ea836e0550eb41caee9c9f3a4f9670095a7dd8252600af943ddcb374bf50f011 WHIRLPOOL 0865cb8bfd62449bf345938a382c2a7d8efd425154e7e674c8097702e6873d98b8d2be8ac841858ba7dce166c2be4e18be1b1daf4fed43f667430ac3eeccebe2
|
DIST at-spi2-atk-2.16.0.tar.xz 286668 SHA256 78efc45ec36383bf785f8636e64a8d866defeb020e00a08f92978f1fc3772ff9 SHA512 fcd40693e5ef55c640a52158996dc8bc66f53ef211c343cd5401c4bcd1669110ea836e0550eb41caee9c9f3a4f9670095a7dd8252600af943ddcb374bf50f011 WHIRLPOOL 0865cb8bfd62449bf345938a382c2a7d8efd425154e7e674c8097702e6873d98b8d2be8ac841858ba7dce166c2be4e18be1b1daf4fed43f667430ac3eeccebe2
|
||||||
DIST at-spi2-atk-2.18.1.tar.xz 291676 SHA256 c4b15f9386d34d464ddad5f6cc85669742c016df87141ceee93513245979c12d SHA512 bf4cd26c8130dd3b92817eb7d0e927391039e86b5d4bd579154c219988af263421c2bf7712fd40fe910ea136cdd2226cf71ba527498b68d022fdbc768c09c7ad WHIRLPOOL d3a4afc5df9d3121836248eeb211cd4cbe7799931a08cc3d83baa6f69d71c11da8afe58ec7dcdef21769f60445b8b6a11e5a5694e310974da97a479590506a66
|
DIST at-spi2-atk-2.18.1.tar.xz 291676 SHA256 c4b15f9386d34d464ddad5f6cc85669742c016df87141ceee93513245979c12d SHA512 bf4cd26c8130dd3b92817eb7d0e927391039e86b5d4bd579154c219988af263421c2bf7712fd40fe910ea136cdd2226cf71ba527498b68d022fdbc768c09c7ad WHIRLPOOL d3a4afc5df9d3121836248eeb211cd4cbe7799931a08cc3d83baa6f69d71c11da8afe58ec7dcdef21769f60445b8b6a11e5a5694e310974da97a479590506a66
|
||||||
|
DIST at-spi2-atk-2.20.1.tar.xz 309112 SHA256 2358a794e918e8f47ce0c7370eee8fc8a6207ff1afe976ec9ff547a03277bf8e SHA512 17ec2c4e7b532b92d7a53da77ec87516f3cab41464b828661cb75bc93e3dcf7e2c8eaa288ae43f60cfbfe9dafd89a74255ab69dffdf90953943733058292c33f WHIRLPOOL 151aa9ef1a27462c7bac470d8c9a203f840d8f365815325b408d337863d24b1747bfe61dbf18ada4d3632349c55b265d4b44c9744445a9622a1d1d4a32c71501
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
GNOME2_LA_PUNT="yes"
|
||||||
|
|
||||||
|
inherit gnome2 multilib-minimal
|
||||||
|
|
||||||
|
DESCRIPTION="Gtk module for bridging AT-SPI to Atk"
|
||||||
|
HOMEPAGE="https://wiki.gnome.org/Accessibility"
|
||||||
|
|
||||||
|
LICENSE="LGPL-2+"
|
||||||
|
SLOT="2"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
|
||||||
|
IUSE="test"
|
||||||
|
|
||||||
|
# tests fail on multilib setups
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
>=app-accessibility/at-spi2-core-2.17.90[${MULTILIB_USEDEP}]
|
||||||
|
>=dev-libs/atk-2.15.4[${MULTILIB_USEDEP}]
|
||||||
|
>=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}]
|
||||||
|
>=sys-apps/dbus-1.5[${MULTILIB_USEDEP}]
|
||||||
|
"
|
||||||
|
RDEPEND="${COMMON_DEPEND}
|
||||||
|
!<gnome-extra/at-spi-1.32.0-r1
|
||||||
|
"
|
||||||
|
DEPEND="${COMMON_DEPEND}
|
||||||
|
virtual/pkgconfig[${MULTILIB_USEDEP}]
|
||||||
|
test? ( >=dev-libs/libxml2-2.9.1 )
|
||||||
|
"
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
ECONF_SOURCE=${S} \
|
||||||
|
gnome2_src_configure --enable-p2p $(use_with test tests)
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
dbus-run-session -- emake -j1 check
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() { gnome2_src_compile; }
|
||||||
|
multilib_src_install() { gnome2_src_install; }
|
@ -1,2 +1,3 @@
|
|||||||
DIST at-spi2-core-2.16.0.tar.xz 455264 SHA256 1c0b77fb8ce81abbf1d80c0afee9858b3f9229f673b7881995fe0fc16b1a74d0 SHA512 b61cb6dad15e2a6f6cd4788e6b63fed37d0098a56d1417b43aed2ba111a7dd7fccbe7c393f0be794bcaf900f38decbd3974c36e395548000d429086f8717df57 WHIRLPOOL 556c504ba9aef2e4ad2b63e3b4d0417ce24a49fafd45287cf3d669612c2d23058f3e7b373a69a569d63938a0333b62d5c601e8a0f1f4b78d0252bea4b64ede3e
|
DIST at-spi2-core-2.16.0.tar.xz 455264 SHA256 1c0b77fb8ce81abbf1d80c0afee9858b3f9229f673b7881995fe0fc16b1a74d0 SHA512 b61cb6dad15e2a6f6cd4788e6b63fed37d0098a56d1417b43aed2ba111a7dd7fccbe7c393f0be794bcaf900f38decbd3974c36e395548000d429086f8717df57 WHIRLPOOL 556c504ba9aef2e4ad2b63e3b4d0417ce24a49fafd45287cf3d669612c2d23058f3e7b373a69a569d63938a0333b62d5c601e8a0f1f4b78d0252bea4b64ede3e
|
||||||
DIST at-spi2-core-2.18.3.tar.xz 451408 SHA256 ada26add94155f97d0f601a20cb7a0e3fd3ba1588c3520b7288316494027d629 SHA512 89abc660b49ca690a027709da4e6ed75d84f6c2dae691a0428057da0514f4c7f1f49b946f19c17c6ea402a0f1c9a236921efedb05865756c71beca29a0fbd6f2 WHIRLPOOL eeff01c9859c6e260ac8de5adf3caa69551523c0247659cc657b1885f175120bad7dc69b47b94c9ad78db14fe44011a6caf973a3b053aed64c1cc99dac863ddf
|
DIST at-spi2-core-2.18.3.tar.xz 451408 SHA256 ada26add94155f97d0f601a20cb7a0e3fd3ba1588c3520b7288316494027d629 SHA512 89abc660b49ca690a027709da4e6ed75d84f6c2dae691a0428057da0514f4c7f1f49b946f19c17c6ea402a0f1c9a236921efedb05865756c71beca29a0fbd6f2 WHIRLPOOL eeff01c9859c6e260ac8de5adf3caa69551523c0247659cc657b1885f175120bad7dc69b47b94c9ad78db14fe44011a6caf973a3b053aed64c1cc99dac863ddf
|
||||||
|
DIST at-spi2-core-2.20.2.tar.xz 454124 SHA256 88a4de9d43139f13cca531b47b901bc1b56e0ab06ba899126644abd4ac16a143 SHA512 b92eb876ecc1fbd14c042a37d0d781c2b3697ad3e988d3fa2c8894f5ffc269b38a703fee702a1a03d8b37b7c2140a7862cd818c9c7f66bc85bfa776355172d79 WHIRLPOOL 07f99b4b4167875f26952747a8e9fb8ec2cf92898d57a0d4b41420e25d09b8ea7145cea994860959af8ffe78d2ba8fee6900932145ebba9d5047bf832d79617c
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
GNOME2_LA_PUNT="yes"
|
||||||
|
|
||||||
|
inherit eutils gnome2 multilib-minimal
|
||||||
|
|
||||||
|
DESCRIPTION="D-Bus accessibility specifications and registration daemon"
|
||||||
|
HOMEPAGE="https://wiki.gnome.org/Accessibility"
|
||||||
|
|
||||||
|
LICENSE="LGPL-2+"
|
||||||
|
SLOT="2"
|
||||||
|
IUSE="X +introspection"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
|
||||||
|
|
||||||
|
# x11-libs/libSM is needed until upstream #719808 is solved either
|
||||||
|
# making the dep unneeded or fixing their configure
|
||||||
|
# Only libX11 is optional right now
|
||||||
|
RDEPEND="
|
||||||
|
>=dev-libs/glib-2.36:2[${MULTILIB_USEDEP}]
|
||||||
|
>=sys-apps/dbus-1[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libSM[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXtst[${MULTILIB_USEDEP}]
|
||||||
|
introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
|
||||||
|
X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
>=dev-util/gtk-doc-am-1.9
|
||||||
|
>=dev-util/intltool-0.40
|
||||||
|
sys-devel/gettext
|
||||||
|
virtual/pkgconfig[${MULTILIB_USEDEP}]
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
# disable teamspaces test since that requires Novell.ICEDesktop.Daemon
|
||||||
|
"${FILESDIR}/${PN}-2.0.2-disable-teamspaces-test.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
# xevie is deprecated/broken since xorg-1.6/1.7
|
||||||
|
ECONF_SOURCE=${S} \
|
||||||
|
gnome2_src_configure \
|
||||||
|
--disable-xevie \
|
||||||
|
$(multilib_native_use_enable introspection) \
|
||||||
|
$(use_enable X x11)
|
||||||
|
|
||||||
|
# work-around gtk-doc out-of-source brokedness
|
||||||
|
if multilib_is_native_abi; then
|
||||||
|
ln -s "${S}"/doc/libatspi/html doc/libatspi/html || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() { gnome2_src_compile; }
|
||||||
|
multilib_src_install() { gnome2_src_install; }
|
@ -1,2 +1,2 @@
|
|||||||
DIST orca-3.16.3.tar.xz 2124800 SHA256 540deeaa1a973cc7ccc8a463f8fcf51db51f7ccfb130bc2019ac53bf67943dc7 SHA512 c579437d956bee014db61aeb7494a295345e28a147a938a71a8062c30de67fcff3767c5ea8767067ce5f2f5ff84c0aaf2fc250730e4a7036ae100078fd6f058f WHIRLPOOL 839b3c7170f2fd44fa5b97cfd9ed6989dd94721d379d21428a166b8321fb5162a56f758327df0ea632bf320711362b0e03916358d023fba8dffec2a36f62b970
|
|
||||||
DIST orca-3.18.2.tar.xz 2213548 SHA256 986244af7a0891b758eb8e772bc61d72483808e7e9c790360f9f389045d7262a SHA512 ec1210cea7a540bd931f7ede45c173829e780a4da4e61245920d15bb11b62d803771e32b791b2d0c307e15a8ef61b619b5e79e9909bf438a94252842a0dd8613 WHIRLPOOL 31475d1eacbf322cdd49d286c3585d97c93de08f92b0533fa58905d4ea089272bc16e8bb748041cc6f27dd54c19996b3d72993c5b148b3c8e6c873f9e452fe98
|
DIST orca-3.18.2.tar.xz 2213548 SHA256 986244af7a0891b758eb8e772bc61d72483808e7e9c790360f9f389045d7262a SHA512 ec1210cea7a540bd931f7ede45c173829e780a4da4e61245920d15bb11b62d803771e32b791b2d0c307e15a8ef61b619b5e79e9909bf438a94252842a0dd8613 WHIRLPOOL 31475d1eacbf322cdd49d286c3585d97c93de08f92b0533fa58905d4ea089272bc16e8bb748041cc6f27dd54c19996b3d72993c5b148b3c8e6c873f9e452fe98
|
||||||
|
DIST orca-3.20.2.tar.xz 2313164 SHA256 8c90403c4ae8bb0a4b240d1e784b61ee56de42df781520c912b298c10ae05785 SHA512 27594b9b0fa9343057a854e8cfff7ab074e084c3f210c1bf1f4310363b4738ce6af5b4f62ef15ed58093af27e7eaad2e030c08e990cf462624e5fb2c8329fd0c WHIRLPOOL 473f7fd8b5dedb8034774604a38b97dcdc3b2e3c346e89f0b36343b18e69bffac7f98927bc069b3ac20c969c2dae09087f2612dacb09b98952fc299e3d340c76
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
|
||||||
|
inherit eutils systemd toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="A tool for dynamically adjusting the nice-level of processes"
|
||||||
|
HOMEPAGE="https://web.archive.org/web/20130621090315/ http://thermal.cnde.iastate.edu/~sdh4/verynice/"
|
||||||
|
SRC_URI="http://gentoo/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~ppc ~x86"
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
S=${WORKDIR}/${PN}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
epatch "${FILESDIR}"/${P}-build.patch
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
tc-export CC
|
||||||
|
emake RPM_BUILD_ROOT="${D}" PREFIX=/usr
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install(){
|
||||||
|
emake RPM_BUILD_ROOT="${D}" PREFIX=/usr VERSION=${PVR} install
|
||||||
|
doinitd "${FILESDIR}"/verynice
|
||||||
|
systemd_dounit "${FILESDIR}"/verynice.service
|
||||||
|
}
|
@ -1,2 +1,2 @@
|
|||||||
DIST file-roller-3.16.4.tar.xz 1412224 SHA256 5455980b2c9c7eb063d2d65560ae7ab2e7f01b208ea3947e151680231c7a4185 SHA512 76378e16cd7f37a336b3eb3c6106cf36c2ea6e9209c23175810e2b80dc13a7b62b04cfcdea0b2bf69251baf7b164e85c34d99813cdbfd07433f73aba9c7361ae WHIRLPOOL 0d8736e13b97a4a005ae53bd9885b10c8a7797e10e0d8f4548e4112490ebc3ce91b0e5349b251bdca5d0f392318be7ea4fb324e3399300e362f47b024217849d
|
|
||||||
DIST file-roller-3.16.5.tar.xz 1415236 SHA256 09a68db98aa33febdad76e6977d7771b3b444da7f57ab6f4fe7d6a77e39d5a91 SHA512 83c8dddb547f36faa2728996648479255353706a266ce26e79f8f6141794d0281a9817f2a1dc687623ba8382cab93aef23675e2f3ef6d4abb9f8871f253d2c2d WHIRLPOOL 01d54e45d9d8b81c5f965622adbacac1400f56461e230999e97aa1cde135714e7e80317749c04eac7b4a49fea0fa66142b9dfbec0876b743b4709d3d17c72cce
|
DIST file-roller-3.16.5.tar.xz 1415236 SHA256 09a68db98aa33febdad76e6977d7771b3b444da7f57ab6f4fe7d6a77e39d5a91 SHA512 83c8dddb547f36faa2728996648479255353706a266ce26e79f8f6141794d0281a9817f2a1dc687623ba8382cab93aef23675e2f3ef6d4abb9f8871f253d2c2d WHIRLPOOL 01d54e45d9d8b81c5f965622adbacac1400f56461e230999e97aa1cde135714e7e80317749c04eac7b4a49fea0fa66142b9dfbec0876b743b4709d3d17c72cce
|
||||||
|
DIST file-roller-3.20.2.tar.xz 1430448 SHA256 93188a7ac9285cb85551c327082aeaeb51ac39a9722cb96b0e29d5ec2ae353c6 SHA512 a2397215125c5bf10efcc04eb7722459acf5e11c40f3d2acb813c1c4e0de0855656c732cecb0526f850bf3e419c8407b36487c553ce9e26894fc40af309dfdf5 WHIRLPOOL e05ef7a1d86c5dceae079b8e7400acb49977903df0e90bf4bcec7774713d2afcf91311a75ba3a771fca49f6662e005ecde347328ed9e7923864a9082329a9478
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
From b9308bac8f93c047d0ce7a3b52e9b5f09adf2c86 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sebastian Pipping <sebastian@pipping.org>
|
|
||||||
Date: Sun, 6 Dec 2015 15:23:31 +0100
|
|
||||||
Subject: [PATCH] Stop mis-treating p7zip 15.09 as pre-4.55 (#757793)
|
|
||||||
|
|
||||||
---
|
|
||||||
src/fr-command-7z.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/fr-command-7z.c b/src/fr-command-7z.c
|
|
||||||
index fc33d4d..1befbf5 100644
|
|
||||||
--- a/src/fr-command-7z.c
|
|
||||||
+++ b/src/fr-command-7z.c
|
|
||||||
@@ -98,7 +98,7 @@ list__process_line (char *line,
|
|
||||||
strncpy (version, ver_start, ver_len);
|
|
||||||
version[ver_len] = 0;
|
|
||||||
|
|
||||||
- if (strcmp (version, "4.55") < 0)
|
|
||||||
+ if ((strcmp (version, "4.55") < 0) && (ver_len > 1) && (version[1] == '.'))
|
|
||||||
self->old_style = TRUE;
|
|
||||||
else
|
|
||||||
self->old_style = FALSE;
|
|
||||||
--
|
|
||||||
2.6.3
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
|||||||
DIST unar1.1_src.zip 3530742 SHA256 478f5ffd9707f3f295e088df42e1cd26dcf203590297a4bd35a95e9de186ed0e SHA512 9d2ca145497961cc9b8c786e49810394c0abed8077e806d873420c65eabef70b57a70f93741890f8e7ee231d145d45c9b3a614ddc8ef5d17f8f1603c7ac419a2 WHIRLPOOL 5494edc1b488ddc516fd7abd1e3697eb5b95b6046bcd99b308318f450049008252b781bc74411c716de38ecef523afbc684867db047d72f5cb020e3d68df03ec
|
DIST unar1.10.1_src.zip 2552535 SHA256 40967014a505b7a27864c49dc3b5d30b98ae4e6d4873783b2ef9ef9215fd092b SHA512 2755f1e2dcca68912f748587f195887d785d5c30933ca0d7a7de1dd35c6c1c115571e49f462fe15722e1b34560f02503382727e1df19a1f23d4a3cc75750434e WHIRLPOOL 980cc9224d2146a79c4e42c7890b4ca1f81824c2f04cb6c076c5a60a5a2e2dc98012c9076deb653cf0d4766533081b37baa0c0494ad6da355923b286ae51621f
|
||||||
DIST unar1.2_src.zip 3599730 SHA256 653ebb2bb6568e6de9f5513aeaabf13b12ae55159e64709a6c20a4f45387c8d6 SHA512 9d78b90e04a4200a77cddcbc33b655d9ea841602ee1d2e59e77e7d103abeba0609e2fed6183d243b6a7ad24ed4680d2001206b6663b70df3d4bc404ecc116267 WHIRLPOOL 7dffdb3bc1a92ccec6496d3344df0ce528bd0f792ccec338f17f7dea6b645b3d2f2a79355ff5d6d613486405a116619638e3420ab1e3ce1a8a9034cc55dec046
|
|
||||||
DIST unar1.5_src.zip 2530160 SHA256 22e9b6c31fb6dea27e59222bfaaa8aee08af92aed1cfcbff407d1cf11be6ea78 SHA512 a6239279b9706f43feb02f7a80993c360ed21d79e448f08fcc40f14ef078f24b21daf3974fc7f5880f3e5188880e903e028e5aaeaeb4565593d9945fbeced27b WHIRLPOOL 7242af7ba9c7a470bf31ca4860b35d00b1e88611083c6fcab872b0c2a6e2e53a6bcf03309c76f322e4334ead736ac0d7f93f5e66863268d334ea1fcf9ab57bf3
|
|
||||||
DIST unar1.6_src.zip 2531920 SHA256 818e6b8c3a6d54218acb13693191fdeb99d6d622e9eb480e615f68267dc6ff51 SHA512 4d48d04e89c67d35fb3b186850b4426ba90e1cbb7afca70bdea2d0dd1e92178c773494fda23fa58d44e8e92d5342b9a2efa3695d25f6d1104e481b9f6234b3a1 WHIRLPOOL e9bba9f6fadf3ef0537b653ca7d0063a47bb2746277d1e48354ba59aed3743a7509b38c72fe15eb3a4c58659355952aa0bb44cf346e48e08f235ed8fea32ae0b
|
DIST unar1.6_src.zip 2531920 SHA256 818e6b8c3a6d54218acb13693191fdeb99d6d622e9eb480e615f68267dc6ff51 SHA512 4d48d04e89c67d35fb3b186850b4426ba90e1cbb7afca70bdea2d0dd1e92178c773494fda23fa58d44e8e92d5342b9a2efa3695d25f6d1104e481b9f6234b3a1 WHIRLPOOL e9bba9f6fadf3ef0537b653ca7d0063a47bb2746277d1e48354ba59aed3743a7509b38c72fe15eb3a4c58659355952aa0bb44cf346e48e08f235ed8fea32ae0b
|
||||||
DIST unar1.8.1_src.zip 2526220 SHA256 67ccb1c780150840f38de63b8e7047717ef4c71b7574d9ef57bd9d9c93255709 SHA512 3c899f11ace75a9976f3b9d13ed7d700fe16a56783aab0b8581f72ce886229de696c9f1286b6d6a407e5f6151973588bfe14754ea81af94214bb662fc856e0e3 WHIRLPOOL d5f11810129c7a91443b0a9ca2a47fdbe4e9fcd08c2438c5e914344d238258cd387a65ffa15ec245fc927b38311700e14dd3e1dba89a8e34d2a4494e4442c286
|
DIST unar1.8.1_src.zip 2526220 SHA256 67ccb1c780150840f38de63b8e7047717ef4c71b7574d9ef57bd9d9c93255709 SHA512 3c899f11ace75a9976f3b9d13ed7d700fe16a56783aab0b8581f72ce886229de696c9f1286b6d6a407e5f6151973588bfe14754ea81af94214bb662fc856e0e3 WHIRLPOOL d5f11810129c7a91443b0a9ca2a47fdbe4e9fcd08c2438c5e914344d238258cd387a65ffa15ec245fc927b38311700e14dd3e1dba89a8e34d2a4494e4442c286
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=4
|
|
||||||
|
|
||||||
inherit toolchain-funcs
|
|
||||||
|
|
||||||
DESCRIPTION="Unpacker for various archiving formats, e.g. rar v3"
|
|
||||||
HOMEPAGE="http://unarchiver.c3.cx/"
|
|
||||||
SRC_URI="https://theunarchiver.googlecode.com/files/${PN}${PV}_src.zip"
|
|
||||||
LICENSE="LGPL-2.1"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
RDEPEND="gnustep-base/gnustep-base
|
|
||||||
>=gnustep-base/gnustep-make-2.6.0[native-exceptions]
|
|
||||||
dev-libs/icu"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
sys-devel/gcc[objc]"
|
|
||||||
|
|
||||||
S="${WORKDIR}/The Unarchiver/XADMaster"
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -f Makefile.linux \
|
|
||||||
CC="$(tc-getCC)" \
|
|
||||||
OBJCC="$(tc-getCC)" \
|
|
||||||
C_OPTS="-std=gnu99 ${CFLAGS}" \
|
|
||||||
OBJC_OPTS="-std=gnu99 ${CFLAGS}" \
|
|
||||||
LD="$(tc-getCC)" \
|
|
||||||
LDFLAGS="-Wl,--whole-archive -fexceptions -fgnu-runtime \
|
|
||||||
${LDFLAGS}" || die "emake failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dobin unar lsar || die "dobin failed"
|
|
||||||
doman ../Extra/lsar.1 ../Extra/unar.1 || die "doman failed"
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=4
|
|
||||||
|
|
||||||
inherit toolchain-funcs
|
|
||||||
|
|
||||||
DESCRIPTION="Unpacker for various archiving formats, e.g. rar v3"
|
|
||||||
HOMEPAGE="http://unarchiver.c3.cx/"
|
|
||||||
SRC_URI="https://theunarchiver.googlecode.com/files/${PN}${PV}_src.zip"
|
|
||||||
LICENSE="LGPL-2.1"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
RDEPEND="gnustep-base/gnustep-base
|
|
||||||
>=gnustep-base/gnustep-make-2.6.0[native-exceptions]
|
|
||||||
dev-libs/icu"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
sys-devel/gcc[objc]"
|
|
||||||
|
|
||||||
S="${WORKDIR}/The Unarchiver/XADMaster"
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -f Makefile.linux \
|
|
||||||
CC="$(tc-getCC)" \
|
|
||||||
OBJCC="$(tc-getCC)" \
|
|
||||||
C_OPTS="-std=gnu99 ${CFLAGS}" \
|
|
||||||
OBJC_OPTS="-std=gnu99 ${CFLAGS}" \
|
|
||||||
LD="$(tc-getCC)" \
|
|
||||||
LDFLAGS="-Wl,--whole-archive -fexceptions -fgnu-runtime \
|
|
||||||
${LDFLAGS}" || die "emake failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dobin unar lsar || die "dobin failed"
|
|
||||||
doman ../Extra/lsar.1 ../Extra/unar.1 || die "doman failed"
|
|
||||||
}
|
|
@ -0,0 +1,410 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EAPI="5"
|
||||||
|
|
||||||
|
inherit eutils multilib qt4-r2 systemd user libtool
|
||||||
|
|
||||||
|
MY_PV=${PV/_beta/-b}
|
||||||
|
MY_P=${PN}-${MY_PV}
|
||||||
|
|
||||||
|
DESCRIPTION="Featureful client/server network backup suite"
|
||||||
|
HOMEPAGE="http://www.bacula.org/"
|
||||||
|
SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="AGPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
|
||||||
|
IUSE="acl bacula-clientonly bacula-nodir bacula-nosd examples ipv6 libressl logwatch mysql postgres qt4 readline +sqlite ssl static tcpd vim-syntax X"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
dev-libs/gmp:0
|
||||||
|
!bacula-clientonly? (
|
||||||
|
postgres? ( dev-db/postgresql:*[threads] )
|
||||||
|
mysql? ( virtual/mysql )
|
||||||
|
sqlite? ( dev-db/sqlite:3 )
|
||||||
|
!bacula-nodir? ( virtual/mta )
|
||||||
|
)
|
||||||
|
qt4? (
|
||||||
|
dev-qt/qtsvg:4
|
||||||
|
x11-libs/qwt:5
|
||||||
|
)
|
||||||
|
logwatch? ( sys-apps/logwatch )
|
||||||
|
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||||
|
readline? ( sys-libs/readline:0 )
|
||||||
|
static? (
|
||||||
|
acl? ( virtual/acl[static-libs] )
|
||||||
|
sys-libs/zlib[static-libs]
|
||||||
|
dev-libs/lzo[static-libs]
|
||||||
|
sys-libs/ncurses:=[static-libs]
|
||||||
|
ssl? (
|
||||||
|
!libressl? ( dev-libs/openssl:0=[static-libs] )
|
||||||
|
libressl? ( dev-libs/libressl:0=[static-libs] )
|
||||||
|
)
|
||||||
|
)
|
||||||
|
!static? (
|
||||||
|
acl? ( virtual/acl )
|
||||||
|
sys-libs/zlib
|
||||||
|
dev-libs/lzo
|
||||||
|
sys-libs/ncurses:=
|
||||||
|
ssl? (
|
||||||
|
!libressl? ( dev-libs/openssl:0= )
|
||||||
|
libressl? ( dev-libs/libressl:0= )
|
||||||
|
)
|
||||||
|
)"
|
||||||
|
RDEPEND="${DEPEND}
|
||||||
|
!bacula-clientonly? (
|
||||||
|
!bacula-nosd? (
|
||||||
|
sys-block/mtx
|
||||||
|
app-arch/mt-st
|
||||||
|
)
|
||||||
|
)
|
||||||
|
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
|
||||||
|
|
||||||
|
REQUIRED_USE="|| ( ^^ ( mysql postgres sqlite ) bacula-clientonly )
|
||||||
|
static? ( bacula-clientonly )"
|
||||||
|
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
#XOR and !bacula-clientonly controlled by REQUIRED_USE
|
||||||
|
use mysql && export mydbtype="mysql"
|
||||||
|
use postgres && export mydbtype="postgresql"
|
||||||
|
use sqlite && export mydbtype="sqlite3"
|
||||||
|
|
||||||
|
# create the daemon group and user
|
||||||
|
if [ -z "$(egetent group bacula 2>/dev/null)" ]; then
|
||||||
|
enewgroup bacula
|
||||||
|
einfo
|
||||||
|
einfo "The group 'bacula' has been created. Any users you add to this"
|
||||||
|
einfo "group have access to files created by the daemons."
|
||||||
|
einfo
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use bacula-clientonly && use static && use qt4; then
|
||||||
|
ewarn
|
||||||
|
ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt4' useflag."
|
||||||
|
ewarn
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use bacula-clientonly; then
|
||||||
|
if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then
|
||||||
|
enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw
|
||||||
|
einfo
|
||||||
|
einfo "The user 'bacula' has been created. Please see the bacula manual"
|
||||||
|
einfo "for information about running bacula as a non-root user."
|
||||||
|
einfo
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# adjusts default configuration files for several binaries
|
||||||
|
# to /etc/bacula/<config> instead of ./<config>
|
||||||
|
pushd src >&/dev/null || die
|
||||||
|
for f in console/console.c dird/dird.c filed/filed.c \
|
||||||
|
stored/bcopy.c stored/bextract.c stored/bls.c \
|
||||||
|
stored/bscan.c stored/btape.c stored/stored.c \
|
||||||
|
qt-console/main.cpp; do
|
||||||
|
sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \
|
||||||
|
|| die "sed on ${f} failed"
|
||||||
|
done
|
||||||
|
popd >&/dev/null || die
|
||||||
|
|
||||||
|
# bug 466688 drop deprecated categories from Desktop file
|
||||||
|
sed -i -e 's/Application;//' scripts/bat.desktop.in || die
|
||||||
|
|
||||||
|
# bug 466690 Use CXXFLAGS instead of CFLAGS
|
||||||
|
sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
|
||||||
|
|
||||||
|
# drop automatic install of unneeded documentation (for bug 356499)
|
||||||
|
epatch "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch
|
||||||
|
|
||||||
|
# bug #310087
|
||||||
|
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch
|
||||||
|
|
||||||
|
# bug #311161
|
||||||
|
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-lib-search-path.patch
|
||||||
|
|
||||||
|
# bat needs to respect LDFLAGS
|
||||||
|
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-ldflags.patch
|
||||||
|
|
||||||
|
# bug #328701
|
||||||
|
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch
|
||||||
|
|
||||||
|
epatch "${FILESDIR}"/7.2.0/${PN}-7.2.0-fix-static.patch
|
||||||
|
|
||||||
|
# do not strip binaries
|
||||||
|
sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die
|
||||||
|
sed -i -e "s/strip /# strip /" src/console/Makefile.in || die
|
||||||
|
|
||||||
|
# fix file not found error during make depend
|
||||||
|
epatch "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch
|
||||||
|
|
||||||
|
# Fix systemd unit files:
|
||||||
|
# bug 497748
|
||||||
|
sed -i -e '/Requires/d' platforms/systemd/*.service.in || die
|
||||||
|
sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die
|
||||||
|
# bug 504370
|
||||||
|
sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die
|
||||||
|
# bug 584442 and 504368
|
||||||
|
sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die
|
||||||
|
|
||||||
|
# fix bundled libtool (bug 466696)
|
||||||
|
# But first move directory with M4 macros out of the way.
|
||||||
|
# It is only needed by autoconf and gives errors during elibtoolize.
|
||||||
|
mv autoconf/libtool autoconf/libtool1 || die
|
||||||
|
elibtoolize
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myconf=''
|
||||||
|
|
||||||
|
if use bacula-clientonly; then
|
||||||
|
myconf="${myconf} \
|
||||||
|
$(use_enable bacula-clientonly client-only) \
|
||||||
|
$(use_enable !static libtool) \
|
||||||
|
$(use_enable static static-cons) \
|
||||||
|
$(use_enable static static-fd)"
|
||||||
|
else
|
||||||
|
myconf="${myconf} \
|
||||||
|
$(use_enable !bacula-nodir build-dird) \
|
||||||
|
$(use_enable !bacula-nosd build-stored)"
|
||||||
|
# bug #311099
|
||||||
|
# database support needed by dir-only *and* sd-only
|
||||||
|
# build as well (for building bscan, btape, etc.)
|
||||||
|
myconf="${myconf} \
|
||||||
|
--with-${mydbtype} \
|
||||||
|
--enable-batch-insert"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# do not build bat if 'static' clientonly
|
||||||
|
if ! use bacula-clientonly || ! use static; then
|
||||||
|
myconf="${myconf} \
|
||||||
|
$(use_enable qt4 bat)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf="${myconf} \
|
||||||
|
$(use_with X x) \
|
||||||
|
$(use_enable !readline conio) \
|
||||||
|
$(use_enable readline) \
|
||||||
|
$(use_with readline readline /usr) \
|
||||||
|
$(use_with ssl openssl) \
|
||||||
|
$(use_enable ipv6) \
|
||||||
|
$(use_enable acl) \
|
||||||
|
$(use_with tcpd tcp-wrappers)"
|
||||||
|
|
||||||
|
econf \
|
||||||
|
--libdir=/usr/$(get_libdir) \
|
||||||
|
--docdir=/usr/share/doc/${PF} \
|
||||||
|
--htmldir=/usr/share/doc/${PF}/html \
|
||||||
|
--with-pid-dir=/var/run \
|
||||||
|
--sysconfdir=/etc/bacula \
|
||||||
|
--with-subsys-dir=/var/lock/subsys \
|
||||||
|
--with-working-dir=/var/lib/bacula \
|
||||||
|
--with-logdir=/var/lib/bacula \
|
||||||
|
--with-scriptdir=/usr/libexec/bacula \
|
||||||
|
--with-systemd=$(systemd_get_unitdir) \
|
||||||
|
--with-dir-user=bacula \
|
||||||
|
--with-dir-group=bacula \
|
||||||
|
--with-sd-user=root \
|
||||||
|
--with-sd-group=bacula \
|
||||||
|
--with-fd-user=root \
|
||||||
|
--with-fd-group=bacula \
|
||||||
|
--enable-smartalloc \
|
||||||
|
--disable-afs \
|
||||||
|
--host=${CHOST} \
|
||||||
|
${myconf}
|
||||||
|
# correct configuration for QT based bat
|
||||||
|
if use qt4 ; then
|
||||||
|
pushd src/qt-console
|
||||||
|
eqmake4
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# Make build log verbose (bug #447806)
|
||||||
|
emake NO_ECHO=""
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
doicon scripts/bacula.png
|
||||||
|
|
||||||
|
# install bat icon and desktop file when enabled
|
||||||
|
# (for some reason ./configure doesn't pick this up)
|
||||||
|
if use qt4 && ! use static ; then
|
||||||
|
doicon src/qt-console/images/bat_icon.png
|
||||||
|
domenu scripts/bat.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
# remove some scripts we don't need at all
|
||||||
|
rm -f "${D}"/usr/libexec/bacula/{bacula,bacula-ctl-dir,bacula-ctl-fd,bacula-ctl-sd,startmysql,stopmysql}
|
||||||
|
|
||||||
|
# rename statically linked apps
|
||||||
|
if use bacula-clientonly && use static ; then
|
||||||
|
pushd "${D}"/usr/sbin || die
|
||||||
|
mv static-bacula-fd bacula-fd || die
|
||||||
|
mv static-bconsole bconsole || die
|
||||||
|
popd || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# extra files which 'make install' doesn't cover
|
||||||
|
if ! use bacula-clientonly; then
|
||||||
|
# the database update scripts
|
||||||
|
diropts -m0750
|
||||||
|
insinto /usr/libexec/bacula/updatedb
|
||||||
|
insopts -m0754
|
||||||
|
doins "${S}"/updatedb/*
|
||||||
|
fperms 0640 /usr/libexec/bacula/updatedb/README
|
||||||
|
|
||||||
|
# the logrotate configuration
|
||||||
|
# (now unconditional wrt bug #258187)
|
||||||
|
diropts -m0755
|
||||||
|
insinto /etc/logrotate.d
|
||||||
|
insopts -m0644
|
||||||
|
newins "${S}"/scripts/logrotate bacula
|
||||||
|
|
||||||
|
# the logwatch scripts
|
||||||
|
if use logwatch; then
|
||||||
|
diropts -m0750
|
||||||
|
dodir /etc/log.d/scripts/services
|
||||||
|
dodir /etc/log.d/scripts/shared
|
||||||
|
dodir /etc/log.d/conf/logfiles
|
||||||
|
dodir /etc/log.d/conf/services
|
||||||
|
pushd "${S}"/scripts/logwatch >&/dev/null || die
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
popd >&/dev/null || die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use qt4; then
|
||||||
|
rm -vf "${D}"/usr/share/man/man1/bat.1*
|
||||||
|
fi
|
||||||
|
rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1*
|
||||||
|
if use bacula-clientonly || use bacula-nodir; then
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/bacula-dir.8*
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/dbcheck.8*
|
||||||
|
rm -vf "${D}"/usr/share/man/man1/bsmtp.1*
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/create_*_database
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/drop_*_database
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/make_*_tables
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/update_*_tables
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/drop_*_tables
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup
|
||||||
|
fi
|
||||||
|
if use bacula-clientonly || use bacula-nosd; then
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/bacula-sd.8*
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/bcopy.8*
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/bextract.8*
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/bls.8*
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/bscan.8*
|
||||||
|
rm -vf "${D}"/usr/share/man/man8/btape.8*
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/disk-changer
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/mtx-changer
|
||||||
|
rm -vf "${D}"/usr/libexec/bacula/dvd-handler
|
||||||
|
fi
|
||||||
|
|
||||||
|
# documentation
|
||||||
|
dodoc ChangeLog ReleaseNotes SUPPORT
|
||||||
|
|
||||||
|
# install examples (bug #457504)
|
||||||
|
if use examples; then
|
||||||
|
docinto examples/
|
||||||
|
dodoc -r examples/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
# vim-files
|
||||||
|
if use vim-syntax; then
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins scripts/bacula.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
newins scripts/filetype.vim bacula_ft.vim
|
||||||
|
fi
|
||||||
|
|
||||||
|
# setup init scripts
|
||||||
|
myscripts="bacula-fd"
|
||||||
|
if ! use bacula-clientonly; then
|
||||||
|
if ! use bacula-nodir; then
|
||||||
|
myscripts="${myscripts} bacula-dir"
|
||||||
|
fi
|
||||||
|
if ! use bacula-nosd; then
|
||||||
|
myscripts="${myscripts} bacula-sd"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
for script in ${myscripts}; do
|
||||||
|
# copy over init script and config to a temporary location
|
||||||
|
# so we can modify them as needed
|
||||||
|
cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd"
|
||||||
|
cp "${FILESDIR}/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd"
|
||||||
|
|
||||||
|
# now set the database dependancy for the director init script
|
||||||
|
case "${script}" in
|
||||||
|
bacula-dir)
|
||||||
|
case "${mydbtype}" in
|
||||||
|
sqlite3)
|
||||||
|
# sqlite databases don't have a daemon
|
||||||
|
sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# all other databases have daemons
|
||||||
|
sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# install init script and config
|
||||||
|
newinitd "${T}/${script}".initd "${script}"
|
||||||
|
newconfd "${T}/${script}".confd "${script}"
|
||||||
|
done
|
||||||
|
|
||||||
|
systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service
|
||||||
|
|
||||||
|
# make sure the working directory exists
|
||||||
|
diropts -m0750
|
||||||
|
keepdir /var/lib/bacula
|
||||||
|
|
||||||
|
# make sure bacula group can execute bacula libexec scripts
|
||||||
|
fowners -R root:bacula /usr/libexec/bacula
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if use bacula-clientonly; then
|
||||||
|
fowners root:bacula /var/lib/bacula
|
||||||
|
else
|
||||||
|
fowners bacula:bacula /var/lib/bacula
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use bacula-clientonly && ! use bacula-nodir; then
|
||||||
|
einfo
|
||||||
|
einfo "If this is a new install, you must create the ${mydbtype} databases with:"
|
||||||
|
einfo " /usr/libexec/bacula/create_${mydbtype}_database"
|
||||||
|
einfo " /usr/libexec/bacula/make_${mydbtype}_tables"
|
||||||
|
einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges"
|
||||||
|
einfo
|
||||||
|
|
||||||
|
ewarn "ATTENTION!"
|
||||||
|
ewarn "The format of the database may have changed."
|
||||||
|
ewarn "If you just upgraded from a version below 7.2.0 you must run"
|
||||||
|
ewarn "'update_bacula_tables' now."
|
||||||
|
ewarn "Make sure to have a backup of your catalog before."
|
||||||
|
ewarn
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use sqlite; then
|
||||||
|
einfo
|
||||||
|
einfo "Be aware that Bacula does not officially support SQLite database anymore."
|
||||||
|
einfo "Best use it only for a client-only installation. See Bug #445540."
|
||||||
|
einfo
|
||||||
|
fi
|
||||||
|
|
||||||
|
einfo "Please note that 'bconsole' will always be installed. To compile 'bat'"
|
||||||
|
einfo "you have to enable 'USE=qt4'."
|
||||||
|
einfo
|
||||||
|
}
|
@ -1 +1 @@
|
|||||||
DIST contest-0.61.tar.gz 33676 SHA256 f35f89cc46c9a826c218e305e8580bfce7a4a8cb05392792ac623a410ecbfdac SHA512 94da72227af07909fe4bcbbbe303cc3a04bf871a7e2f2c133b2ac7974250528e7cfbb40ae98f80f392c8b65b37f42812a46c11c77ba985702a383eda1d3682f2 WHIRLPOOL 762d56bc71a84ede16da78b757449ad226a40b64413ebc81aa7c29f40ced2dd223ae09d4eb7fba50e2d8d81b34cf6a0168afd367ef85da1e1265f6b272473423
|
DIST contest-0.61.tar.bz2 29204 SHA256 d98d2811bcab0dd3e3e8623daf99bd4625234615cda18a113a34e55c2d5ba140 SHA512 34fb83a3b37d67d9729ce14fdd066010c7360a401d21f3566be8dae7271a30f01cc5b84092405ddfb6961a2284af0a18ce6709ab6d4ab68607aa98f975815131 WHIRLPOOL 0cd4eb0793391bac2db3297d0fd61dfd2564d966f7125de68aa2de73f789a35d6874d4709780551d04ead4b90c6f45eea7cea15f28858d9710aa7d88aa4f1afc
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
DIST gcr-3.16.0.tar.xz 1335348 SHA256 ecfe8df41cc88158364bb15addc670b11e539fe844742983629ba2323888d075 SHA512 1db6e2532d2d0ceb6f339551b009baae5815fcf8a12b76b0eb9e13f301d1205c2e2c9b8f555ae011a84521e55fe9cccb703c3dd539d638b476e0474c34672be4 WHIRLPOOL 88a0d5936b6dd54923fd476f3af0acac9c068268416cb30c65670ae8bf8bec3940cdee84e72e6218c3cf9e59a023508e5961357b2e80a297428e573cddc6bd7b
|
DIST gcr-3.16.0.tar.xz 1335348 SHA256 ecfe8df41cc88158364bb15addc670b11e539fe844742983629ba2323888d075 SHA512 1db6e2532d2d0ceb6f339551b009baae5815fcf8a12b76b0eb9e13f301d1205c2e2c9b8f555ae011a84521e55fe9cccb703c3dd539d638b476e0474c34672be4 WHIRLPOOL 88a0d5936b6dd54923fd476f3af0acac9c068268416cb30c65670ae8bf8bec3940cdee84e72e6218c3cf9e59a023508e5961357b2e80a297428e573cddc6bd7b
|
||||||
DIST gcr-3.18.0.tar.xz 1311368 SHA256 d4d16da5af55148a694055835ccd07ad34daf0ad03bdad929bf7cad15637ce00 SHA512 3733a462c23b0cf1d3579ea4b0b6eea9b5e3eb98e81e7c0e0364e540ec60a7a7bc567d1d159c674df280fb20c305cbaef796dffef73801ece4f4474352786e6b WHIRLPOOL 1bb299e386415c86dbb4f6afb48e365fd69e12a13e7349cefcd05c2685841fb0fb76c499780c2e275114c185a67b6be66989c6f989794ebbf1fd18ca501ed4b6
|
DIST gcr-3.18.0.tar.xz 1311368 SHA256 d4d16da5af55148a694055835ccd07ad34daf0ad03bdad929bf7cad15637ce00 SHA512 3733a462c23b0cf1d3579ea4b0b6eea9b5e3eb98e81e7c0e0364e540ec60a7a7bc567d1d159c674df280fb20c305cbaef796dffef73801ece4f4474352786e6b WHIRLPOOL 1bb299e386415c86dbb4f6afb48e365fd69e12a13e7349cefcd05c2685841fb0fb76c499780c2e275114c185a67b6be66989c6f989794ebbf1fd18ca501ed4b6
|
||||||
|
DIST gcr-3.20.0.tar.xz 1324216 SHA256 90572c626d8a708225560c42b4421f7941315247fa1679d4ef569bde7f4bb379 SHA512 0acd0fb085a38507b1cc895ac773f91c6f4e14d2ea7e27b8e74c85ef78426597b6ea08ebee696452b0651939ec4a0d8a4a2523c41b3a8a0bd1b0d7b338b1d9c7 WHIRLPOOL f9872c7c0f2480b868451775b5a7c63f7cba0d00702660417b738c6260706c8144bf73d36ddd0339b3acbfc010b4ceddef080a3dc1570de875b061e2053ba46f
|
||||||
|
@ -0,0 +1,77 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
VALA_USE_DEPEND="vapigen"
|
||||||
|
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
|
||||||
|
|
||||||
|
inherit gnome2 python-any-r1 vala virtualx
|
||||||
|
|
||||||
|
DESCRIPTION="Libraries for cryptographic UIs and accessing PKCS#11 modules"
|
||||||
|
HOMEPAGE="https://git.gnome.org/browse/gcr"
|
||||||
|
|
||||||
|
LICENSE="GPL-2+ LGPL-2+"
|
||||||
|
SLOT="0/1" # subslot = suffix of libgcr-3
|
||||||
|
|
||||||
|
IUSE="debug gtk +introspection vala"
|
||||||
|
REQUIRED_USE="vala? ( introspection )"
|
||||||
|
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
>=app-crypt/p11-kit-0.19
|
||||||
|
>=dev-libs/glib-2.38:2
|
||||||
|
>=dev-libs/libgcrypt-1.2.2:0=
|
||||||
|
>=dev-libs/libtasn1-1:=
|
||||||
|
>=sys-apps/dbus-1
|
||||||
|
gtk? ( >=x11-libs/gtk+-3.12:3[X,introspection?] )
|
||||||
|
introspection? ( >=dev-libs/gobject-introspection-1.34:= )
|
||||||
|
"
|
||||||
|
RDEPEND="${COMMON_DEPEND}
|
||||||
|
!<gnome-base/gnome-keyring-3.3
|
||||||
|
"
|
||||||
|
# gcr was part of gnome-keyring until 3.3
|
||||||
|
DEPEND="${COMMON_DEPEND}
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
dev-libs/gobject-introspection-common
|
||||||
|
dev-libs/libxslt
|
||||||
|
dev-libs/vala-common
|
||||||
|
dev-util/gdbus-codegen
|
||||||
|
>=dev-util/gtk-doc-am-1.9
|
||||||
|
>=dev-util/intltool-0.35
|
||||||
|
sys-devel/gettext
|
||||||
|
virtual/pkgconfig
|
||||||
|
vala? ( $(vala_depend) )
|
||||||
|
"
|
||||||
|
# eautoreconf needs:
|
||||||
|
# dev-libs/gobject-introspection-common
|
||||||
|
# dev-libs/vala-common
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
python-any-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Disable stupid flag changes
|
||||||
|
sed -e 's/CFLAGS="$CFLAGS -g"//' \
|
||||||
|
-e 's/CFLAGS="$CFLAGS -O0"//' \
|
||||||
|
-i configure.ac configure || die
|
||||||
|
|
||||||
|
use vala && vala_src_prepare
|
||||||
|
gnome2_src_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
gnome2_src_configure \
|
||||||
|
$(use_with gtk) \
|
||||||
|
$(use_enable introspection) \
|
||||||
|
$(use_enable vala) \
|
||||||
|
$(usex debug --enable-debug=yes --enable-debug=default) \
|
||||||
|
--disable-update-icon-cache \
|
||||||
|
--disable-update-mime
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
virtx emake check
|
||||||
|
}
|
@ -1,2 +1,2 @@
|
|||||||
DIST seahorse-3.16.0.tar.xz 1496188 SHA256 770a5f03b8745054ef04cef9923dd713b1fbf309169150bc8dd32d7e5f7ee131 SHA512 54e020e907c0053762bf78fd1b4a47ed30d253a89d9063f6daa33598fc3cd97dca0af0cd66bb4a140223b6ae18db88a52bfc50f46987cb3a8d0351c115fba923 WHIRLPOOL 5e3c3ee17be55849c22019c7a9669380ae101e39d9c81e66d6140d500ef3882c2019f39491bfb37a9019c3fda78304aab9743dc3ae112646a4e9106493704372
|
|
||||||
DIST seahorse-3.18.0.tar.xz 1555384 SHA256 530c889a01c4cad25df4c9ab58ab95d24747875789bc6116bef529d60fc1b667 SHA512 76475645d1f94a99bf12c3bbbd840526ab3f1da9c6dd7c8c7fca1cca1cdb22692c44d6107ed1f0192dacb6990c1bbc5c1e0bb9a412132fbf18b302d6059cb254 WHIRLPOOL a470024c7c187f854f7458de31ce8aae6f27ff99ee44d872c2298983391e3f39a2c22e5c201927a5b303ced1a614de9729af9625b59714b6cd580890714e5b79
|
DIST seahorse-3.18.0.tar.xz 1555384 SHA256 530c889a01c4cad25df4c9ab58ab95d24747875789bc6116bef529d60fc1b667 SHA512 76475645d1f94a99bf12c3bbbd840526ab3f1da9c6dd7c8c7fca1cca1cdb22692c44d6107ed1f0192dacb6990c1bbc5c1e0bb9a412132fbf18b302d6059cb254 WHIRLPOOL a470024c7c187f854f7458de31ce8aae6f27ff99ee44d872c2298983391e3f39a2c22e5c201927a5b303ced1a614de9729af9625b59714b6cd580890714e5b79
|
||||||
|
DIST seahorse-3.20.0.tar.xz 1556556 SHA256 e2b07461ed54a8333e5628e9b8e517ec2b731068377bf376570aad998274c6df SHA512 a02d3da7af95256941ef065ac024bd5bfb53a026767b951fa2e26446fb0eed23707e69f72f6e8ebfa7d538823fa41411709fa2bebad4fbd662af1e81bc15ab82 WHIRLPOOL 79691f59771387af8f18fb2bbfb96a5830f41d1f538be0216d218f53ebc273fd00b1d455f595e4a70a3c5104d024d85b6ee279d416e94d93d800133179bfd47d
|
||||||
|
@ -1,173 +0,0 @@
|
|||||||
From dfabc8de30e87fd7b6dc6d12f34fa29858caed95 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
|
|
||||||
Date: Fri, 5 Jun 2015 16:01:43 -0400
|
|
||||||
Subject: Avoid binding seahorse to the build-time version of gpg
|
|
||||||
|
|
||||||
As a user of gpgme, seahorse should prefer gpg2 over gpg, since gpgme
|
|
||||||
is more fully-functional when it works with gpg2.
|
|
||||||
|
|
||||||
Moreover, seahorse should not assume that the version of gpg that it
|
|
||||||
was built against is the same version of gpg that it is running
|
|
||||||
against.
|
|
||||||
|
|
||||||
GPGME has allowed a NULL value for the file_name parameter for
|
|
||||||
gpgme_set_engine_info ever since the function appeared. This will use
|
|
||||||
gpgme's default engine selection, which is likely to be better than
|
|
||||||
hardcoding the path that seahorse found during compile time.
|
|
||||||
|
|
||||||
Moreover, seahorse should not bother trying to build against archaic
|
|
||||||
versions of these branches, and certainly shouldn't hardcode numeric
|
|
||||||
values that only worked for old versions in the seahorse headers.
|
|
||||||
|
|
||||||
This changeset adjusts the configure.ac tests to make sure that the
|
|
||||||
build environment has a non-archaic version of gnupg at least.
|
|
||||||
|
|
||||||
Signed-off-by: Stef Walter <stefw@redhat.com>
|
|
||||||
* Remove support for GnuPG 1.4.x as discussed at linked bug
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=750468
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 760ec98..bf34ea9 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -9,7 +9,7 @@ GCR_REQUIRED=3.11.91
|
|
||||||
GTK_REQ=3.4.0
|
|
||||||
GTK_MAX=GTK_VERSION_3_4
|
|
||||||
|
|
||||||
-GNUPG_ACCEPTED="1.2 1.4 2.0"
|
|
||||||
+GNUPG_ACCEPTED="2.0.12 2.1.4"
|
|
||||||
GPGME_REQUIRED=1.0.0
|
|
||||||
LIBSECRET_REQUIRED=0.16
|
|
||||||
AVAHI_GLIB_REQUIRED=0.6
|
|
||||||
@@ -130,7 +130,7 @@ else
|
|
||||||
DO_CHECK=$enableval, DO_CHECK=yes)
|
|
||||||
|
|
||||||
if test "$DO_CHECK" = "yes"; then
|
|
||||||
- AC_PATH_PROGS(GNUPG, [gpg gpg2], no)
|
|
||||||
+ AC_PATH_PROGS(GNUPG, [gpg2 gpg], no)
|
|
||||||
AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.])
|
|
||||||
ok="no"
|
|
||||||
if test "$GNUPG" != "no"; then
|
|
||||||
@@ -144,12 +144,16 @@ else
|
|
||||||
sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
|
|
||||||
|
|
||||||
for ver in $GNUPG_ACCEPTED; do
|
|
||||||
- if test "$ver" = "$major.$minor"; then
|
|
||||||
- AC_DEFINE_UNQUOTED(GPG_MAJOR, [$major], [GPG Major Version])
|
|
||||||
- AC_DEFINE_UNQUOTED(GPG_MINOR, [$minor], [GPG Minor Version])
|
|
||||||
- AC_DEFINE_UNQUOTED(GPG_MICRO, [$micro], [GPG Micro Version])
|
|
||||||
- ok="yes"
|
|
||||||
- break
|
|
||||||
+ branch=`echo $ver | sed 's/\.[[0-9]]*$//'`
|
|
||||||
+ if test "$branch" = "$major.$minor"; then
|
|
||||||
+ min_micro=`echo $ver | sed 's/^[[0-9]]*\.[[0-9]]*\.//'`
|
|
||||||
+ if test "$min_micro" -le "$micro"; then
|
|
||||||
+ AC_DEFINE_UNQUOTED(GPG_MAJOR, [$major], [GPG Major Version])
|
|
||||||
+ AC_DEFINE_UNQUOTED(GPG_MINOR, [$minor], [GPG Minor Version])
|
|
||||||
+ AC_DEFINE_UNQUOTED(GPG_MICRO, [$micro], [GPG Micro Version])
|
|
||||||
+ ok="yes"
|
|
||||||
+ break
|
|
||||||
+ fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
@@ -206,7 +210,7 @@ fi
|
|
||||||
|
|
||||||
if test "$enable_pgp" = "yes"; then
|
|
||||||
if test -z "$have_gpg"; then
|
|
||||||
- AC_MSG_ERROR([Appropriate version of GnuPG not found. Please install one of versions: $GNUPG_ACCEPTED])
|
|
||||||
+ AC_MSG_ERROR([Appropriate version of GnuPG not found. Please install one of the following versions (or later): $GNUPG_ACCEPTED])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$have_gpgme"; then
|
|
||||||
diff --git a/pgp/seahorse-gpg-op.c b/pgp/seahorse-gpg-op.c
|
|
||||||
index f34d9ec..3c3b9b5 100644
|
|
||||||
--- a/pgp/seahorse-gpg-op.c
|
|
||||||
+++ b/pgp/seahorse-gpg-op.c
|
|
||||||
@@ -111,9 +111,6 @@ seahorse_gpg_op_num_uids (gpgme_ctx_t ctx, const char *pattern, guint *number)
|
|
||||||
found += 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if ((GPG_MAJOR == 1) && (GPG_MINOR == 2))
|
|
||||||
- *number = *number + 1;
|
|
||||||
-
|
|
||||||
g_free (output);
|
|
||||||
return GPG_OK;
|
|
||||||
}
|
|
||||||
diff --git a/pgp/seahorse-gpgme-key-op.h b/pgp/seahorse-gpgme-key-op.h
|
|
||||||
index 622c93a..0acbfc0 100644
|
|
||||||
--- a/pgp/seahorse-gpgme-key-op.h
|
|
||||||
+++ b/pgp/seahorse-gpgme-key-op.h
|
|
||||||
@@ -30,43 +30,10 @@
|
|
||||||
#include "pgp/seahorse-gpgme-uid.h"
|
|
||||||
#include "pgp/seahorse-gpgme-photo.h"
|
|
||||||
|
|
||||||
-/*
|
|
||||||
- * Key type options.
|
|
||||||
- * Sadly these are not consistent between versions of GPG.
|
|
||||||
+/*
|
|
||||||
+ * Key type options.
|
|
||||||
+ * We only support GPG version >=2.0.12 or >= 2.1.4
|
|
||||||
*/
|
|
||||||
-#if ( GPG_MAJOR == 2 && GPG_MINOR == 0 && GPG_MICRO < 12 ) || \
|
|
||||||
- ( GPG_MAJOR == 1 && ( GPG_MINOR < 4 || GPG_MICRO < 10 ) )
|
|
||||||
-
|
|
||||||
-typedef enum {
|
|
||||||
- /* DSA key with ElGamal subkey. The ElGamal length is variable
|
|
||||||
- * within #ELGAMAL_MIN and #LENGTH_MAX. The DSA key will have a
|
|
||||||
- * length equal to the ElGamal key's up to a limit of #DSA_MAX.
|
|
||||||
- * Only used in seahorse_ops_key_generate().
|
|
||||||
- */
|
|
||||||
- DSA_ELGAMAL = 1,
|
|
||||||
- /* DSA key, sign only. Can be a subkey or a primary key.
|
|
||||||
- * See #DSA_MIN and #DSA_MAX.
|
|
||||||
- */
|
|
||||||
- DSA = 2,
|
|
||||||
- /* ElGamal subkey, encrypt only. See #ELGAMAL_MIN and #LENGTH_MAX.
|
|
||||||
- * Only used in seahorse_ops_key_add_subkey().
|
|
||||||
- */
|
|
||||||
- ELGAMAL = 4,
|
|
||||||
- /* RSA key, sign only. Can be a subkey or a primary key.
|
|
||||||
- * See #RSA_MIN and #LENGTH_MAX.
|
|
||||||
- */
|
|
||||||
- RSA_SIGN = 5,
|
|
||||||
- /* RSA subkey, encrypt only. See #RSA_MIN and #LENGTH_MAX.
|
|
||||||
- * Only used in seahorse_ops_key_add_subkey().
|
|
||||||
- */
|
|
||||||
- RSA_ENCRYPT = 6,
|
|
||||||
- /* RSA sign-only key with RSA encrypt-only subkey. See #RSA_MIN and
|
|
||||||
- * #LENGTH_MAX. Only used in seahorse_ops_key_generate().
|
|
||||||
- */
|
|
||||||
- RSA_RSA = 11
|
|
||||||
-} SeahorseKeyEncType;
|
|
||||||
-
|
|
||||||
-#else /* GPG version >=1.4.10 or >=2.0.12 */
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
RSA_RSA = 1,
|
|
||||||
@@ -77,8 +44,6 @@ typedef enum {
|
|
||||||
RSA_ENCRYPT = 6
|
|
||||||
} SeahorseKeyEncType;
|
|
||||||
|
|
||||||
-#endif /* GPG version >=1.4.10 or >=2.0.12 */
|
|
||||||
-
|
|
||||||
/* Length ranges for key types */
|
|
||||||
typedef enum {
|
|
||||||
/* Minimum length for #DSA. */
|
|
||||||
diff --git a/pgp/seahorse-pgp-backend.c b/pgp/seahorse-pgp-backend.c
|
|
||||||
index 4b267c3..ce613b8 100644
|
|
||||||
--- a/pgp/seahorse-pgp-backend.c
|
|
||||||
+++ b/pgp/seahorse-pgp-backend.c
|
|
||||||
@@ -311,7 +311,7 @@ seahorse_pgp_backend_initialize (void)
|
|
||||||
|
|
||||||
g_return_if_fail (pgp_backend != NULL);
|
|
||||||
|
|
||||||
- gpgme_set_engine_info (GPGME_PROTOCOL_OpenPGP, GNUPG, NULL);
|
|
||||||
+ gpgme_set_engine_info (GPGME_PROTOCOL_OpenPGP, NULL, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
SeahorseGpgmeKeyring *
|
|
||||||
--
|
|
||||||
cgit v0.10.2
|
|
||||||
|
|
@ -1,3 +1 @@
|
|||||||
DIST gnome-dictionary-3.16.2.tar.xz 847024 SHA256 a2981a76ecf57a5e5f1ebc88697f228a40e550c3371535aa15cc959fe51badd5 SHA512 f6c50a8d10e360320ac2ed34a56723f9e7eb72f81f27d40bc69a63eab23cad31e7ff45fb6712ff14b84b3ec2f82ae35bfab0ddde7980766b77d1416be67f384a WHIRLPOOL 6fe96815b79e1d217377ca61d74e2a61ab67a89057e3131cbbbb24b6c43fc908298cab4b34d3ab1c0700859deb18b7ed45d4870261fd0009118f168535157365
|
|
||||||
DIST gnome-dictionary-3.18.0.tar.xz 852072 SHA256 5338962124f6d784920ed4968d98734a7589513b36e4f4a6ff00d1ed5afb4ead SHA512 ea276880329422e08923cc9346821bfd7c9bc1b71c09c6521a28f01a6bee34ec4be3b7f503ed8d37916a9b6351074ffd6d4333fed46d7c820198ebf0e62f5eb4 WHIRLPOOL 1c70faa84b96ddebafc2297ed6ea08ea3cec62a76340d5dc0800c2176603dec187b33f1a406538b832907196356f4015cf3c029868447998ef8e22f6f7cb0aef
|
|
||||||
DIST gnome-dictionary-3.18.1.tar.xz 864460 SHA256 92cf2d519335b125018468c22405499fdb320e4446201c7b0f55f1a441bf05cc SHA512 efe4d1f8810bf218bae4d393be1d26938ed3a814ed22fb96c0bded5f874c32229b215351b08462eef1c92b756640a3d4e1c0f5ea1ee49f67e519bcf0d53aba74 WHIRLPOOL c20c73504e8ce0745170ec21296191d14770f252c80b208e4ac08659f80d2ece79cd2d408b4e3bdee992475a67be2ec77f4c16e501e8bbbebe8c0a95c3911e7b
|
DIST gnome-dictionary-3.18.1.tar.xz 864460 SHA256 92cf2d519335b125018468c22405499fdb320e4446201c7b0f55f1a441bf05cc SHA512 efe4d1f8810bf218bae4d393be1d26938ed3a814ed22fb96c0bded5f874c32229b215351b08462eef1c92b756640a3d4e1c0f5ea1ee49f67e519bcf0d53aba74 WHIRLPOOL c20c73504e8ce0745170ec21296191d14770f252c80b208e4ac08659f80d2ece79cd2d408b4e3bdee992475a67be2ec77f4c16e501e8bbbebe8c0a95c3911e7b
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI="5"
|
|
||||||
GCONF_DEBUG="yes"
|
|
||||||
|
|
||||||
inherit gnome2
|
|
||||||
|
|
||||||
DESCRIPTION="Dictionary utility for GNOME"
|
|
||||||
HOMEPAGE="https://live.gnome.org/GnomeUtils"
|
|
||||||
|
|
||||||
LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
|
|
||||||
SLOT="0/8" # subslot = suffix of libgdict-1.0.so
|
|
||||||
IUSE="+introspection ipv6"
|
|
||||||
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
>=dev-libs/glib-2.39:2
|
|
||||||
x11-libs/cairo:=
|
|
||||||
>=x11-libs/gtk+-3.14:3
|
|
||||||
x11-libs/pango
|
|
||||||
introspection? ( >=dev-libs/gobject-introspection-1.42 )
|
|
||||||
"
|
|
||||||
RDEPEND="${COMMON_DEPEND}
|
|
||||||
gnome-base/gsettings-desktop-schemas
|
|
||||||
!<gnome-extra/gnome-utils-3.4
|
|
||||||
"
|
|
||||||
# ${PN} was part of gnome-utils before 3.4
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
>=dev-util/gtk-doc-am-1.15
|
|
||||||
>=dev-util/intltool-0.40
|
|
||||||
>=sys-devel/gettext-0.17
|
|
||||||
virtual/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
gnome2_src_configure \
|
|
||||||
$(use_enable introspection) \
|
|
||||||
$(use_enable ipv6) \
|
|
||||||
ITSTOOL=$(type -P true)
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI="5"
|
|
||||||
GCONF_DEBUG="yes"
|
|
||||||
|
|
||||||
inherit gnome2
|
|
||||||
|
|
||||||
DESCRIPTION="Dictionary utility for GNOME"
|
|
||||||
HOMEPAGE="https://wiki.gnome.org/Apps/Dictionary"
|
|
||||||
|
|
||||||
LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
|
|
||||||
SLOT="0/9" # subslot = suffix of libgdict-1.0.so
|
|
||||||
IUSE="+introspection ipv6"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
>=dev-libs/glib-2.39:2[dbus]
|
|
||||||
x11-libs/cairo:=
|
|
||||||
>=x11-libs/gtk+-3.14:3
|
|
||||||
x11-libs/pango
|
|
||||||
introspection? ( >=dev-libs/gobject-introspection-1.42:= )
|
|
||||||
"
|
|
||||||
RDEPEND="${COMMON_DEPEND}
|
|
||||||
gnome-base/gsettings-desktop-schemas
|
|
||||||
!<gnome-extra/gnome-utils-3.4
|
|
||||||
"
|
|
||||||
# ${PN} was part of gnome-utils before 3.4
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
>=dev-util/gtk-doc-am-1.15
|
|
||||||
>=dev-util/intltool-0.40
|
|
||||||
dev-util/itstool
|
|
||||||
>=sys-devel/gettext-0.17
|
|
||||||
virtual/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
gnome2_src_configure \
|
|
||||||
$(use_enable introspection) \
|
|
||||||
$(use_enable ipv6)
|
|
||||||
}
|
|
@ -1,4 +1,2 @@
|
|||||||
DIST nano-2.4.3.tar.gz 1878096 SHA256 32d627072b6026678e4f4095c047adec92ac7ec542dd6d91cf27f49b601768f2 SHA512 53c9f93b0f001a3d6c292a6995d66b6bcca033407b6b69995c62b9e9f721fd5566fbd0e22ece1b2561a47e56ef19c3f1ee196e23edfe832289704e0ebef45de9 WHIRLPOOL cd2e4d7175521835c71f0338a2115d2d9fec4da1d4eb2abbb633cfef907fde69fb12acd5e0db343d1f90945f05d60abb85daa5a045d9b97ef8cd19fb9b226607
|
DIST nano-2.4.3.tar.gz 1878096 SHA256 32d627072b6026678e4f4095c047adec92ac7ec542dd6d91cf27f49b601768f2 SHA512 53c9f93b0f001a3d6c292a6995d66b6bcca033407b6b69995c62b9e9f721fd5566fbd0e22ece1b2561a47e56ef19c3f1ee196e23edfe832289704e0ebef45de9 WHIRLPOOL cd2e4d7175521835c71f0338a2115d2d9fec4da1d4eb2abbb633cfef907fde69fb12acd5e0db343d1f90945f05d60abb85daa5a045d9b97ef8cd19fb9b226607
|
||||||
DIST nano-2.5.0.tar.gz 1909625 SHA256 ff323e6fef74caf0a924304841c07ac65ec30db99dc5c1f8272b4c536a5c89ee SHA512 f05f1afa6a79ff6b87359c46fbdaf6161eacdc265ac6be155a0173e3ab5a17023e205d0b9667a942e754556182a9007fe4438f337a830d20b9546aad9d522ba6 WHIRLPOOL 29fbb67ce561da8255dca70d7554d604094a21e89e39ce94fadb67bc3236550ea1ee3f08838616deed8a4e37657df0ef6d320c701cc77a086d8d1ce2dae43d1d
|
|
||||||
DIST nano-2.5.2.tar.gz 1964016 SHA256 89bd6ac5120880d2a95431d8bad22bf92c7ccbf10b8f1716d4ea062f3faeeb41 SHA512 ec4e35cfb23494dd09c23b195556dfb36b9329007d61bdfe6a25a43c9914e432160969c92ed991bb2221ea5facd5ae1c1e9aef0029dfa259d827b7ea4943a1d3 WHIRLPOOL 3963ed7fad9296ea0d85300dc7ad518a33e2b793d9b94e98056a4c82c9b7984ef187dfa10653f787b262755521321c1e2c37562c1f95cfd338927329c6d0aa97
|
|
||||||
DIST nano-2.5.3.tar.gz 1967760 SHA256 b2b060129b9feff2d4870d803a441178c96531de9aed144ec0b83bd63ccb12ee SHA512 1d859f0bd88b9d907cfcaa84edc212bcaea4335c203922eb5b7378c2b45d88dffe1f3e4cb499a824d33781485834ef564997c58cf1fd92610d08f6ce8dcb67d5 WHIRLPOOL a2ca1c41d3cb26756cc9aba5b5fa0aeaea220626b98d0abfa1c5c4d4d57c3a5ef688d5edf00a6a00849ee25a67b2bbab93c4d454f6eb5a204b10fa01de3e298f
|
DIST nano-2.5.3.tar.gz 1967760 SHA256 b2b060129b9feff2d4870d803a441178c96531de9aed144ec0b83bd63ccb12ee SHA512 1d859f0bd88b9d907cfcaa84edc212bcaea4335c203922eb5b7378c2b45d88dffe1f3e4cb499a824d33781485834ef564997c58cf1fd92610d08f6ce8dcb67d5 WHIRLPOOL a2ca1c41d3cb26756cc9aba5b5fa0aeaea220626b98d0abfa1c5c4d4d57c3a5ef688d5edf00a6a00849ee25a67b2bbab93c4d454f6eb5a204b10fa01de3e298f
|
||||||
|
@ -1,83 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI="5"
|
|
||||||
|
|
||||||
inherit eutils flag-o-matic
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
|
||||||
ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
|
|
||||||
inherit subversion autotools
|
|
||||||
else
|
|
||||||
MY_P=${PN}-${PV/_}
|
|
||||||
SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
|
|
||||||
HOMEPAGE="http://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
|
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="debug justify +magic minimal ncurses nls slang +spell static unicode"
|
|
||||||
|
|
||||||
LIB_DEPEND=">=sys-libs/ncurses-5.9-r1:0=[unicode?]
|
|
||||||
sys-libs/ncurses:0=[static-libs(+)]
|
|
||||||
magic? ( sys-apps/file[static-libs(+)] )
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
!ncurses? ( slang? ( sys-libs/slang[static-libs(+)] ) )"
|
|
||||||
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
virtual/pkgconfig
|
|
||||||
static? ( ${LIB_DEPEND} )"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
|
||||||
eautoreconf
|
|
||||||
fi
|
|
||||||
epatch_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use static && append-ldflags -static
|
|
||||||
local myconf=()
|
|
||||||
case ${CHOST} in
|
|
||||||
*-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
|
|
||||||
esac
|
|
||||||
econf \
|
|
||||||
--bindir="${EPREFIX}"/bin \
|
|
||||||
--htmldir=/trash \
|
|
||||||
$(use_enable !minimal color) \
|
|
||||||
$(use_enable !minimal multibuffer) \
|
|
||||||
$(use_enable !minimal nanorc) \
|
|
||||||
--disable-wrapping-as-root \
|
|
||||||
$(use_enable magic libmagic) \
|
|
||||||
$(use_enable spell speller) \
|
|
||||||
$(use_enable justify) \
|
|
||||||
$(use_enable debug) \
|
|
||||||
$(use_enable nls) \
|
|
||||||
$(use_enable unicode utf8) \
|
|
||||||
$(use_enable minimal tiny) \
|
|
||||||
$(usex ncurses --without-slang $(use_with slang)) \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
rm -rf "${D}"/trash
|
|
||||||
|
|
||||||
dodoc doc/nanorc.sample
|
|
||||||
dohtml doc/faq.html
|
|
||||||
insinto /etc
|
|
||||||
newins doc/nanorc.sample nanorc
|
|
||||||
if ! use minimal ; then
|
|
||||||
# Enable colorization by default.
|
|
||||||
sed -i \
|
|
||||||
-e '/^# include /s:# *::' \
|
|
||||||
"${ED}"/etc/nanorc || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
dodir /usr/bin
|
|
||||||
dosym /bin/nano /usr/bin/nano
|
|
||||||
}
|
|
@ -1,83 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI="5"
|
|
||||||
|
|
||||||
inherit eutils flag-o-matic
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
|
||||||
ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
|
|
||||||
inherit subversion autotools
|
|
||||||
else
|
|
||||||
MY_P=${PN}-${PV/_}
|
|
||||||
SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
|
|
||||||
HOMEPAGE="http://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
|
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="debug justify +magic minimal ncurses nls slang +spell static unicode"
|
|
||||||
|
|
||||||
LIB_DEPEND=">=sys-libs/ncurses-5.9-r1:0=[unicode?]
|
|
||||||
sys-libs/ncurses:0=[static-libs(+)]
|
|
||||||
magic? ( sys-apps/file[static-libs(+)] )
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
!ncurses? ( slang? ( sys-libs/slang[static-libs(+)] ) )"
|
|
||||||
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
virtual/pkgconfig
|
|
||||||
static? ( ${LIB_DEPEND} )"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
|
||||||
eautoreconf
|
|
||||||
fi
|
|
||||||
epatch_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use static && append-ldflags -static
|
|
||||||
local myconf=()
|
|
||||||
case ${CHOST} in
|
|
||||||
*-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
|
|
||||||
esac
|
|
||||||
econf \
|
|
||||||
--bindir="${EPREFIX}"/bin \
|
|
||||||
--htmldir=/trash \
|
|
||||||
$(use_enable !minimal color) \
|
|
||||||
$(use_enable !minimal multibuffer) \
|
|
||||||
$(use_enable !minimal nanorc) \
|
|
||||||
--disable-wrapping-as-root \
|
|
||||||
$(use_enable magic libmagic) \
|
|
||||||
$(use_enable spell speller) \
|
|
||||||
$(use_enable justify) \
|
|
||||||
$(use_enable debug) \
|
|
||||||
$(use_enable nls) \
|
|
||||||
$(use_enable unicode utf8) \
|
|
||||||
$(use_enable minimal tiny) \
|
|
||||||
$(usex ncurses --without-slang $(use_with slang)) \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
rm -rf "${D}"/trash
|
|
||||||
|
|
||||||
dodoc doc/nanorc.sample
|
|
||||||
dohtml doc/faq.html
|
|
||||||
insinto /etc
|
|
||||||
newins doc/nanorc.sample nanorc
|
|
||||||
if ! use minimal ; then
|
|
||||||
# Enable colorization by default.
|
|
||||||
sed -i \
|
|
||||||
-e '/^# include /s:# *::' \
|
|
||||||
"${ED}"/etc/nanorc || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
dodir /usr/bin
|
|
||||||
dosym /bin/nano /usr/bin/nano
|
|
||||||
}
|
|
@ -1,2 +1,3 @@
|
|||||||
DIST containerd-0.2.0.tar.gz 635248 SHA256 1462e0c233763800b91ac2a670d82994ba1988560928e153f751fb1c0a6608c0 SHA512 381c0a21733fb79e90364649b46cbdadbc32d07245bd7a320465f6619ee5895e9552b7cc4393cb8d409295a7b867b7e461c079715cf1938e6313d4b888d81518 WHIRLPOOL d4e70a8be832227be671c13b77242a790cdf8645ff294c31d72e8cf01de2b30b9d78c691a156624adb004de42af6f133cb88b46aff37a33bc94d72bf87a0ee8a
|
DIST containerd-0.2.0.tar.gz 635248 SHA256 1462e0c233763800b91ac2a670d82994ba1988560928e153f751fb1c0a6608c0 SHA512 381c0a21733fb79e90364649b46cbdadbc32d07245bd7a320465f6619ee5895e9552b7cc4393cb8d409295a7b867b7e461c079715cf1938e6313d4b888d81518 WHIRLPOOL d4e70a8be832227be671c13b77242a790cdf8645ff294c31d72e8cf01de2b30b9d78c691a156624adb004de42af6f133cb88b46aff37a33bc94d72bf87a0ee8a
|
||||||
DIST containerd-0.2.2.tar.gz 635882 SHA256 a21efc7ea4bb97306ae9807caadca6782358679f38d3afd606cb599b6853bc52 SHA512 db6111984ccce01e928d46f0a22aaeed8d0eb50c2578df4e0cd5f56f43f8bdea43aad3203c2afb743ccf82908bd5961792681eafe07818a4057ca5f5f31c5396 WHIRLPOOL ce80bf79970faeacc3329cb4e365973a88539508904003da3d0f32afce9966e89bdf13a8894657e1fd983392cf2ab88b053393cbbc2018f509d9cbc57ab835cc
|
DIST containerd-0.2.2.tar.gz 635882 SHA256 a21efc7ea4bb97306ae9807caadca6782358679f38d3afd606cb599b6853bc52 SHA512 db6111984ccce01e928d46f0a22aaeed8d0eb50c2578df4e0cd5f56f43f8bdea43aad3203c2afb743ccf82908bd5961792681eafe07818a4057ca5f5f31c5396 WHIRLPOOL ce80bf79970faeacc3329cb4e365973a88539508904003da3d0f32afce9966e89bdf13a8894657e1fd983392cf2ab88b053393cbbc2018f509d9cbc57ab835cc
|
||||||
|
DIST containerd-0.2.2_p20160622.tar.gz 989827 SHA256 1bab9b392ae8905edae0e339d6cdff8a0cbad84f0c4803a21920851f27f4e125 SHA512 5463c96c297f01e8f1d7c418d7acee0c279614bcf38d949b1410decddae03b41ff50cb75ebac085bb50547f38bd8154a82c8d90d9b882a3640a7b3072f050a62 WHIRLPOOL 96bfee570a2e0757973ab4d24b2c28c394782062e8e82651f641614e7414f1501cfe10d7a17b73c5212d745794ee50ddd1b1250b2eb9ee9b3c5a59a854b1efb0
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
EGO_PN="github.com/docker/${PN}"
|
||||||
|
|
||||||
|
if [[ ${PV} == *9999 ]]; then
|
||||||
|
inherit golang-vcs
|
||||||
|
else
|
||||||
|
EGIT_COMMIT=14e7949
|
||||||
|
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
inherit golang-vcs-snapshot
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="A daemon to control runC"
|
||||||
|
HOMEPAGE="https://containerd.tools"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="+seccomp"
|
||||||
|
|
||||||
|
DEPEND=""
|
||||||
|
RDEPEND=">=app-emulation/runc-1.0.0_rc1
|
||||||
|
seccomp? ( sys-libs/libseccomp )"
|
||||||
|
|
||||||
|
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local options=( $(usex seccomp "seccomp") )
|
||||||
|
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
|
||||||
|
LDFLAGS= emake GIT_COMMIT="$EGIT_COMMIT" BUILDTAGS="${options[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dobin bin/containerd* bin/ctr
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
DIST docker-1.11.0.tar.gz 10637394 SHA256 088869b9a19ae17656e068aa6d3d473866e8133365427c601c671da1b2189057 SHA512 ecb7f531a5632fd6274e3eec59a5194c61d0788ab9f3864845cbc248232c2f14671a26c34abab8c5ca85ce6106ae72ea3ae4e5d133ad1efb126069ae82a2dba0 WHIRLPOOL 20b0ef1642d2fea2ae186a17786d95f138fb7df92daa104f00c481488f82eadd5e8f27a0a8e926d68f495fd62bc132d83817a0831f84b3786474a9408d87878f
|
DIST docker-1.11.0.tar.gz 10637394 SHA256 088869b9a19ae17656e068aa6d3d473866e8133365427c601c671da1b2189057 SHA512 ecb7f531a5632fd6274e3eec59a5194c61d0788ab9f3864845cbc248232c2f14671a26c34abab8c5ca85ce6106ae72ea3ae4e5d133ad1efb126069ae82a2dba0 WHIRLPOOL 20b0ef1642d2fea2ae186a17786d95f138fb7df92daa104f00c481488f82eadd5e8f27a0a8e926d68f495fd62bc132d83817a0831f84b3786474a9408d87878f
|
||||||
|
DIST docker-1.12.0_rc2.tar.gz 12332409 SHA256 085d79554c5da49d16de04aa06640be45f37535bccbdbf8190790114327a53a4 SHA512 d5b24ee990010e7c1101e238910db29b9aa718396659f2dc0862a626efe98364b0a22489409d131163f6273327b430aa0c5926b371baf47c02b2049ad47537a3 WHIRLPOOL 970de3a3b00aa9bcfff11e4801a16f6979ab459cbc8e66d9dd9a414090d34deffa3e475ced9f4b22d5afe4a10350e6fb96c9b9f4cfb3164fff1db3273da627f1
|
||||||
|
@ -0,0 +1,270 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
|
||||||
|
EGO_PN="github.com/docker/docker"
|
||||||
|
|
||||||
|
if [[ ${PV} = *9999* ]]; then
|
||||||
|
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||||
|
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||||
|
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
MY_PV="${PV/_/-}"
|
||||||
|
DOCKER_GITCOMMIT="906eacd"
|
||||||
|
EGIT_COMMIT="v${MY_PV}"
|
||||||
|
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||||
|
inherit golang-vcs-snapshot
|
||||||
|
fi
|
||||||
|
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||||
|
|
||||||
|
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||||
|
HOMEPAGE="https://dockerproject.org"
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="apparmor aufs btrfs +device-mapper experimental overlay seccomp"
|
||||||
|
|
||||||
|
# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies
|
||||||
|
CDEPEND="
|
||||||
|
>=dev-db/sqlite-3.7.9:3
|
||||||
|
device-mapper? (
|
||||||
|
>=sys-fs/lvm2-2.02.89[thin]
|
||||||
|
)
|
||||||
|
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||||
|
apparmor? ( sys-libs/libapparmor )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${CDEPEND}
|
||||||
|
|
||||||
|
dev-go/go-md2man
|
||||||
|
|
||||||
|
btrfs? (
|
||||||
|
>=sys-fs/btrfs-progs-3.8
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies
|
||||||
|
# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies
|
||||||
|
RDEPEND="
|
||||||
|
${CDEPEND}
|
||||||
|
|
||||||
|
!app-emulation/docker-bin
|
||||||
|
>=net-firewall/iptables-1.4
|
||||||
|
sys-process/procps
|
||||||
|
>=dev-vcs/git-1.7
|
||||||
|
>=app-arch/xz-utils-4.9
|
||||||
|
|
||||||
|
>app-emulation/containerd-0.2.2
|
||||||
|
app-emulation/runc[apparmor?,seccomp?]
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="installsources strip"
|
||||||
|
|
||||||
|
# see "contrib/check-config.sh" from upstream's sources
|
||||||
|
CONFIG_CHECK="
|
||||||
|
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
|
||||||
|
~DEVPTS_MULTIPLE_INSTANCES
|
||||||
|
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
|
||||||
|
~KEYS ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||||
|
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||||
|
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
|
||||||
|
~NF_NAT ~NF_NAT_NEEDED
|
||||||
|
|
||||||
|
~POSIX_MQUEUE
|
||||||
|
|
||||||
|
~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||||
|
|
||||||
|
~BLK_CGROUP ~IOSCHED_CFQ
|
||||||
|
~CGROUP_PERF
|
||||||
|
~CGROUP_HUGETLB
|
||||||
|
~NET_CLS_CGROUP
|
||||||
|
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||||
|
"
|
||||||
|
|
||||||
|
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||||
|
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||||
|
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||||
|
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||||
|
|
||||||
|
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||||
|
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||||
|
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||||
|
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
if kernel_is lt 3 10; then
|
||||||
|
ewarn ""
|
||||||
|
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||||
|
ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# for where these kernel versions come from, see:
|
||||||
|
# https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
|
||||||
|
if ! {
|
||||||
|
kernel_is ge 3 16 \
|
||||||
|
|| { kernel_is 3 15 && kernel_is ge 3 15 5; } \
|
||||||
|
|| { kernel_is 3 14 && kernel_is ge 3 14 12; } \
|
||||||
|
|| { kernel_is 3 12 && kernel_is ge 3 12 25; }
|
||||||
|
}; then
|
||||||
|
ewarn ""
|
||||||
|
ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
|
||||||
|
ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
|
||||||
|
ewarn ""
|
||||||
|
ewarn "See also https://github.com/docker/docker/issues/2960"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if kernel_is le 3 18; then
|
||||||
|
CONFIG_CHECK+="
|
||||||
|
~RESOURCE_COUNTERS
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if kernel_is le 3 13; then
|
||||||
|
CONFIG_CHECK+="
|
||||||
|
~NETPRIO_CGROUP
|
||||||
|
"
|
||||||
|
else
|
||||||
|
CONFIG_CHECK+="
|
||||||
|
~CGROUP_NET_PRIO
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use aufs; then
|
||||||
|
CONFIG_CHECK+="
|
||||||
|
~AUFS_FS
|
||||||
|
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||||
|
"
|
||||||
|
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use btrfs; then
|
||||||
|
CONFIG_CHECK+="
|
||||||
|
~BTRFS_FS
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use device-mapper; then
|
||||||
|
CONFIG_CHECK+="
|
||||||
|
~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use overlay; then
|
||||||
|
CONFIG_CHECK+="
|
||||||
|
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
linux-info_pkg_setup
|
||||||
|
|
||||||
|
# create docker group for the code checking for it in /etc/group
|
||||||
|
enewgroup docker
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
cd "src/${EGO_PN}" || die
|
||||||
|
sed -i 's/docker-containerd/containerd/g; s/docker-runc/runc/g' libcontainerd/remote_linux.go
|
||||||
|
# allow user patches (use sparingly - upstream won't support them)
|
||||||
|
cd -
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cd "src/${EGO_PN}" || die
|
||||||
|
export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
|
||||||
|
|
||||||
|
# setup CFLAGS and LDFLAGS for separate build target
|
||||||
|
# see https://github.com/tianon/docker-overlay/pull/10
|
||||||
|
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||||
|
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||||
|
|
||||||
|
# if we're building from a zip, we need the GITCOMMIT value
|
||||||
|
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||||
|
|
||||||
|
if gcc-specs-pie; then
|
||||||
|
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||||
|
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||||
|
|
||||||
|
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||||
|
-i hack/make/dynbinary || die
|
||||||
|
grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# let's set up some optional features :)
|
||||||
|
export DOCKER_BUILDTAGS=''
|
||||||
|
for gd in aufs btrfs device-mapper overlay; do
|
||||||
|
if ! use $gd; then
|
||||||
|
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for tag in apparmor seccomp; do
|
||||||
|
if use $tag; then
|
||||||
|
DOCKER_BUILDTAGS+=" $tag"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# https://github.com/docker/docker/pull/13338
|
||||||
|
if use experimental; then
|
||||||
|
export DOCKER_EXPERIMENTAL=1
|
||||||
|
else
|
||||||
|
unset DOCKER_EXPERIMENTAL
|
||||||
|
fi
|
||||||
|
|
||||||
|
# time to build!
|
||||||
|
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||||
|
|
||||||
|
# build the man pages too
|
||||||
|
./man/md2man-all.sh || die "unable to generate man pages"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cd "src/${EGO_PN}" || die
|
||||||
|
VERSION="$(cat VERSION)"
|
||||||
|
newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
|
||||||
|
newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
|
||||||
|
|
||||||
|
newinitd contrib/init/openrc/docker.initd docker
|
||||||
|
newconfd contrib/init/openrc/docker.confd docker
|
||||||
|
|
||||||
|
systemd_dounit contrib/init/systemd/docker.{service,socket}
|
||||||
|
|
||||||
|
udev_dorules contrib/udev/*.rules
|
||||||
|
|
||||||
|
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
|
||||||
|
dodoc -r docs/*
|
||||||
|
doman man/man*/*
|
||||||
|
|
||||||
|
dobashcomp contrib/completion/bash/*
|
||||||
|
|
||||||
|
insinto /usr/share/zsh/site-functions
|
||||||
|
doins contrib/completion/zsh/*
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles
|
||||||
|
doins -r contrib/syntax/vim/ftdetect
|
||||||
|
doins -r contrib/syntax/vim/syntax
|
||||||
|
|
||||||
|
# note: intentionally not using "doins" so that we preserve +x bits
|
||||||
|
mkdir -p "${D}/usr/share/${PN}/contrib"
|
||||||
|
cp -R contrib/* "${D}/usr/share/${PN}/contrib"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
udev_reload
|
||||||
|
|
||||||
|
elog
|
||||||
|
elog "To use Docker, the Docker daemon must be running as root. To automatically"
|
||||||
|
elog "start the Docker daemon at boot, add Docker to the default runlevel:"
|
||||||
|
elog " rc-update add docker default"
|
||||||
|
elog "Similarly for systemd:"
|
||||||
|
elog " systemctl enable docker.service"
|
||||||
|
elog
|
||||||
|
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||||
|
elog " usermod -aG docker youruser"
|
||||||
|
elog
|
||||||
|
}
|
@ -1,376 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.21"
|
|
||||||
MV="0.0.8"
|
|
||||||
PULSE_PATCHES="winepulse-patches-1.7.8"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 nls odbc openal opencl +opengl osmesa oss +perl +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
local PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
|
||||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
|
||||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
|
||||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(use_with mp3 mpg123)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,391 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib 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.21"
|
|
||||||
MV="0.0.8"
|
|
||||||
PULSE_PATCHES="winepulse-patches-1.7.8"
|
|
||||||
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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 nls odbc openal opencl +opengl osmesa oss +perl +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# 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:0= )
|
|
||||||
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 )
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
odbc? ( dev-db/unixODBC:= )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa] )
|
|
||||||
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? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.9-r3:0[abi_x86_32(-)] )
|
|
||||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
|
||||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
|
||||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
|
||||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
|
||||||
gstreamer? (
|
|
||||||
>=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? (
|
|
||||||
>=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? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
|
||||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
|
||||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
|
||||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
|
||||||
opengl? (
|
|
||||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
|
||||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
|
||||||
)
|
|
||||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
|
||||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
|
||||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
|
||||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
|
||||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
|
||||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
|
||||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
|
||||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
|
||||||
xml? (
|
|
||||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
|
||||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
|
||||||
)
|
|
||||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
|
||||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
|
||||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
|
||||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
|
||||||
xcomposite? ( >=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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
local PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
|
||||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
|
||||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
|
||||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
do_configure() {
|
|
||||||
local myeconfargs=( "${myeconfargs[@]}" )
|
|
||||||
|
|
||||||
if use amd64; then
|
|
||||||
if [[ ${ABI} == amd64 ]]; then
|
|
||||||
myeconfargs+=( --enable-win64 )
|
|
||||||
else
|
|
||||||
myeconfargs+=( --disable-win64 )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
|
||||||
# CC/LD hackery. We're using separate tools instead.
|
|
||||||
fi
|
|
||||||
|
|
||||||
autotools-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
export LDCONFIG=/bin/true
|
|
||||||
use custom-cflags || strip-flags
|
|
||||||
|
|
||||||
local myeconfargs=( # common
|
|
||||||
--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 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 && myeconfargs+=( --with-pulse )
|
|
||||||
|
|
||||||
if use amd64 && use abi_x86_32; then
|
|
||||||
# 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
|
|
||||||
fi
|
|
||||||
|
|
||||||
multilib_parallel_foreach_abi do_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
autotools-multilib_src_compile depend
|
|
||||||
autotools-multilib_src_compile all
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
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
|
|
||||||
|
|
||||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
|
||||||
multilib_toolchain_setup x86
|
|
||||||
local BUILD_DIR="${S}-${ABI}"
|
|
||||||
cd "${BUILD_DIR}" || die
|
|
||||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local DOCS=( ANNOUNCE AUTHORS README )
|
|
||||||
add_locale_docs() {
|
|
||||||
local locale_doc="documentation/README.$1"
|
|
||||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
|
||||||
}
|
|
||||||
l10n_for_each_locale_do add_locale_docs
|
|
||||||
autotools-multilib_src_install
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.10"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
local PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
|
||||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
|
||||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
|
||||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.10"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
local PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
|
||||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
|
||||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
|
||||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.12"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.12"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.12"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.12"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.12"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.12"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,378 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.12"
|
|
||||||
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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,423 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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"
|
|
||||||
STAGING_P="wine-staging-1.7.18-1"
|
|
||||||
STAGING_DIR="${WORKDIR}/wine-staging-1.7.19"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
|
||||||
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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +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 staging test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
|
||||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
|
||||||
test? ( abi_x86_32 )
|
|
||||||
elibc_glibc? ( threads )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
if use staging; then
|
|
||||||
# we use a separate pulseaudio patchset
|
|
||||||
rm -r "${STAGING_DIR}/patches/06-winepulse" || die
|
|
||||||
# ... and need special tools for binary patches
|
|
||||||
mv "${STAGING_DIR}/patches/10-Missing_Fonts" "${T}" || die
|
|
||||||
if ! use pipelight; then
|
|
||||||
rm -r "${STAGING_DIR}/patches/97-Pipelight" || die
|
|
||||||
fi
|
|
||||||
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 staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
PATCHES+=(
|
|
||||||
"${FILESDIR}/wine-1.7.19-makefile-race-cond.patch"
|
|
||||||
"${STAGING_DIR}/patches"/*/*.patch #507950
|
|
||||||
"${STAGING_DIR}/patches/patch-list.patch"
|
|
||||||
)
|
|
||||||
# epatch doesn't support binary patches
|
|
||||||
ebegin "Applying Staging font patches"
|
|
||||||
for f in "${T}/10-Missing_Fonts"/*.patch; do
|
|
||||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
|
|
||||||
done
|
|
||||||
eend
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 staging && 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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,425 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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"
|
|
||||||
STAGING_P="wine-staging-${PV}"
|
|
||||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
PULSE_PATCHES="winepulse-patches-1.7.20"
|
|
||||||
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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +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 staging 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 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
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"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
if use staging; then
|
|
||||||
# we use a separate pulseaudio patchset
|
|
||||||
rm -r "${STAGING_DIR}/patches/06-winepulse" || die
|
|
||||||
# ... and need special tools for binary patches
|
|
||||||
mv "${STAGING_DIR}/patches/10-Missing_Fonts" "${T}" || die
|
|
||||||
if ! use pipelight; then
|
|
||||||
rm -r "${STAGING_DIR}/patches/97-Pipelight" || die
|
|
||||||
fi
|
|
||||||
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 staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
PATCHES+=(
|
|
||||||
"${FILESDIR}/wine-1.7.19-makefile-race-cond.patch"
|
|
||||||
"${STAGING_DIR}/patches"/*/*.patch #507950
|
|
||||||
"${STAGING_DIR}/patches/patch-list.patch"
|
|
||||||
)
|
|
||||||
# epatch doesn't support binary patches
|
|
||||||
ebegin "Applying Staging font patches"
|
|
||||||
for f in "${T}/10-Missing_Fonts"/*.patch; do
|
|
||||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
|
|
||||||
done
|
|
||||||
eend
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 staging && 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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,432 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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"
|
|
||||||
STAGING_P="wine-staging-${PV}"
|
|
||||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
PULSE_PATCHES="winepulse-patches-1.7.21"
|
|
||||||
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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +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 staging 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 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
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"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
if use staging; then
|
|
||||||
# we use a separate pulseaudio patchset
|
|
||||||
rm -r "${STAGING_DIR}/patches/06-winepulse" || die
|
|
||||||
# ... and need special tools for binary patches
|
|
||||||
mv "${STAGING_DIR}/patches/10-Missing_Fonts" "${T}" || die
|
|
||||||
if ! use pipelight; then
|
|
||||||
rm -r "${STAGING_DIR}/patches/97-Pipelight" || die
|
|
||||||
fi
|
|
||||||
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 gstreamer; then
|
|
||||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
|
||||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
|
||||||
ewarn "this patch has been reported to cause crashes in certain games."
|
|
||||||
|
|
||||||
PATCHES+=( "../${PULSE_PATCHES}"/gstreamer/*.patch )
|
|
||||||
fi
|
|
||||||
if use staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
PATCHES+=(
|
|
||||||
"${FILESDIR}/wine-1.7.19-makefile-race-cond.patch"
|
|
||||||
"${STAGING_DIR}/patches"/*/*.patch #507950
|
|
||||||
"${STAGING_DIR}/patches/patch-list.patch"
|
|
||||||
)
|
|
||||||
# epatch doesn't support binary patches
|
|
||||||
ebegin "Applying Staging font patches"
|
|
||||||
for f in "${T}/10-Missing_Fonts"/*.patch; do
|
|
||||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
|
|
||||||
done
|
|
||||||
eend
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 staging && 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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,432 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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"
|
|
||||||
STAGING_P="wine-staging-${PV}"
|
|
||||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
PULSE_PATCHES="winepulse-patches-1.7.21"
|
|
||||||
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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +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 staging 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 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
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"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
if use staging; then
|
|
||||||
# we use a separate pulseaudio patchset
|
|
||||||
rm -r "${STAGING_DIR}/patches/06-winepulse" || die
|
|
||||||
# ... and need special tools for binary patches
|
|
||||||
mv "${STAGING_DIR}/patches/10-Missing_Fonts" "${T}" || die
|
|
||||||
if ! use pipelight; then
|
|
||||||
rm -r "${STAGING_DIR}/patches/97-Pipelight" || die
|
|
||||||
fi
|
|
||||||
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 gstreamer; then
|
|
||||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
|
||||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
|
||||||
ewarn "this patch has been reported to cause crashes in certain games."
|
|
||||||
|
|
||||||
PATCHES+=( "../${PULSE_PATCHES}"/gstreamer/*.patch )
|
|
||||||
fi
|
|
||||||
if use staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
PATCHES+=(
|
|
||||||
"${FILESDIR}/wine-1.7.19-makefile-race-cond.patch"
|
|
||||||
"${STAGING_DIR}/patches"/*/*.patch #507950
|
|
||||||
"${STAGING_DIR}/patches/patch-list.patch"
|
|
||||||
)
|
|
||||||
# epatch doesn't support binary patches
|
|
||||||
ebegin "Applying Staging font patches"
|
|
||||||
for f in "${T}/10-Missing_Fonts"/*.patch; do
|
|
||||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
|
|
||||||
done
|
|
||||||
eend
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 staging && 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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,435 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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"
|
|
||||||
STAGING_P="wine-staging-${PV}"
|
|
||||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
GST_P="wine-1.7.28-gstreamer-v4"
|
|
||||||
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 )
|
|
||||||
gstreamer? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
|
||||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl staging test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
|
||||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
|
||||||
test? ( abi_x86_32 )
|
|
||||||
elibc_glibc? ( threads )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging || use pulseaudio; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
use gstreamer && unpack "${GST_P}.patch.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
|
|
||||||
)
|
|
||||||
|
|
||||||
local STAGING_MAKE_ARGS="-W fonts-Missing_Fonts.ok"
|
|
||||||
|
|
||||||
use pipelight || STAGING_MAKE_ARGS="${STAGING_MAKE_ARGS} -W winepulse-PulseAudio_Support.ok"
|
|
||||||
if use gstreamer; then
|
|
||||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
|
||||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
|
||||||
ewarn "this patch has been reported to cause crashes in certain games."
|
|
||||||
|
|
||||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
|
||||||
fi
|
|
||||||
if use staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
# epatch doesn't support binary patches and we ship our own pulse patches
|
|
||||||
emake -C "${STAGING_DIR}/patches" \
|
|
||||||
$(echo ${STAGING_MAKE_ARGS}) \
|
|
||||||
series
|
|
||||||
|
|
||||||
PATCHES+=( $(sed -e "s:^:${STAGING_DIR}/patches/:" \
|
|
||||||
"${STAGING_DIR}/patches/series") )
|
|
||||||
|
|
||||||
# epatch doesn't support binary patches
|
|
||||||
ebegin "Applying Wine-Staging font patches"
|
|
||||||
for f in "${STAGING_DIR}/patches/fonts-Missing_Fonts"/*.patch; do
|
|
||||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" \
|
|
||||||
|| die "Failed to apply ${f}"
|
|
||||||
done
|
|
||||||
eend
|
|
||||||
elif use pulseaudio; then
|
|
||||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 pcap)
|
|
||||||
$(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)
|
|
||||||
)
|
|
||||||
|
|
||||||
if use pulseaudio || use staging; then
|
|
||||||
myconf+=( $(use_with pulseaudio pulse) )
|
|
||||||
fi
|
|
||||||
use staging && 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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,435 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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"
|
|
||||||
STAGING_P="wine-staging-${PV}"
|
|
||||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
GST_P="wine-1.7.28-gstreamer-v4"
|
|
||||||
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 )
|
|
||||||
gstreamer? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
|
||||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl staging test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
|
||||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
|
||||||
test? ( abi_x86_32 )
|
|
||||||
elibc_glibc? ( threads )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging || use pulseaudio; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
use gstreamer && unpack "${GST_P}.patch.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
|
|
||||||
)
|
|
||||||
|
|
||||||
local STAGING_MAKE_ARGS="-W fonts-Missing_Fonts.ok"
|
|
||||||
|
|
||||||
use pipelight || STAGING_MAKE_ARGS="${STAGING_MAKE_ARGS} -W winepulse-PulseAudio_Support.ok"
|
|
||||||
if use gstreamer; then
|
|
||||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
|
||||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
|
||||||
ewarn "this patch has been reported to cause crashes in certain games."
|
|
||||||
|
|
||||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
|
||||||
fi
|
|
||||||
if use staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
# epatch doesn't support binary patches and we ship our own pulse patches
|
|
||||||
emake -C "${STAGING_DIR}/patches" \
|
|
||||||
$(echo ${STAGING_MAKE_ARGS}) \
|
|
||||||
series
|
|
||||||
|
|
||||||
PATCHES+=( $(sed -e "s:^:${STAGING_DIR}/patches/:" \
|
|
||||||
"${STAGING_DIR}/patches/series") )
|
|
||||||
|
|
||||||
# epatch doesn't support binary patches
|
|
||||||
ebegin "Applying Wine-Staging font patches"
|
|
||||||
for f in "${STAGING_DIR}/patches/fonts-Missing_Fonts"/*.patch; do
|
|
||||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" \
|
|
||||||
|| die "Failed to apply ${f}"
|
|
||||||
done
|
|
||||||
eend
|
|
||||||
elif use pulseaudio; then
|
|
||||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 pcap)
|
|
||||||
$(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)
|
|
||||||
)
|
|
||||||
|
|
||||||
if use pulseaudio || use staging; then
|
|
||||||
myconf+=( $(use_with pulseaudio pulse) )
|
|
||||||
fi
|
|
||||||
use staging && 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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,377 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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="0.0.8"
|
|
||||||
PULSE_PATCHES="winepulse-patches-1.7.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? ( 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 )
|
|
||||||
pulseaudio? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
|
||||||
https://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 nls odbc openal opencl +opengl osmesa oss +perl +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 )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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}
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
local PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
|
||||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
|
||||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
|
||||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
|
||||||
"${FILESDIR}"/${PN}-1.7.0-freetype-header-location.patch #539830
|
|
||||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
|
||||||
)
|
|
||||||
use pulseaudio && PATCHES+=(
|
|
||||||
"../${PULSE_PATCHES}"/*.patch #421365
|
|
||||||
)
|
|
||||||
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(use_with mp3 mpg123)
|
|
||||||
$(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 )
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,438 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.34"
|
|
||||||
MV="4.5.4"
|
|
||||||
STAGING_P="wine-staging-${PV}"
|
|
||||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
GST_P="wine-1.7.28-gstreamer-v4"
|
|
||||||
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 )
|
|
||||||
gstreamer? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
|
||||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +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 +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
|
||||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
|
||||||
test? ( abi_x86_32 )
|
|
||||||
elibc_glibc? ( threads )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
s3tc? ( staging )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
s3tc? ( media-libs/libtxc_dxtn[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging || use pulseaudio; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
use gstreamer && unpack "${GST_P}.patch.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
|
|
||||||
)
|
|
||||||
|
|
||||||
local STAGING_MAKE_ARGS="-W fonts-Missing_Fonts.ok"
|
|
||||||
|
|
||||||
use pipelight || STAGING_MAKE_ARGS="${STAGING_MAKE_ARGS} -W Pipelight.ok"
|
|
||||||
if use gstreamer; then
|
|
||||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
|
||||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
|
||||||
ewarn "this patch has been reported to cause crashes in certain games."
|
|
||||||
|
|
||||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
|
||||||
fi
|
|
||||||
if use staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
# epatch doesn't support binary patches and we ship our own pulse patches
|
|
||||||
emake -C "${STAGING_DIR}/patches" \
|
|
||||||
$(echo ${STAGING_MAKE_ARGS}) \
|
|
||||||
series
|
|
||||||
|
|
||||||
PATCHES+=( $(sed -e "s:^:${STAGING_DIR}/patches/:" \
|
|
||||||
"${STAGING_DIR}/patches/series") )
|
|
||||||
|
|
||||||
# epatch doesn't support binary patches
|
|
||||||
ebegin "Applying Wine-Staging font patches"
|
|
||||||
for f in "${STAGING_DIR}/patches/fonts-Missing_Fonts"/*.patch; do
|
|
||||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" \
|
|
||||||
|| die "Failed to apply ${f}"
|
|
||||||
done
|
|
||||||
eend
|
|
||||||
elif use pulseaudio; then
|
|
||||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 pcap)
|
|
||||||
$(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)
|
|
||||||
)
|
|
||||||
|
|
||||||
if use pulseaudio || use staging; then
|
|
||||||
myconf+=( $(use_with pulseaudio pulse) )
|
|
||||||
fi
|
|
||||||
use staging && myconf+=(
|
|
||||||
--with-xattr
|
|
||||||
$(use_with s3tc txc_dxtn)
|
|
||||||
)
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
@ -1,435 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
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 http://source.winehq.org/git/wine.git"
|
|
||||||
EGIT_BRANCH="master"
|
|
||||||
inherit git-r3
|
|
||||||
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.34"
|
|
||||||
MV="4.5.4"
|
|
||||||
STAGING_P="wine-staging-${PV}"
|
|
||||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
|
||||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
|
||||||
GST_P="wine-1.7.34-gstreamer-v5"
|
|
||||||
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 )
|
|
||||||
gstreamer? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
SRC_URI="${SRC_URI}
|
|
||||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
|
||||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.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 +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 +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
|
||||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
|
||||||
test? ( abi_x86_32 )
|
|
||||||
elibc_glibc? ( threads )
|
|
||||||
mono? ( abi_x86_32 )
|
|
||||||
pipelight? ( staging )
|
|
||||||
s3tc? ( staging )
|
|
||||||
osmesa? ( opengl )" #286560
|
|
||||||
|
|
||||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
|
||||||
# or fail due to Xvfb's opengl limitations.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
COMMON_DEPEND="
|
|
||||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
|
||||||
capi? ( net-dialup/capi4k-utils )
|
|
||||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
|
||||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
|
||||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
|
||||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
|
||||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
|
||||||
gstreamer? (
|
|
||||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
X? (
|
|
||||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
|
||||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
|
||||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
|
||||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
|
||||||
opengl? (
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
virtual/opengl[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
|
||||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
|
||||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
|
||||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
|
||||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
|
||||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
|
||||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
|
||||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
|
||||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
|
||||||
s3tc? ( media-libs/libtxc_dxtn[${MULTILIB_USEDEP}] )
|
|
||||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
|
||||||
xml? (
|
|
||||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
|
||||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
|
||||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
|
||||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
|
||||||
abi_x86_32? (
|
|
||||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
|
||||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
|
||||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
|
||||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
|
||||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
|
||||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
|
||||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
|
||||||
)"
|
|
||||||
|
|
||||||
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 ) )"
|
|
||||||
|
|
||||||
# tools/make_requests requires perl
|
|
||||||
DEPEND="${COMMON_DEPEND}
|
|
||||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
|
||||||
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
|
|
||||||
|
|
||||||
# bug #549768
|
|
||||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
|
||||||
einfo "Checking for gcc-5 ms_abi compiler bug ..."
|
|
||||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
|
||||||
# Run in subshell to prevent "Aborted" message
|
|
||||||
if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
|
|
||||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
|
||||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
|
||||||
eerror "or use gcc-config to select a different compiler version."
|
|
||||||
eerror "See https://bugs.gentoo.org/549768"
|
|
||||||
eerror
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
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-r3_src_unpack
|
|
||||||
if use staging || use pulseaudio; then
|
|
||||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
|
||||||
unset ${PN}_LIVE_REPO;
|
|
||||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.bz2
|
|
||||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
unpack "${WINE_GENTOO}.tar.bz2"
|
|
||||||
use gstreamer && unpack "${GST_P}.patch.bz2"
|
|
||||||
|
|
||||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local md5="$(md5sum server/protocol.def)"
|
|
||||||
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
|
|
||||||
)
|
|
||||||
|
|
||||||
if use gstreamer; then
|
|
||||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
|
||||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
|
||||||
ewarn "this patch has been reported to cause crashes in certain games."
|
|
||||||
|
|
||||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
|
||||||
fi
|
|
||||||
if use staging; then
|
|
||||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
|
||||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
|
||||||
ewarn "unless you can reproduce them with USE=-staging"
|
|
||||||
|
|
||||||
# Apply temporary patch to wine-staging to allow for epatch as a backend to wine-staging's new patch script
|
|
||||||
pushd "${STAGING_DIR}"
|
|
||||||
epatch "${FILESDIR}"/wine-staging-gentoo-epatch-support.patch
|
|
||||||
popd
|
|
||||||
|
|
||||||
local STAGING_EXCLUDE=""
|
|
||||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
|
||||||
|
|
||||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
|
||||||
ebegin "Running Wine-Staging patch installer"
|
|
||||||
(
|
|
||||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
|
||||||
cd "${STAGING_DIR}/patches"
|
|
||||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
|
||||||
)
|
|
||||||
eend $?
|
|
||||||
elif use pulseaudio; then
|
|
||||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
|
||||||
fi
|
|
||||||
autotools-utils_src_prepare
|
|
||||||
|
|
||||||
# Modification of the server protocol requires regenerating the server requests
|
|
||||||
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_enable gecko mshtml)
|
|
||||||
$(use_with gphoto2 gphoto)
|
|
||||||
$(use_with gsm)
|
|
||||||
$(use_with gstreamer)
|
|
||||||
--without-hal
|
|
||||||
$(use_with jpeg)
|
|
||||||
$(use_with ldap)
|
|
||||||
$(use_enable mono mscoree)
|
|
||||||
$(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 pcap)
|
|
||||||
$(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)
|
|
||||||
)
|
|
||||||
|
|
||||||
if use pulseaudio || use staging; then
|
|
||||||
myconf+=( $(use_with pulseaudio pulse) )
|
|
||||||
fi
|
|
||||||
use staging && myconf+=(
|
|
||||||
--with-xattr
|
|
||||||
$(use_with s3tc txc_dxtn)
|
|
||||||
)
|
|
||||||
|
|
||||||
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 # winedump calls function_grep.pl, and winemaker is a perl script
|
|
||||||
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 gecko; then
|
|
||||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of iexplore. Many older windows applications"
|
|
||||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
|
||||||
ewarn "you will likely need to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
if ! use mono; then
|
|
||||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
|
||||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
|
||||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
|
||||||
ewarn "to install an external one, like via winetricks"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
fdo-mime_desktop_database_update
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue