Gentoo Archives: gentoo-commits

From: Nick Sarnie <sarnex@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-vanilla/
Date: Tue, 13 Sep 2022 23:33:44
Message-Id: 1663111993.ac2e7aa73ae20292358dcca6c89f15a4753ba537.sarnex@gentoo
1 commit: ac2e7aa73ae20292358dcca6c89f15a4753ba537
2 Author: Nick Sarnie <sarnex <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 13 23:30:15 2022 +0000
4 Commit: Nick Sarnie <sarnex <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 13 23:33:13 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac2e7aa7
7
8 app-emulation/wine-vanilla: Exodia, obliterate
9
10 Signed-off-by: Nick Sarnie <sarnex <AT> gentoo.org>
11
12 app-emulation/wine-vanilla/Manifest | 3 -
13 .../wine-vanilla/wine-vanilla-7.13-r1.ebuild | 468 --------------------
14 .../wine-vanilla/wine-vanilla-7.13.ebuild | 469 ---------------------
15 .../wine-vanilla/wine-vanilla-7.14.ebuild | 468 --------------------
16 .../wine-vanilla/wine-vanilla-7.15.ebuild | 468 --------------------
17 5 files changed, 1876 deletions(-)
18
19 diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
20 index 586238ffeec3..adcfb5397382 100644
21 --- a/app-emulation/wine-vanilla/Manifest
22 +++ b/app-emulation/wine-vanilla/Manifest
23 @@ -1,7 +1,4 @@
24 DIST gentoo-wine-patches-20211122.tar.xz 59796 BLAKE2B 21460e6adf4934a52f8841f76f234a764c2dc1ac77eeed1cee10adafec3aa723640ebd4b51559e9ef433070ac731c4648620bd9e75e99f31b2e2f494cf01f02d SHA512 a18cb320617e2157977032c38c322177a2d248f14e43051d38de595af171495546c93d5e71e0dbe1a4f326a2dc819bb03dcfd04454ac85bbcd6b1975ae5d9d96
25 DIST wine-7.0.tar.xz 27120912 BLAKE2B 84bfeb28d56f0f40bb93b1b5bf8954c8be2fd90fde5a61608e7c35f48addcce7a4d660e63c3caa3ca2c365d1e83b55a1c3485872b2d6bfa8941e2bce44c4aca6 SHA512 eec17b046ed5447eb540f421c9b2748d9419ce087496c2743a9914fd27bbe5ff9da0cfe47d3cd76fa97323bd1188a1d82b1eef4968d86ed1957dc1a95e28529c
26 -DIST wine-7.13.tar.xz 28237664 BLAKE2B f65f6ab2ec159d0a25b44e6bcbc83db2c5ada6b0c39dd0e3fe86db74bb964d0b1bcba85e5300d5140e24c305b7e30a58953e7582df8a2117ce5d8127538f484b SHA512 2eca3aa80afa19dd0cc3cfeb8b58b78d22d2925b8201e0b7278638084a529870c1468ffc300e6a1bb343d0f0c7e28c2b3bb6c59af15dec43b8f6c1eb78b46c1e
27 -DIST wine-7.14.tar.xz 28274396 BLAKE2B 632c4c77a5b93597b8b217a04e34a4867d9e34497322cbcdf89d3bd2c98ee2ce27983582e1aa6737ec6bf5e080f64bcb4813f3e5c83b67cebd36895251a07e2f SHA512 6727be4a23b1911b36c44ac8d347be1c98bb53e67101355d6ae829d14a3a0867ba83f77a52f4dbc02a35c3b513291dd4800148a31d28f50069d199fdee04b6e9
28 -DIST wine-7.15.tar.xz 28324772 BLAKE2B 2ae7f693acfa3477c5b925cb6bfc6e2c3094cf56049aae9a310206dce3ef26d32af74ab414f06020dc0e9cf782b8e3cf6b65739ae10b71e783415498b7339618 SHA512 9edf9f6169c26fd829255d323ebdda4fd606f9cf9dfebae2c0823c32a2ca40741e10acba6938e0d49a99dd15276795506887ab582fed296beb0202f77b2db1b4
29 DIST wine-7.16.tar.xz 28345428 BLAKE2B 6540dd196639c5b3e01af801439e4ca8d3d17ce6b9832c3ab7d0263909e0a963a5901b8baad00537242c32599af92d04ad58c9f51660583e28693b4ec1bdd803 SHA512 5085c7c1b0e762c508f33775f7f0aa41e94cb75805bb649093addad25f90f7f57d5101ba96227f58a6f18b3ae228bd004df11ec1c033692ad130e9b5279ea19e
30 DIST wine-7.17.tar.xz 28379876 BLAKE2B 536af8f1ac9c4dd8bae2d16cba226c99c45cd64f0a9a2569022baefee61556801d3ee15f480fd18445baecb6c78dd7950f98542dc88a3282ee5d457d0e4ddfb1 SHA512 fd8017e6174db0047a3957db3045b2ad9024e07b1e2f81800521f0b7e7f7660add6a08e09bc60e3d140816cec70aae8324fe15643bd05e541f22f66ffda52508
31
32 diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.13-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.13-r1.ebuild
33 deleted file mode 100644
34 index acf26429424f..000000000000
35 --- a/app-emulation/wine-vanilla/wine-vanilla-7.13-r1.ebuild
36 +++ /dev/null
37 @@ -1,468 +0,0 @@
38 -# Copyright 1999-2022 Gentoo Authors
39 -# Distributed under the terms of the GNU General Public License v2
40 -
41 -EAPI=8
42 -
43 -PLOCALES="ar ast 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 si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
44 -PLOCALE_BACKUP="en"
45 -
46 -inherit autotools estack flag-o-matic multilib-minimal pax-utils plocale toolchain-funcs virtualx wrapper xdg-utils
47 -
48 -MY_PN="${PN%%-*}"
49 -MY_P="${MY_PN}-${PV}"
50 -
51 -if [[ ${PV} == "9999" ]] ; then
52 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
53 - EGIT_BRANCH="master"
54 - inherit git-r3
55 - SRC_URI=""
56 - #KEYWORDS=""
57 -else
58 - MAJOR_V=$(ver_cut 1)
59 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
60 - KEYWORDS="-* ~amd64 ~x86"
61 -fi
62 -S="${WORKDIR}/${MY_P}"
63 -
64 -GWP_V="20211122"
65 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
66 -
67 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
68 -HOMEPAGE="https://www.winehq.org/"
69 -SRC_URI="${SRC_URI}
70 - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
71 -"
72 -
73 -LICENSE="LGPL-2.1"
74 -SLOT="${PV}"
75 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
76 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
77 - X? ( truetype )
78 - crossdev-mingw? ( mingw )
79 - elibc_glibc? ( threads )
80 - osmesa? ( opengl )
81 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
82 -
83 -# FIXME: the test suite is unsuitable for us; many tests require net access
84 -# or fail due to Xvfb's opengl limitations.
85 -RESTRICT="test"
86 -
87 -BDEPEND="sys-devel/flex
88 - virtual/yacc
89 - virtual/pkgconfig
90 - mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
91 -
92 -COMMON_DEPEND="
93 - X? (
94 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
95 - x11-libs/libXext[${MULTILIB_USEDEP}]
96 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
97 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
98 - x11-libs/libXi[${MULTILIB_USEDEP}]
99 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
100 - )
101 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
102 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
103 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
104 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
105 - gphoto2? (
106 - media-libs/libgphoto2:=[${MULTILIB_USEDEP}]
107 - media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
108 - )
109 - gstreamer? (
110 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
111 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
112 - )
113 - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
114 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
115 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
116 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
117 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
118 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
119 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
120 - opengl? (
121 - virtual/opengl[${MULTILIB_USEDEP}]
122 - )
123 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
124 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
125 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
126 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
127 - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
128 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
129 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
130 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
131 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
132 - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
133 - usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
134 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
135 - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
136 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
137 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
138 -
139 -RDEPEND="${COMMON_DEPEND}
140 - app-emulation/wine-desktop-common
141 - >app-eselect/eselect-wine-0.3
142 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
143 - gecko? ( app-emulation/wine-gecko:2.47.3[abi_x86_32?,abi_x86_64?] )
144 - mono? ( app-emulation/wine-mono:7.3.0 )
145 - perl? (
146 - dev-lang/perl
147 - dev-perl/XML-Simple
148 - )
149 - pulseaudio? (
150 - realtime? ( sys-auth/rtkit )
151 - )
152 - samba? ( >=net-fs/samba-3.0.25[winbind] )
153 - selinux? ( sec-policy/selinux-wine )
154 - udisks? ( sys-fs/udisks:2 )"
155 -
156 -# tools/make_requests requires perl
157 -DEPEND="${COMMON_DEPEND}
158 - ${BDEPEND}
159 - >=sys-kernel/linux-headers-2.6
160 - X? ( x11-base/xorg-proto )
161 - xinerama? ( x11-base/xorg-proto )"
162 -
163 -# These use a non-standard "Wine" category, which is provided by
164 -# /etc/xdg/applications-merged/wine.menu
165 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
166 -usr/share/applications/wine-notepad.desktop
167 -usr/share/applications/wine-uninstaller.desktop
168 -usr/share/applications/wine-winecfg.desktop"
169 -
170 -PATCHES=(
171 - "${PATCHDIR}/patches/${MY_PN}-6.22-winegcc.patch" #260726
172 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
173 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
174 -)
175 -PATCHES_BIN=()
176 -
177 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
178 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
179 - DEPEND+=" dev-util/patchbin"
180 -fi
181 -
182 -wine_compiler_check() {
183 - # Ensure compiler support
184 - # (No checks here as of 2022)
185 - return 0
186 -}
187 -
188 -wine_build_environment_check() {
189 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
190 -
191 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
192 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
193 - eerror "See https://bugs.gentoo.org/487864 for more details."
194 - eerror
195 - return 1
196 - fi
197 -}
198 -
199 -wine_env_vcs_vars() {
200 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
201 - local pn_live_val="${pn_live_var}"
202 - eval pn_live_val='$'${pn_live_val}
203 - if [[ ! -z ${EGIT_COMMIT} ]]; then
204 - eerror "Commits must now be specified using the environmental variables"
205 - eerror "EGIT_OVERRIDE_COMMIT_WINE"
206 - eerror
207 - return 1
208 - fi
209 -}
210 -
211 -pkg_pretend() {
212 - wine_build_environment_check || die
213 -
214 - # Verify OSS support
215 - if use oss; then
216 - if ! has_version ">=media-sound/oss-4"; then
217 - eerror "You cannot build wine with USE=oss without having support from"
218 - eerror ">=media-sound/oss-4 (only available through external repos)"
219 - eerror
220 - die
221 - fi
222 - fi
223 -
224 - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
225 - local mingw=-w64-mingw32
226 - for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
227 - type -P ${mingw}-gcc && continue
228 - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
229 - eerror "yourself by installing sys-devel/crossdev then running:"
230 - eerror
231 - eerror " crossdev --target ${mingw}"
232 - eerror
233 - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
234 - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
235 - done
236 - fi
237 -}
238 -
239 -pkg_setup() {
240 - wine_build_environment_check || die
241 - wine_env_vcs_vars || die
242 -
243 - WINE_VARIANT="${PN#wine}-${PV}"
244 - WINE_VARIANT="${WINE_VARIANT#-}"
245 -
246 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
247 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
248 - MY_DATADIR="${MY_DATAROOTDIR}"
249 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
250 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
251 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
252 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
253 - MY_MANDIR="${MY_DATADIR}/man"
254 -}
255 -
256 -src_unpack() {
257 - if [[ ${PV} == "9999" ]] ; then
258 - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
259 - fi
260 -
261 - default
262 -
263 - plocale_find_changes "${S}/po" "" ".po"
264 -}
265 -
266 -src_prepare() {
267 -
268 - eapply_bin(){
269 - local patch
270 - for patch in ${PATCHES_BIN[@]}; do
271 - patchbin --nogit < "${patch}" || die
272 - done
273 - }
274 -
275 - local md5="$(md5sum server/protocol.def)"
276 -
277 - default
278 - eapply_bin
279 - eautoreconf
280 -
281 - # Modification of the server protocol requires regenerating the server requests
282 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
283 - einfo "server/protocol.def was patched; running tools/make_requests"
284 - tools/make_requests || die #432348
285 - fi
286 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
287 - if ! use run-exes; then
288 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
289 - fi
290 -
291 - # Edit wine.desktop to work for specific variant
292 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
293 -
294 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
295 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
296 -
297 - plocale_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
298 -
299 - # Fix manpage generation for locales #469418 and abi_x86_64 #617864
300 -
301 - # Duplicate manpages input files for wine64
302 - local f
303 - for f in loader/*.man.in; do
304 - cp ${f} ${f/wine/wine64} || die
305 - done
306 - # Add wine64 manpages to Makefile
307 - if use abi_x86_64; then
308 - sed -i "/wine.man.in/i \
309 - \\\twine64.man.in \\\\" loader/Makefile.in || die
310 - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
311 -\164\2/' loader/Makefile.in || die
312 - fi
313 -
314 - rm_man_file(){
315 - local file="${1}"
316 - loc=${2}
317 - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
318 - }
319 -
320 - while read f; do
321 - plocale_for_each_disabled_locale rm_man_file "${f}"
322 - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
323 -}
324 -
325 -src_configure() {
326 - wine_compiler_check || die
327 -
328 - export LDCONFIG=/bin/true
329 - use custom-cflags || strip-flags
330 - if use mingw; then
331 - use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
332 -
333 - # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
334 - local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
335 - : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
336 - : "${CROSSLDFLAGS:=$(
337 - filter-flags '-fuse-ld=*'
338 - CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
339 - export CROSS{C,LD}FLAGS
340 - fi
341 -
342 - multilib-minimal_src_configure
343 -}
344 -
345 -multilib_src_configure() {
346 - local myconf=(
347 - --prefix="${MY_PREFIX}"
348 - --datarootdir="${MY_DATAROOTDIR}"
349 - --datadir="${MY_DATADIR}"
350 - --docdir="${MY_DOCDIR}"
351 - --includedir="${MY_INCLUDEDIR}"
352 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
353 - --libexecdir="${MY_LIBEXECDIR}"
354 - --localstatedir="${MY_LOCALSTATEDIR}"
355 - --mandir="${MY_MANDIR}"
356 - --sysconfdir="${EPREFIX}/etc/wine"
357 - $(use_with alsa)
358 - $(use_with capi)
359 - $(use_with cups)
360 - $(use_with udisks dbus)
361 - $(use_with fontconfig)
362 - $(use_with ssl gnutls)
363 - $(use_enable gecko mshtml)
364 - $(use_with gphoto2 gphoto)
365 - $(use_with gstreamer)
366 - --enable-hal
367 - $(use_with kerberos gssapi)
368 - $(use_with kerberos krb5)
369 - $(use_with ldap)
370 - # TODO: Will bug 685172 still need special handling?
371 - $(use_with mingw)
372 - $(use_enable mono mscoree)
373 - $(use_with netapi)
374 - $(use_with nls gettext)
375 - $(use_with openal)
376 - $(use_with opencl)
377 - $(use_with opengl)
378 - $(use_with osmesa)
379 - $(use_with oss)
380 - $(use_with pcap)
381 - $(use_with pulseaudio pulse)
382 - $(use_with threads pthread)
383 - $(use_with scanner sane)
384 - $(use_with sdl)
385 - $(use_enable test tests)
386 - $(use_with truetype freetype)
387 - $(use_with udev)
388 - $(use_with unwind)
389 - $(use_with usb)
390 - $(use_with v4l v4l2)
391 - $(use_with vulkan)
392 - $(use_with X x)
393 - $(use_with X xfixes)
394 - $(use_with xcomposite)
395 - $(use_with xinerama)
396 - )
397 -
398 - local PKG_CONFIG
399 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
400 - tc-export PKG_CONFIG
401 -
402 - if use amd64; then
403 - if [[ ${ABI} == amd64 ]]; then
404 - myconf+=( --enable-win64 )
405 - else
406 - myconf+=( --disable-win64 )
407 - fi
408 -
409 - # Note: using --with-wine64 results in problems with multilib.eclass
410 - # CC/LD hackery. We're using separate tools instead.
411 - fi
412 -
413 - ECONF_SOURCE=${S} \
414 - econf "${myconf[@]}"
415 - emake depend
416 -}
417 -
418 -multilib_src_test() {
419 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
420 - if [[ ${ABI} == x86 ]]; then
421 - if [[ $(id -u) == 0 ]]; then
422 - ewarn "Skipping tests since they cannot be run under the root user."
423 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
424 - return
425 - fi
426 -
427 - WINEPREFIX="${T}/.wine-${ABI}" \
428 - virtx emake test
429 - fi
430 -}
431 -
432 -multilib_src_install_all() {
433 - local DOCS=( ANNOUNCE AUTHORS README )
434 - add_locale_docs() {
435 - local locale_doc="documentation/README.$1"
436 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
437 - }
438 - plocale_for_each_locale add_locale_docs
439 -
440 - einstalldocs
441 - find "${ED}" -name *.la -delete || die
442 -
443 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
444 - rm "${D%}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
445 - "${D%}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
446 - fi
447 -
448 - use abi_x86_32 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine{,-preloader} #255055
449 - use abi_x86_64 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine64{,-preloader}
450 -
451 - # Avoid double prefix from dosym and make_wrapper
452 - MY_PREFIX=${MY_PREFIX#${EPREFIX}}
453 -
454 - if use abi_x86_64 && ! use abi_x86_32; then
455 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
456 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
457 - fi
458 -
459 - # Failglob for binloops, shouldn't be necessary, but including to stay safe
460 - eshopts_push -s failglob #615218
461 - # Make wrappers for binaries for handling multiple variants
462 - # Note: wrappers instead of symlinks because some are shell which use basename
463 - local b
464 - for b in "${ED%}${MY_PREFIX}"/bin/*; do
465 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
466 - done
467 - eshopts_pop
468 -}
469 -
470 -pkg_postinst() {
471 - eselect wine register ${P}
472 - if [[ ${PN} == "wine-vanilla" ]]; then
473 - eselect wine register --vanilla ${P} || die
474 - fi
475 -
476 - eselect wine update --all --if-unset || die
477 -
478 - xdg_desktop_database_update
479 -
480 - if ! use gecko; then
481 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
482 - ewarn "implementation of iexplore. Many older windows applications"
483 - ewarn "rely upon the existence of an iexplore implementation, so"
484 - ewarn "you will likely need to install an external one, like via winetricks"
485 - fi
486 - if ! use mono; then
487 - ewarn "Without Wine Mono, wine prefixes will not have a default"
488 - ewarn "implementation of .NET. Many windows applications rely upon"
489 - ewarn "the existence of a .NET implementation, so you will likely need"
490 - ewarn "to install an external one, like via winetricks"
491 - fi
492 -}
493 -
494 -pkg_prerm() {
495 - eselect wine deregister ${P}
496 - if [[ ${PN} == "wine-vanilla" ]]; then
497 - eselect wine deregister --vanilla ${P} || die
498 - fi
499 -
500 - eselect wine update --all --if-unset || die
501 -}
502 -
503 -pkg_postrm() {
504 - xdg_desktop_database_update
505 -}
506
507 diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.13.ebuild
508 deleted file mode 100644
509 index 66f83e3746d6..000000000000
510 --- a/app-emulation/wine-vanilla/wine-vanilla-7.13.ebuild
511 +++ /dev/null
512 @@ -1,469 +0,0 @@
513 -# Copyright 1999-2022 Gentoo Authors
514 -# Distributed under the terms of the GNU General Public License v2
515 -
516 -EAPI=8
517 -
518 -PLOCALES="ar ast 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 si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
519 -PLOCALE_BACKUP="en"
520 -
521 -inherit autotools estack flag-o-matic multilib-minimal pax-utils plocale toolchain-funcs virtualx wrapper xdg-utils
522 -
523 -MY_PN="${PN%%-*}"
524 -MY_P="${MY_PN}-${PV}"
525 -
526 -if [[ ${PV} == "9999" ]] ; then
527 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
528 - EGIT_BRANCH="master"
529 - inherit git-r3
530 - SRC_URI=""
531 - #KEYWORDS=""
532 -else
533 - MAJOR_V=$(ver_cut 1)
534 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
535 - KEYWORDS="-* ~amd64 ~x86"
536 -fi
537 -S="${WORKDIR}/${MY_P}"
538 -
539 -GWP_V="20211122"
540 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
541 -
542 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
543 -HOMEPAGE="https://www.winehq.org/"
544 -SRC_URI="${SRC_URI}
545 - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
546 -"
547 -
548 -LICENSE="LGPL-2.1"
549 -SLOT="${PV}"
550 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
551 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
552 - X? ( truetype )
553 - crossdev-mingw? ( mingw )
554 - elibc_glibc? ( threads )
555 - osmesa? ( opengl )
556 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
557 -
558 -# FIXME: the test suite is unsuitable for us; many tests require net access
559 -# or fail due to Xvfb's opengl limitations.
560 -RESTRICT="test"
561 -
562 -BDEPEND="sys-devel/flex
563 - virtual/yacc
564 - virtual/pkgconfig
565 - mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
566 -
567 -COMMON_DEPEND="
568 - X? (
569 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
570 - x11-libs/libXext[${MULTILIB_USEDEP}]
571 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
572 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
573 - x11-libs/libXi[${MULTILIB_USEDEP}]
574 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
575 - )
576 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
577 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
578 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
579 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
580 - gphoto2? (
581 - media-libs/libgphoto2:=[${MULTILIB_USEDEP}]
582 - media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
583 - )
584 - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
585 - gstreamer? (
586 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
587 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
588 - )
589 - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
590 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
591 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
592 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
593 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
594 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
595 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
596 - opengl? (
597 - virtual/opengl[${MULTILIB_USEDEP}]
598 - )
599 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
600 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
601 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
602 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
603 - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
604 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
605 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
606 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
607 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
608 - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
609 - usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
610 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
611 - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
612 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
613 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
614 -
615 -RDEPEND="${COMMON_DEPEND}
616 - app-emulation/wine-desktop-common
617 - >app-eselect/eselect-wine-0.3
618 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
619 - gecko? ( app-emulation/wine-gecko:2.47.3[abi_x86_32?,abi_x86_64?] )
620 - mono? ( app-emulation/wine-mono:7.3.0 )
621 - perl? (
622 - dev-lang/perl
623 - dev-perl/XML-Simple
624 - )
625 - pulseaudio? (
626 - realtime? ( sys-auth/rtkit )
627 - )
628 - samba? ( >=net-fs/samba-3.0.25[winbind] )
629 - selinux? ( sec-policy/selinux-wine )
630 - udisks? ( sys-fs/udisks:2 )"
631 -
632 -# tools/make_requests requires perl
633 -DEPEND="${COMMON_DEPEND}
634 - ${BDEPEND}
635 - >=sys-kernel/linux-headers-2.6
636 - X? ( x11-base/xorg-proto )
637 - xinerama? ( x11-base/xorg-proto )"
638 -
639 -# These use a non-standard "Wine" category, which is provided by
640 -# /etc/xdg/applications-merged/wine.menu
641 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
642 -usr/share/applications/wine-notepad.desktop
643 -usr/share/applications/wine-uninstaller.desktop
644 -usr/share/applications/wine-winecfg.desktop"
645 -
646 -PATCHES=(
647 - "${PATCHDIR}/patches/${MY_PN}-6.22-winegcc.patch" #260726
648 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
649 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
650 -)
651 -PATCHES_BIN=()
652 -
653 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
654 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
655 - DEPEND+=" dev-util/patchbin"
656 -fi
657 -
658 -wine_compiler_check() {
659 - # Ensure compiler support
660 - # (No checks here as of 2022)
661 - return 0
662 -}
663 -
664 -wine_build_environment_check() {
665 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
666 -
667 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
668 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
669 - eerror "See https://bugs.gentoo.org/487864 for more details."
670 - eerror
671 - return 1
672 - fi
673 -}
674 -
675 -wine_env_vcs_vars() {
676 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
677 - local pn_live_val="${pn_live_var}"
678 - eval pn_live_val='$'${pn_live_val}
679 - if [[ ! -z ${EGIT_COMMIT} ]]; then
680 - eerror "Commits must now be specified using the environmental variables"
681 - eerror "EGIT_OVERRIDE_COMMIT_WINE"
682 - eerror
683 - return 1
684 - fi
685 -}
686 -
687 -pkg_pretend() {
688 - wine_build_environment_check || die
689 -
690 - # Verify OSS support
691 - if use oss; then
692 - if ! has_version ">=media-sound/oss-4"; then
693 - eerror "You cannot build wine with USE=oss without having support from"
694 - eerror ">=media-sound/oss-4 (only available through external repos)"
695 - eerror
696 - die
697 - fi
698 - fi
699 -
700 - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
701 - local mingw=-w64-mingw32
702 - for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
703 - type -P ${mingw}-gcc && continue
704 - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
705 - eerror "yourself by installing sys-devel/crossdev then running:"
706 - eerror
707 - eerror " crossdev --target ${mingw}"
708 - eerror
709 - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
710 - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
711 - done
712 - fi
713 -}
714 -
715 -pkg_setup() {
716 - wine_build_environment_check || die
717 - wine_env_vcs_vars || die
718 -
719 - WINE_VARIANT="${PN#wine}-${PV}"
720 - WINE_VARIANT="${WINE_VARIANT#-}"
721 -
722 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
723 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
724 - MY_DATADIR="${MY_DATAROOTDIR}"
725 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
726 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
727 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
728 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
729 - MY_MANDIR="${MY_DATADIR}/man"
730 -}
731 -
732 -src_unpack() {
733 - if [[ ${PV} == "9999" ]] ; then
734 - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
735 - fi
736 -
737 - default
738 -
739 - plocale_find_changes "${S}/po" "" ".po"
740 -}
741 -
742 -src_prepare() {
743 -
744 - eapply_bin(){
745 - local patch
746 - for patch in ${PATCHES_BIN[@]}; do
747 - patchbin --nogit < "${patch}" || die
748 - done
749 - }
750 -
751 - local md5="$(md5sum server/protocol.def)"
752 -
753 - default
754 - eapply_bin
755 - eautoreconf
756 -
757 - # Modification of the server protocol requires regenerating the server requests
758 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
759 - einfo "server/protocol.def was patched; running tools/make_requests"
760 - tools/make_requests || die #432348
761 - fi
762 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
763 - if ! use run-exes; then
764 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
765 - fi
766 -
767 - # Edit wine.desktop to work for specific variant
768 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
769 -
770 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
771 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
772 -
773 - plocale_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
774 -
775 - # Fix manpage generation for locales #469418 and abi_x86_64 #617864
776 -
777 - # Duplicate manpages input files for wine64
778 - local f
779 - for f in loader/*.man.in; do
780 - cp ${f} ${f/wine/wine64} || die
781 - done
782 - # Add wine64 manpages to Makefile
783 - if use abi_x86_64; then
784 - sed -i "/wine.man.in/i \
785 - \\\twine64.man.in \\\\" loader/Makefile.in || die
786 - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
787 -\164\2/' loader/Makefile.in || die
788 - fi
789 -
790 - rm_man_file(){
791 - local file="${1}"
792 - loc=${2}
793 - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
794 - }
795 -
796 - while read f; do
797 - plocale_for_each_disabled_locale rm_man_file "${f}"
798 - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
799 -}
800 -
801 -src_configure() {
802 - wine_compiler_check || die
803 -
804 - export LDCONFIG=/bin/true
805 - use custom-cflags || strip-flags
806 - if use mingw; then
807 - use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
808 -
809 - # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
810 - local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
811 - : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
812 - : "${CROSSLDFLAGS:=$(
813 - filter-flags '-fuse-ld=*'
814 - CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
815 - export CROSS{C,LD}FLAGS
816 - fi
817 -
818 - multilib-minimal_src_configure
819 -}
820 -
821 -multilib_src_configure() {
822 - local myconf=(
823 - --prefix="${MY_PREFIX}"
824 - --datarootdir="${MY_DATAROOTDIR}"
825 - --datadir="${MY_DATADIR}"
826 - --docdir="${MY_DOCDIR}"
827 - --includedir="${MY_INCLUDEDIR}"
828 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
829 - --libexecdir="${MY_LIBEXECDIR}"
830 - --localstatedir="${MY_LOCALSTATEDIR}"
831 - --mandir="${MY_MANDIR}"
832 - --sysconfdir="${EPREFIX}/etc/wine"
833 - $(use_with alsa)
834 - $(use_with capi)
835 - $(use_with cups)
836 - $(use_with udisks dbus)
837 - $(use_with fontconfig)
838 - $(use_with ssl gnutls)
839 - $(use_enable gecko mshtml)
840 - $(use_with gphoto2 gphoto)
841 - $(use_with gssapi)
842 - $(use_with gstreamer)
843 - --enable-hal
844 - $(use_with kerberos krb5)
845 - $(use_with ldap)
846 - # TODO: Will bug 685172 still need special handling?
847 - $(use_with mingw)
848 - $(use_enable mono mscoree)
849 - $(use_with netapi)
850 - $(use_with nls gettext)
851 - $(use_with openal)
852 - $(use_with opencl)
853 - $(use_with opengl)
854 - $(use_with osmesa)
855 - $(use_with oss)
856 - $(use_with pcap)
857 - $(use_with pulseaudio pulse)
858 - $(use_with threads pthread)
859 - $(use_with scanner sane)
860 - $(use_with sdl)
861 - $(use_enable test tests)
862 - $(use_with truetype freetype)
863 - $(use_with udev)
864 - $(use_with unwind)
865 - $(use_with usb)
866 - $(use_with v4l v4l2)
867 - $(use_with vulkan)
868 - $(use_with X x)
869 - $(use_with X xfixes)
870 - $(use_with xcomposite)
871 - $(use_with xinerama)
872 - )
873 -
874 - local PKG_CONFIG
875 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
876 - tc-export PKG_CONFIG
877 -
878 - if use amd64; then
879 - if [[ ${ABI} == amd64 ]]; then
880 - myconf+=( --enable-win64 )
881 - else
882 - myconf+=( --disable-win64 )
883 - fi
884 -
885 - # Note: using --with-wine64 results in problems with multilib.eclass
886 - # CC/LD hackery. We're using separate tools instead.
887 - fi
888 -
889 - ECONF_SOURCE=${S} \
890 - econf "${myconf[@]}"
891 - emake depend
892 -}
893 -
894 -multilib_src_test() {
895 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
896 - if [[ ${ABI} == x86 ]]; then
897 - if [[ $(id -u) == 0 ]]; then
898 - ewarn "Skipping tests since they cannot be run under the root user."
899 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
900 - return
901 - fi
902 -
903 - WINEPREFIX="${T}/.wine-${ABI}" \
904 - virtx emake test
905 - fi
906 -}
907 -
908 -multilib_src_install_all() {
909 - local DOCS=( ANNOUNCE AUTHORS README )
910 - add_locale_docs() {
911 - local locale_doc="documentation/README.$1"
912 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
913 - }
914 - plocale_for_each_locale add_locale_docs
915 -
916 - einstalldocs
917 - find "${ED}" -name *.la -delete || die
918 -
919 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
920 - rm "${D%}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
921 - "${D%}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
922 - fi
923 -
924 - use abi_x86_32 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine{,-preloader} #255055
925 - use abi_x86_64 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine64{,-preloader}
926 -
927 - # Avoid double prefix from dosym and make_wrapper
928 - MY_PREFIX=${MY_PREFIX#${EPREFIX}}
929 -
930 - if use abi_x86_64 && ! use abi_x86_32; then
931 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
932 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
933 - fi
934 -
935 - # Failglob for binloops, shouldn't be necessary, but including to stay safe
936 - eshopts_push -s failglob #615218
937 - # Make wrappers for binaries for handling multiple variants
938 - # Note: wrappers instead of symlinks because some are shell which use basename
939 - local b
940 - for b in "${ED%}${MY_PREFIX}"/bin/*; do
941 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
942 - done
943 - eshopts_pop
944 -}
945 -
946 -pkg_postinst() {
947 - eselect wine register ${P}
948 - if [[ ${PN} == "wine-vanilla" ]]; then
949 - eselect wine register --vanilla ${P} || die
950 - fi
951 -
952 - eselect wine update --all --if-unset || die
953 -
954 - xdg_desktop_database_update
955 -
956 - if ! use gecko; then
957 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
958 - ewarn "implementation of iexplore. Many older windows applications"
959 - ewarn "rely upon the existence of an iexplore implementation, so"
960 - ewarn "you will likely need to install an external one, like via winetricks"
961 - fi
962 - if ! use mono; then
963 - ewarn "Without Wine Mono, wine prefixes will not have a default"
964 - ewarn "implementation of .NET. Many windows applications rely upon"
965 - ewarn "the existence of a .NET implementation, so you will likely need"
966 - ewarn "to install an external one, like via winetricks"
967 - fi
968 -}
969 -
970 -pkg_prerm() {
971 - eselect wine deregister ${P}
972 - if [[ ${PN} == "wine-vanilla" ]]; then
973 - eselect wine deregister --vanilla ${P} || die
974 - fi
975 -
976 - eselect wine update --all --if-unset || die
977 -}
978 -
979 -pkg_postrm() {
980 - xdg_desktop_database_update
981 -}
982
983 diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.14.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.14.ebuild
984 deleted file mode 100644
985 index acf26429424f..000000000000
986 --- a/app-emulation/wine-vanilla/wine-vanilla-7.14.ebuild
987 +++ /dev/null
988 @@ -1,468 +0,0 @@
989 -# Copyright 1999-2022 Gentoo Authors
990 -# Distributed under the terms of the GNU General Public License v2
991 -
992 -EAPI=8
993 -
994 -PLOCALES="ar ast 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 si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
995 -PLOCALE_BACKUP="en"
996 -
997 -inherit autotools estack flag-o-matic multilib-minimal pax-utils plocale toolchain-funcs virtualx wrapper xdg-utils
998 -
999 -MY_PN="${PN%%-*}"
1000 -MY_P="${MY_PN}-${PV}"
1001 -
1002 -if [[ ${PV} == "9999" ]] ; then
1003 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
1004 - EGIT_BRANCH="master"
1005 - inherit git-r3
1006 - SRC_URI=""
1007 - #KEYWORDS=""
1008 -else
1009 - MAJOR_V=$(ver_cut 1)
1010 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
1011 - KEYWORDS="-* ~amd64 ~x86"
1012 -fi
1013 -S="${WORKDIR}/${MY_P}"
1014 -
1015 -GWP_V="20211122"
1016 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
1017 -
1018 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
1019 -HOMEPAGE="https://www.winehq.org/"
1020 -SRC_URI="${SRC_URI}
1021 - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
1022 -"
1023 -
1024 -LICENSE="LGPL-2.1"
1025 -SLOT="${PV}"
1026 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
1027 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1028 - X? ( truetype )
1029 - crossdev-mingw? ( mingw )
1030 - elibc_glibc? ( threads )
1031 - osmesa? ( opengl )
1032 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
1033 -
1034 -# FIXME: the test suite is unsuitable for us; many tests require net access
1035 -# or fail due to Xvfb's opengl limitations.
1036 -RESTRICT="test"
1037 -
1038 -BDEPEND="sys-devel/flex
1039 - virtual/yacc
1040 - virtual/pkgconfig
1041 - mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
1042 -
1043 -COMMON_DEPEND="
1044 - X? (
1045 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
1046 - x11-libs/libXext[${MULTILIB_USEDEP}]
1047 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
1048 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
1049 - x11-libs/libXi[${MULTILIB_USEDEP}]
1050 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1051 - )
1052 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1053 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1054 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1055 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1056 - gphoto2? (
1057 - media-libs/libgphoto2:=[${MULTILIB_USEDEP}]
1058 - media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
1059 - )
1060 - gstreamer? (
1061 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1062 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1063 - )
1064 - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
1065 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1066 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1067 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1068 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1069 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1070 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1071 - opengl? (
1072 - virtual/opengl[${MULTILIB_USEDEP}]
1073 - )
1074 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
1075 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1076 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1077 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1078 - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
1079 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1080 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1081 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
1082 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1083 - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
1084 - usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
1085 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1086 - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
1087 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1088 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
1089 -
1090 -RDEPEND="${COMMON_DEPEND}
1091 - app-emulation/wine-desktop-common
1092 - >app-eselect/eselect-wine-0.3
1093 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1094 - gecko? ( app-emulation/wine-gecko:2.47.3[abi_x86_32?,abi_x86_64?] )
1095 - mono? ( app-emulation/wine-mono:7.3.0 )
1096 - perl? (
1097 - dev-lang/perl
1098 - dev-perl/XML-Simple
1099 - )
1100 - pulseaudio? (
1101 - realtime? ( sys-auth/rtkit )
1102 - )
1103 - samba? ( >=net-fs/samba-3.0.25[winbind] )
1104 - selinux? ( sec-policy/selinux-wine )
1105 - udisks? ( sys-fs/udisks:2 )"
1106 -
1107 -# tools/make_requests requires perl
1108 -DEPEND="${COMMON_DEPEND}
1109 - ${BDEPEND}
1110 - >=sys-kernel/linux-headers-2.6
1111 - X? ( x11-base/xorg-proto )
1112 - xinerama? ( x11-base/xorg-proto )"
1113 -
1114 -# These use a non-standard "Wine" category, which is provided by
1115 -# /etc/xdg/applications-merged/wine.menu
1116 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
1117 -usr/share/applications/wine-notepad.desktop
1118 -usr/share/applications/wine-uninstaller.desktop
1119 -usr/share/applications/wine-winecfg.desktop"
1120 -
1121 -PATCHES=(
1122 - "${PATCHDIR}/patches/${MY_PN}-6.22-winegcc.patch" #260726
1123 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
1124 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
1125 -)
1126 -PATCHES_BIN=()
1127 -
1128 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
1129 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
1130 - DEPEND+=" dev-util/patchbin"
1131 -fi
1132 -
1133 -wine_compiler_check() {
1134 - # Ensure compiler support
1135 - # (No checks here as of 2022)
1136 - return 0
1137 -}
1138 -
1139 -wine_build_environment_check() {
1140 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1141 -
1142 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
1143 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1144 - eerror "See https://bugs.gentoo.org/487864 for more details."
1145 - eerror
1146 - return 1
1147 - fi
1148 -}
1149 -
1150 -wine_env_vcs_vars() {
1151 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
1152 - local pn_live_val="${pn_live_var}"
1153 - eval pn_live_val='$'${pn_live_val}
1154 - if [[ ! -z ${EGIT_COMMIT} ]]; then
1155 - eerror "Commits must now be specified using the environmental variables"
1156 - eerror "EGIT_OVERRIDE_COMMIT_WINE"
1157 - eerror
1158 - return 1
1159 - fi
1160 -}
1161 -
1162 -pkg_pretend() {
1163 - wine_build_environment_check || die
1164 -
1165 - # Verify OSS support
1166 - if use oss; then
1167 - if ! has_version ">=media-sound/oss-4"; then
1168 - eerror "You cannot build wine with USE=oss without having support from"
1169 - eerror ">=media-sound/oss-4 (only available through external repos)"
1170 - eerror
1171 - die
1172 - fi
1173 - fi
1174 -
1175 - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
1176 - local mingw=-w64-mingw32
1177 - for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
1178 - type -P ${mingw}-gcc && continue
1179 - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
1180 - eerror "yourself by installing sys-devel/crossdev then running:"
1181 - eerror
1182 - eerror " crossdev --target ${mingw}"
1183 - eerror
1184 - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
1185 - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
1186 - done
1187 - fi
1188 -}
1189 -
1190 -pkg_setup() {
1191 - wine_build_environment_check || die
1192 - wine_env_vcs_vars || die
1193 -
1194 - WINE_VARIANT="${PN#wine}-${PV}"
1195 - WINE_VARIANT="${WINE_VARIANT#-}"
1196 -
1197 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
1198 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
1199 - MY_DATADIR="${MY_DATAROOTDIR}"
1200 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
1201 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
1202 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
1203 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
1204 - MY_MANDIR="${MY_DATADIR}/man"
1205 -}
1206 -
1207 -src_unpack() {
1208 - if [[ ${PV} == "9999" ]] ; then
1209 - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
1210 - fi
1211 -
1212 - default
1213 -
1214 - plocale_find_changes "${S}/po" "" ".po"
1215 -}
1216 -
1217 -src_prepare() {
1218 -
1219 - eapply_bin(){
1220 - local patch
1221 - for patch in ${PATCHES_BIN[@]}; do
1222 - patchbin --nogit < "${patch}" || die
1223 - done
1224 - }
1225 -
1226 - local md5="$(md5sum server/protocol.def)"
1227 -
1228 - default
1229 - eapply_bin
1230 - eautoreconf
1231 -
1232 - # Modification of the server protocol requires regenerating the server requests
1233 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1234 - einfo "server/protocol.def was patched; running tools/make_requests"
1235 - tools/make_requests || die #432348
1236 - fi
1237 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
1238 - if ! use run-exes; then
1239 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
1240 - fi
1241 -
1242 - # Edit wine.desktop to work for specific variant
1243 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
1244 -
1245 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
1246 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
1247 -
1248 - plocale_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
1249 -
1250 - # Fix manpage generation for locales #469418 and abi_x86_64 #617864
1251 -
1252 - # Duplicate manpages input files for wine64
1253 - local f
1254 - for f in loader/*.man.in; do
1255 - cp ${f} ${f/wine/wine64} || die
1256 - done
1257 - # Add wine64 manpages to Makefile
1258 - if use abi_x86_64; then
1259 - sed -i "/wine.man.in/i \
1260 - \\\twine64.man.in \\\\" loader/Makefile.in || die
1261 - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
1262 -\164\2/' loader/Makefile.in || die
1263 - fi
1264 -
1265 - rm_man_file(){
1266 - local file="${1}"
1267 - loc=${2}
1268 - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
1269 - }
1270 -
1271 - while read f; do
1272 - plocale_for_each_disabled_locale rm_man_file "${f}"
1273 - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
1274 -}
1275 -
1276 -src_configure() {
1277 - wine_compiler_check || die
1278 -
1279 - export LDCONFIG=/bin/true
1280 - use custom-cflags || strip-flags
1281 - if use mingw; then
1282 - use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
1283 -
1284 - # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
1285 - local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
1286 - : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
1287 - : "${CROSSLDFLAGS:=$(
1288 - filter-flags '-fuse-ld=*'
1289 - CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
1290 - export CROSS{C,LD}FLAGS
1291 - fi
1292 -
1293 - multilib-minimal_src_configure
1294 -}
1295 -
1296 -multilib_src_configure() {
1297 - local myconf=(
1298 - --prefix="${MY_PREFIX}"
1299 - --datarootdir="${MY_DATAROOTDIR}"
1300 - --datadir="${MY_DATADIR}"
1301 - --docdir="${MY_DOCDIR}"
1302 - --includedir="${MY_INCLUDEDIR}"
1303 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
1304 - --libexecdir="${MY_LIBEXECDIR}"
1305 - --localstatedir="${MY_LOCALSTATEDIR}"
1306 - --mandir="${MY_MANDIR}"
1307 - --sysconfdir="${EPREFIX}/etc/wine"
1308 - $(use_with alsa)
1309 - $(use_with capi)
1310 - $(use_with cups)
1311 - $(use_with udisks dbus)
1312 - $(use_with fontconfig)
1313 - $(use_with ssl gnutls)
1314 - $(use_enable gecko mshtml)
1315 - $(use_with gphoto2 gphoto)
1316 - $(use_with gstreamer)
1317 - --enable-hal
1318 - $(use_with kerberos gssapi)
1319 - $(use_with kerberos krb5)
1320 - $(use_with ldap)
1321 - # TODO: Will bug 685172 still need special handling?
1322 - $(use_with mingw)
1323 - $(use_enable mono mscoree)
1324 - $(use_with netapi)
1325 - $(use_with nls gettext)
1326 - $(use_with openal)
1327 - $(use_with opencl)
1328 - $(use_with opengl)
1329 - $(use_with osmesa)
1330 - $(use_with oss)
1331 - $(use_with pcap)
1332 - $(use_with pulseaudio pulse)
1333 - $(use_with threads pthread)
1334 - $(use_with scanner sane)
1335 - $(use_with sdl)
1336 - $(use_enable test tests)
1337 - $(use_with truetype freetype)
1338 - $(use_with udev)
1339 - $(use_with unwind)
1340 - $(use_with usb)
1341 - $(use_with v4l v4l2)
1342 - $(use_with vulkan)
1343 - $(use_with X x)
1344 - $(use_with X xfixes)
1345 - $(use_with xcomposite)
1346 - $(use_with xinerama)
1347 - )
1348 -
1349 - local PKG_CONFIG
1350 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1351 - tc-export PKG_CONFIG
1352 -
1353 - if use amd64; then
1354 - if [[ ${ABI} == amd64 ]]; then
1355 - myconf+=( --enable-win64 )
1356 - else
1357 - myconf+=( --disable-win64 )
1358 - fi
1359 -
1360 - # Note: using --with-wine64 results in problems with multilib.eclass
1361 - # CC/LD hackery. We're using separate tools instead.
1362 - fi
1363 -
1364 - ECONF_SOURCE=${S} \
1365 - econf "${myconf[@]}"
1366 - emake depend
1367 -}
1368 -
1369 -multilib_src_test() {
1370 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1371 - if [[ ${ABI} == x86 ]]; then
1372 - if [[ $(id -u) == 0 ]]; then
1373 - ewarn "Skipping tests since they cannot be run under the root user."
1374 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1375 - return
1376 - fi
1377 -
1378 - WINEPREFIX="${T}/.wine-${ABI}" \
1379 - virtx emake test
1380 - fi
1381 -}
1382 -
1383 -multilib_src_install_all() {
1384 - local DOCS=( ANNOUNCE AUTHORS README )
1385 - add_locale_docs() {
1386 - local locale_doc="documentation/README.$1"
1387 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1388 - }
1389 - plocale_for_each_locale add_locale_docs
1390 -
1391 - einstalldocs
1392 - find "${ED}" -name *.la -delete || die
1393 -
1394 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1395 - rm "${D%}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1396 - "${D%}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1397 - fi
1398 -
1399 - use abi_x86_32 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1400 - use abi_x86_64 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine64{,-preloader}
1401 -
1402 - # Avoid double prefix from dosym and make_wrapper
1403 - MY_PREFIX=${MY_PREFIX#${EPREFIX}}
1404 -
1405 - if use abi_x86_64 && ! use abi_x86_32; then
1406 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1407 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1408 - fi
1409 -
1410 - # Failglob for binloops, shouldn't be necessary, but including to stay safe
1411 - eshopts_push -s failglob #615218
1412 - # Make wrappers for binaries for handling multiple variants
1413 - # Note: wrappers instead of symlinks because some are shell which use basename
1414 - local b
1415 - for b in "${ED%}${MY_PREFIX}"/bin/*; do
1416 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1417 - done
1418 - eshopts_pop
1419 -}
1420 -
1421 -pkg_postinst() {
1422 - eselect wine register ${P}
1423 - if [[ ${PN} == "wine-vanilla" ]]; then
1424 - eselect wine register --vanilla ${P} || die
1425 - fi
1426 -
1427 - eselect wine update --all --if-unset || die
1428 -
1429 - xdg_desktop_database_update
1430 -
1431 - if ! use gecko; then
1432 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
1433 - ewarn "implementation of iexplore. Many older windows applications"
1434 - ewarn "rely upon the existence of an iexplore implementation, so"
1435 - ewarn "you will likely need to install an external one, like via winetricks"
1436 - fi
1437 - if ! use mono; then
1438 - ewarn "Without Wine Mono, wine prefixes will not have a default"
1439 - ewarn "implementation of .NET. Many windows applications rely upon"
1440 - ewarn "the existence of a .NET implementation, so you will likely need"
1441 - ewarn "to install an external one, like via winetricks"
1442 - fi
1443 -}
1444 -
1445 -pkg_prerm() {
1446 - eselect wine deregister ${P}
1447 - if [[ ${PN} == "wine-vanilla" ]]; then
1448 - eselect wine deregister --vanilla ${P} || die
1449 - fi
1450 -
1451 - eselect wine update --all --if-unset || die
1452 -}
1453 -
1454 -pkg_postrm() {
1455 - xdg_desktop_database_update
1456 -}
1457
1458 diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.15.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.15.ebuild
1459 deleted file mode 100644
1460 index acf26429424f..000000000000
1461 --- a/app-emulation/wine-vanilla/wine-vanilla-7.15.ebuild
1462 +++ /dev/null
1463 @@ -1,468 +0,0 @@
1464 -# Copyright 1999-2022 Gentoo Authors
1465 -# Distributed under the terms of the GNU General Public License v2
1466 -
1467 -EAPI=8
1468 -
1469 -PLOCALES="ar ast 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 si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
1470 -PLOCALE_BACKUP="en"
1471 -
1472 -inherit autotools estack flag-o-matic multilib-minimal pax-utils plocale toolchain-funcs virtualx wrapper xdg-utils
1473 -
1474 -MY_PN="${PN%%-*}"
1475 -MY_P="${MY_PN}-${PV}"
1476 -
1477 -if [[ ${PV} == "9999" ]] ; then
1478 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
1479 - EGIT_BRANCH="master"
1480 - inherit git-r3
1481 - SRC_URI=""
1482 - #KEYWORDS=""
1483 -else
1484 - MAJOR_V=$(ver_cut 1)
1485 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
1486 - KEYWORDS="-* ~amd64 ~x86"
1487 -fi
1488 -S="${WORKDIR}/${MY_P}"
1489 -
1490 -GWP_V="20211122"
1491 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
1492 -
1493 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
1494 -HOMEPAGE="https://www.winehq.org/"
1495 -SRC_URI="${SRC_URI}
1496 - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
1497 -"
1498 -
1499 -LICENSE="LGPL-2.1"
1500 -SLOT="${PV}"
1501 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
1502 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1503 - X? ( truetype )
1504 - crossdev-mingw? ( mingw )
1505 - elibc_glibc? ( threads )
1506 - osmesa? ( opengl )
1507 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
1508 -
1509 -# FIXME: the test suite is unsuitable for us; many tests require net access
1510 -# or fail due to Xvfb's opengl limitations.
1511 -RESTRICT="test"
1512 -
1513 -BDEPEND="sys-devel/flex
1514 - virtual/yacc
1515 - virtual/pkgconfig
1516 - mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
1517 -
1518 -COMMON_DEPEND="
1519 - X? (
1520 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
1521 - x11-libs/libXext[${MULTILIB_USEDEP}]
1522 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
1523 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
1524 - x11-libs/libXi[${MULTILIB_USEDEP}]
1525 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1526 - )
1527 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1528 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1529 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1530 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1531 - gphoto2? (
1532 - media-libs/libgphoto2:=[${MULTILIB_USEDEP}]
1533 - media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
1534 - )
1535 - gstreamer? (
1536 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1537 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1538 - )
1539 - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
1540 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1541 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1542 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1543 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1544 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1545 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1546 - opengl? (
1547 - virtual/opengl[${MULTILIB_USEDEP}]
1548 - )
1549 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
1550 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1551 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1552 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1553 - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
1554 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1555 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1556 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
1557 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1558 - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
1559 - usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
1560 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1561 - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
1562 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1563 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
1564 -
1565 -RDEPEND="${COMMON_DEPEND}
1566 - app-emulation/wine-desktop-common
1567 - >app-eselect/eselect-wine-0.3
1568 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1569 - gecko? ( app-emulation/wine-gecko:2.47.3[abi_x86_32?,abi_x86_64?] )
1570 - mono? ( app-emulation/wine-mono:7.3.0 )
1571 - perl? (
1572 - dev-lang/perl
1573 - dev-perl/XML-Simple
1574 - )
1575 - pulseaudio? (
1576 - realtime? ( sys-auth/rtkit )
1577 - )
1578 - samba? ( >=net-fs/samba-3.0.25[winbind] )
1579 - selinux? ( sec-policy/selinux-wine )
1580 - udisks? ( sys-fs/udisks:2 )"
1581 -
1582 -# tools/make_requests requires perl
1583 -DEPEND="${COMMON_DEPEND}
1584 - ${BDEPEND}
1585 - >=sys-kernel/linux-headers-2.6
1586 - X? ( x11-base/xorg-proto )
1587 - xinerama? ( x11-base/xorg-proto )"
1588 -
1589 -# These use a non-standard "Wine" category, which is provided by
1590 -# /etc/xdg/applications-merged/wine.menu
1591 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
1592 -usr/share/applications/wine-notepad.desktop
1593 -usr/share/applications/wine-uninstaller.desktop
1594 -usr/share/applications/wine-winecfg.desktop"
1595 -
1596 -PATCHES=(
1597 - "${PATCHDIR}/patches/${MY_PN}-6.22-winegcc.patch" #260726
1598 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
1599 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
1600 -)
1601 -PATCHES_BIN=()
1602 -
1603 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
1604 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
1605 - DEPEND+=" dev-util/patchbin"
1606 -fi
1607 -
1608 -wine_compiler_check() {
1609 - # Ensure compiler support
1610 - # (No checks here as of 2022)
1611 - return 0
1612 -}
1613 -
1614 -wine_build_environment_check() {
1615 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1616 -
1617 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
1618 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1619 - eerror "See https://bugs.gentoo.org/487864 for more details."
1620 - eerror
1621 - return 1
1622 - fi
1623 -}
1624 -
1625 -wine_env_vcs_vars() {
1626 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
1627 - local pn_live_val="${pn_live_var}"
1628 - eval pn_live_val='$'${pn_live_val}
1629 - if [[ ! -z ${EGIT_COMMIT} ]]; then
1630 - eerror "Commits must now be specified using the environmental variables"
1631 - eerror "EGIT_OVERRIDE_COMMIT_WINE"
1632 - eerror
1633 - return 1
1634 - fi
1635 -}
1636 -
1637 -pkg_pretend() {
1638 - wine_build_environment_check || die
1639 -
1640 - # Verify OSS support
1641 - if use oss; then
1642 - if ! has_version ">=media-sound/oss-4"; then
1643 - eerror "You cannot build wine with USE=oss without having support from"
1644 - eerror ">=media-sound/oss-4 (only available through external repos)"
1645 - eerror
1646 - die
1647 - fi
1648 - fi
1649 -
1650 - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
1651 - local mingw=-w64-mingw32
1652 - for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
1653 - type -P ${mingw}-gcc && continue
1654 - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
1655 - eerror "yourself by installing sys-devel/crossdev then running:"
1656 - eerror
1657 - eerror " crossdev --target ${mingw}"
1658 - eerror
1659 - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
1660 - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
1661 - done
1662 - fi
1663 -}
1664 -
1665 -pkg_setup() {
1666 - wine_build_environment_check || die
1667 - wine_env_vcs_vars || die
1668 -
1669 - WINE_VARIANT="${PN#wine}-${PV}"
1670 - WINE_VARIANT="${WINE_VARIANT#-}"
1671 -
1672 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
1673 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
1674 - MY_DATADIR="${MY_DATAROOTDIR}"
1675 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
1676 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
1677 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
1678 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
1679 - MY_MANDIR="${MY_DATADIR}/man"
1680 -}
1681 -
1682 -src_unpack() {
1683 - if [[ ${PV} == "9999" ]] ; then
1684 - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
1685 - fi
1686 -
1687 - default
1688 -
1689 - plocale_find_changes "${S}/po" "" ".po"
1690 -}
1691 -
1692 -src_prepare() {
1693 -
1694 - eapply_bin(){
1695 - local patch
1696 - for patch in ${PATCHES_BIN[@]}; do
1697 - patchbin --nogit < "${patch}" || die
1698 - done
1699 - }
1700 -
1701 - local md5="$(md5sum server/protocol.def)"
1702 -
1703 - default
1704 - eapply_bin
1705 - eautoreconf
1706 -
1707 - # Modification of the server protocol requires regenerating the server requests
1708 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1709 - einfo "server/protocol.def was patched; running tools/make_requests"
1710 - tools/make_requests || die #432348
1711 - fi
1712 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
1713 - if ! use run-exes; then
1714 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
1715 - fi
1716 -
1717 - # Edit wine.desktop to work for specific variant
1718 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
1719 -
1720 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
1721 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
1722 -
1723 - plocale_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
1724 -
1725 - # Fix manpage generation for locales #469418 and abi_x86_64 #617864
1726 -
1727 - # Duplicate manpages input files for wine64
1728 - local f
1729 - for f in loader/*.man.in; do
1730 - cp ${f} ${f/wine/wine64} || die
1731 - done
1732 - # Add wine64 manpages to Makefile
1733 - if use abi_x86_64; then
1734 - sed -i "/wine.man.in/i \
1735 - \\\twine64.man.in \\\\" loader/Makefile.in || die
1736 - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
1737 -\164\2/' loader/Makefile.in || die
1738 - fi
1739 -
1740 - rm_man_file(){
1741 - local file="${1}"
1742 - loc=${2}
1743 - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
1744 - }
1745 -
1746 - while read f; do
1747 - plocale_for_each_disabled_locale rm_man_file "${f}"
1748 - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
1749 -}
1750 -
1751 -src_configure() {
1752 - wine_compiler_check || die
1753 -
1754 - export LDCONFIG=/bin/true
1755 - use custom-cflags || strip-flags
1756 - if use mingw; then
1757 - use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
1758 -
1759 - # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
1760 - local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
1761 - : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
1762 - : "${CROSSLDFLAGS:=$(
1763 - filter-flags '-fuse-ld=*'
1764 - CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
1765 - export CROSS{C,LD}FLAGS
1766 - fi
1767 -
1768 - multilib-minimal_src_configure
1769 -}
1770 -
1771 -multilib_src_configure() {
1772 - local myconf=(
1773 - --prefix="${MY_PREFIX}"
1774 - --datarootdir="${MY_DATAROOTDIR}"
1775 - --datadir="${MY_DATADIR}"
1776 - --docdir="${MY_DOCDIR}"
1777 - --includedir="${MY_INCLUDEDIR}"
1778 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
1779 - --libexecdir="${MY_LIBEXECDIR}"
1780 - --localstatedir="${MY_LOCALSTATEDIR}"
1781 - --mandir="${MY_MANDIR}"
1782 - --sysconfdir="${EPREFIX}/etc/wine"
1783 - $(use_with alsa)
1784 - $(use_with capi)
1785 - $(use_with cups)
1786 - $(use_with udisks dbus)
1787 - $(use_with fontconfig)
1788 - $(use_with ssl gnutls)
1789 - $(use_enable gecko mshtml)
1790 - $(use_with gphoto2 gphoto)
1791 - $(use_with gstreamer)
1792 - --enable-hal
1793 - $(use_with kerberos gssapi)
1794 - $(use_with kerberos krb5)
1795 - $(use_with ldap)
1796 - # TODO: Will bug 685172 still need special handling?
1797 - $(use_with mingw)
1798 - $(use_enable mono mscoree)
1799 - $(use_with netapi)
1800 - $(use_with nls gettext)
1801 - $(use_with openal)
1802 - $(use_with opencl)
1803 - $(use_with opengl)
1804 - $(use_with osmesa)
1805 - $(use_with oss)
1806 - $(use_with pcap)
1807 - $(use_with pulseaudio pulse)
1808 - $(use_with threads pthread)
1809 - $(use_with scanner sane)
1810 - $(use_with sdl)
1811 - $(use_enable test tests)
1812 - $(use_with truetype freetype)
1813 - $(use_with udev)
1814 - $(use_with unwind)
1815 - $(use_with usb)
1816 - $(use_with v4l v4l2)
1817 - $(use_with vulkan)
1818 - $(use_with X x)
1819 - $(use_with X xfixes)
1820 - $(use_with xcomposite)
1821 - $(use_with xinerama)
1822 - )
1823 -
1824 - local PKG_CONFIG
1825 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1826 - tc-export PKG_CONFIG
1827 -
1828 - if use amd64; then
1829 - if [[ ${ABI} == amd64 ]]; then
1830 - myconf+=( --enable-win64 )
1831 - else
1832 - myconf+=( --disable-win64 )
1833 - fi
1834 -
1835 - # Note: using --with-wine64 results in problems with multilib.eclass
1836 - # CC/LD hackery. We're using separate tools instead.
1837 - fi
1838 -
1839 - ECONF_SOURCE=${S} \
1840 - econf "${myconf[@]}"
1841 - emake depend
1842 -}
1843 -
1844 -multilib_src_test() {
1845 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1846 - if [[ ${ABI} == x86 ]]; then
1847 - if [[ $(id -u) == 0 ]]; then
1848 - ewarn "Skipping tests since they cannot be run under the root user."
1849 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1850 - return
1851 - fi
1852 -
1853 - WINEPREFIX="${T}/.wine-${ABI}" \
1854 - virtx emake test
1855 - fi
1856 -}
1857 -
1858 -multilib_src_install_all() {
1859 - local DOCS=( ANNOUNCE AUTHORS README )
1860 - add_locale_docs() {
1861 - local locale_doc="documentation/README.$1"
1862 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1863 - }
1864 - plocale_for_each_locale add_locale_docs
1865 -
1866 - einstalldocs
1867 - find "${ED}" -name *.la -delete || die
1868 -
1869 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1870 - rm "${D%}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1871 - "${D%}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1872 - fi
1873 -
1874 - use abi_x86_32 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1875 - use abi_x86_64 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine64{,-preloader}
1876 -
1877 - # Avoid double prefix from dosym and make_wrapper
1878 - MY_PREFIX=${MY_PREFIX#${EPREFIX}}
1879 -
1880 - if use abi_x86_64 && ! use abi_x86_32; then
1881 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1882 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1883 - fi
1884 -
1885 - # Failglob for binloops, shouldn't be necessary, but including to stay safe
1886 - eshopts_push -s failglob #615218
1887 - # Make wrappers for binaries for handling multiple variants
1888 - # Note: wrappers instead of symlinks because some are shell which use basename
1889 - local b
1890 - for b in "${ED%}${MY_PREFIX}"/bin/*; do
1891 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1892 - done
1893 - eshopts_pop
1894 -}
1895 -
1896 -pkg_postinst() {
1897 - eselect wine register ${P}
1898 - if [[ ${PN} == "wine-vanilla" ]]; then
1899 - eselect wine register --vanilla ${P} || die
1900 - fi
1901 -
1902 - eselect wine update --all --if-unset || die
1903 -
1904 - xdg_desktop_database_update
1905 -
1906 - if ! use gecko; then
1907 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
1908 - ewarn "implementation of iexplore. Many older windows applications"
1909 - ewarn "rely upon the existence of an iexplore implementation, so"
1910 - ewarn "you will likely need to install an external one, like via winetricks"
1911 - fi
1912 - if ! use mono; then
1913 - ewarn "Without Wine Mono, wine prefixes will not have a default"
1914 - ewarn "implementation of .NET. Many windows applications rely upon"
1915 - ewarn "the existence of a .NET implementation, so you will likely need"
1916 - ewarn "to install an external one, like via winetricks"
1917 - fi
1918 -}
1919 -
1920 -pkg_prerm() {
1921 - eselect wine deregister ${P}
1922 - if [[ ${PN} == "wine-vanilla" ]]; then
1923 - eselect wine deregister --vanilla ${P} || die
1924 - fi
1925 -
1926 - eselect wine update --all --if-unset || die
1927 -}
1928 -
1929 -pkg_postrm() {
1930 - xdg_desktop_database_update
1931 -}