From 0d64e4aba03bad82adf8ae589fd10b9c219b92aa Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 12 May 2023 11:48:47 +0100 Subject: gentoo auto-resync : 12:05:2023 - 11:48:47 --- app-emulation/Manifest.gz | Bin 15335 -> 15340 bytes app-emulation/virtualbox-guest-additions/Manifest | 6 +- ...-guest-additions-7.0.8-kernel-6.4-patch-1.patch | 25 ++ ...-guest-additions-7.0.8-kernel-6.4-patch-2.patch | 38 +++ .../virtualbox-guest-additions-7.0.8-r1.ebuild | 310 +++++++++++++++++++ .../virtualbox-guest-additions-7.0.8.ebuild | 303 ------------------- app-emulation/wine-vanilla/Manifest | 2 - app-emulation/wine-vanilla/wine-vanilla-8.0.ebuild | 333 --------------------- 8 files changed, 377 insertions(+), 640 deletions(-) create mode 100644 app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch create mode 100644 app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-8.0.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 378b2b72c6f2..bf68b3cc0900 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index ba4525abcb9a..9d5691683ecf 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -1,6 +1,8 @@ AUX vboxclient.desktop 145 BLAKE2B c01f4c307cd965d271e19f31cab5f902126bdf49bd947329c9ffad4955665b142576438dd124bc323d540cb2f6229c722b2611d4ba405521432965d9d0bddd8f SHA512 90e2ff4b8a67120f7f3c116676c7553243a1bf3c9a76f71ef471bc556c4eee55953e6a5dde952688d4892d469149db8704a921a14755eea66b1789805fe3ca42 AUX vboxguest-6.1.36-log-use-c99.patch 288 BLAKE2B 7a869ea9c46d91b64e6f062173bce10db25581b2390dad517016eb35cdae0727579e374318afdf749c3118436c667dacaf670f93698894b972b3badc60a80a43 SHA512 c66d75e77d84f081095de91248f236606b5e0bcc50a5525918fce979c97d84dddf6d10fc2a21832db74b5ef632949d9dee8ec30b4f1ab05bcec1aa75da681971 AUX virtualbox-guest-additions-5-localconfig 937 BLAKE2B 4ad7e6520572ed5b3ee29c03b77fb1a4df5279e38929c4e6e446387f30eef9fd8f32b9f877db1074c0e28f9a461ec3114e7120f636e02ce41a72a81b1e69c62e SHA512 ccbc2db825060fd5044e42bf4e53271d6e64a7a400b09705230006367e696dd3bff384f1e4873bf2aedfec8e6fdc8f8ecc537cd5a1fe629727c2943371d13e40 +AUX virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch 849 BLAKE2B 82985553b39c7ebc91fc9e807d3193b97ab37d788ba5466e3abb47956f8d2f62d6c264d88442d6fc429de4c453eb88d8aef1c4209ad6093c92904e135892d59a SHA512 17f7f808ea6ff9ed8261d3c16517b273ea571a57ee98c44d63ceb65f8d546026a30648469b47b6cfbbb984d403bc368043955e0cfb81810d89990e600e1dbe15 +AUX virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch 1263 BLAKE2B 66e9c45d96732c28446056f0a46af47558eece39036be7e82c22010381fd6db9c7d6a8dec715d9009ee27c054b0ebb21dff98e3d07a2484966c350164de315ab SHA512 1003be144da3444e19a139dba05723d7bd61f51e81e274df56cdd00785c2e5a866ccd040706b400d5752760f5bfee6d84db652056a8f372fdce64f14452d8870 AUX virtualbox-guest-additions-8.initd 538 BLAKE2B f720a0f9de10c5240f1ac8a590c4e5de2ada767a06341f9259a9e491660e796640dd4a251fbbf85f66786b8ec829357aa51546e502ca99452fa998ce20031637 SHA512 e01579b0ce980517a7b9e163915977a58c73594cf4c8484d20941449b9a21a4346ab1bb031b248ee438b350fa23b4bc78a1d6e501986b329564a4df487f5d3ca AUX virtualbox-guest-additions-8.initd-r1 547 BLAKE2B 1b26fc26e95baa74d551f8a9cf62f698485d63a0487c4cc4fc9906b8ced191f078e2b794ef9db9488de9e92188c73812c16e37ff542f06e0d52a4dc62b631960 SHA512 81ccc8d3edd965feb55290cf1281a97a485f14fd1de07cd59479bd7746291d41abc45c2e7e209f17f7df057528be83c48f3e270b526e6b86d85c5ec4be2d3944 AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9fdc1e0c8a1440ac87674dad44a1493a9347e6e2b351ae2b71e050ba06ae9848168220d62981a9e0c984ea68bf48ea06b485 SHA512 b6226146f3591a778551e94ae2661e2ae3c6b761d20600d741eaaa03f43f0a2b841d2a44d9eec3a3768edb23b021cee94c7849d998ee4104ad60dad2df88df83 @@ -8,11 +10,11 @@ AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038bab DIST VirtualBox-6.1.42.tar.bz2 165554573 BLAKE2B 8419793d9e4c4d0804baba926443a27259b012ab90d1bb27c8f9d90b018ddbef83d1cc47e9f5b88e6e247f22c186603584a5ddee4b0c04fe842eba56f3fd103a SHA512 a4861b44ee85d6d1d72ba1d19b5598873503feeb6d562cf7d8c770cc9b466741bdfa5abe74dc4e7952ff189d14c6caf60f584731492c38f688a360baba019ab2 DIST VirtualBox-6.1.44.tar.bz2 165775421 BLAKE2B e87d7175bc616784c79d02b595d81119cedc7f4df1822b71ca10b85d44d5cd1dacd999e7867a0bef8579ea715ef732b990cef63f3325fff0c139abe394d88ad7 SHA512 49c3baa1a40dcafcc6b31d0abcfecfcb24305de44e5efd3f68ba4443574e21b8cc34d7288e0fbc56730bc3be2bee07089b7dfed14848a88dc38a1433b6dda8af DIST VirtualBox-7.0.6.tar.bz2 199512172 BLAKE2B cfe4d7abd57dfdb0294177759e80aa9fda797b9b5433f214771a57764cb23404450169e8c7c30cda13de85b8e02a37024584c7b1f0b5a44b10b100aa66b8d5c5 SHA512 f9db7a154e392f550f50abe774fc6263eb0b6f86dccc069f2c5012fedbe2debbf5b8ba62cca44ea0d5d5475652188176bfb888266f69197677b22854f02b64a0 -DIST VirtualBox-7.0.8.tar.bz2 199298777 BLAKE2B 6e36532516fb1ebee4cf7f356659a8cde6bd5074a509c824499ed34d8d0ffc9aff45211d4dcb35e3977fcd72a9b18796ed57f8760dd45e578d8225814c4c8710 SHA512 4c25f8275269d085cf347596a242b8921f140e0e40d8c44fd6b171742b8cbd0c9a45f4702dbc0c1272e10091be68c3668711c9e4d1a8b3ce57d25f871e0eb9fe +DIST VirtualBox-7.0.8a.tar.bz2 199387757 BLAKE2B 0ba397825277ecbb851bd4ea94c85448e2966fd96ef8edcaf3102f8515553736d6ceee84c0647fa37443c1875256353fdd029d6c505aa99834079acb957b24a0 SHA512 fcbf907f6f7f2396ebff5a31af6ec00b38f09799380bac4847cc9044455832de058659edaa9f621b0054fa402bfacef1b5444498c9faeb3671d02da1505c952d DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57 DIST virtualbox-patches-7.0.8.tar.bz2 2733 BLAKE2B 044dfe02a5bd5e757091318b394b0e5918677b5bbce9caef4a18d4d8df54821559f0df6ffbdd6f52d4934bc4018e9c9d908571c5d3d8804fd3b0f22a7a1aed84 SHA512 93a06aa3f9508d3a8743ca8494a958159b5bc3fd7a0a08ff23414d05c4f31084cf0f1c82a3866e222c83e6996ba004546f0bd33c6eb9a90eec8e548b8b3f2fbf EBUILD virtualbox-guest-additions-6.1.42-r1.ebuild 7542 BLAKE2B 56d82883ea0c462e7c93f8753aba8964e5cf6d94cf4505ca7e90b7a35e00816b5d2d69ebc42fa38560dbb4df9430e6961c9aacc74ea4551b11d5a5f3c7e2ee72 SHA512 0112216e096e96a70b1405672c372dd317735bbf5f558556bc965ee02d2969b2a021ff1af808a7cfc9cbe1a2c349632ec24a30ffab96cb31e3a02d5e89c9ed4f EBUILD virtualbox-guest-additions-6.1.44.ebuild 8054 BLAKE2B 5503a79f3247661701441ea2d5eb189995475feee859eabf277b9ba4b4c66856c0987a43eed517244b9a0a00b8c72acf60dd51e22b05c2a6da7c59d3a732ab1f SHA512 8f01ada0d7412abd7fff9fb68ef794af5c4f7e35456fab32807415938126b52cd0ea6d372797650ad5d5921c59cc4d180d068e5fd14f9edadbee7798b7c06a3f EBUILD virtualbox-guest-additions-7.0.6.ebuild 7868 BLAKE2B 5a75a2bda3ccd8640b5c87c2f108a7e330368144cb963920d5de9c8cd2ba6519da23cdf139aa85771636efeaa1507c272d559f8380674823b69ca57d600646ea SHA512 bcf48fe5b3f022d7b3727ed5e66a20263477760cbac8e79b67f985bd62387a6cdbe1ba7367702c01d79392bb4bb0f4979479f1fa0bec72efbc70273ebffe8fff -EBUILD virtualbox-guest-additions-7.0.8.ebuild 8378 BLAKE2B 3e93767a13e7a60670e8477c47ad104fc831bcb7d0999190f2d6fba4a47f3f2a4b2e657aaa6597e19eca3fdfa72e7497598d56fb3fd9fa2a2173176b02c0b052 SHA512 72d2142c93898d9c0c748cbf80ff5ce30111d52da3349972db041831481791ba8cd0563ba7e40fa324a5ef36245c10d39d8173359f0ebbd25b6031c7732e2ca9 +EBUILD virtualbox-guest-additions-7.0.8-r1.ebuild 8563 BLAKE2B ed9fbf2e82789d3c881a19559e79946708f4fb539465a1e538eb71683e243265073daf07fa959c43dfa5fa5c9087a7b5483d1f193e40c2fee2b847993d52ecbf SHA512 a9a81cb57fefe405b12a5aa8be2f675b91a19c62c699d454b99005fd721986dfe2a8be374386ccb3983389c087f61c0df6321a6a5aad776bd07246a72ae96581 MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch new file mode 100644 index 000000000000..c13d57ee4503 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch @@ -0,0 +1,25 @@ +Initial support for kernel 6.4 +https://www.virtualbox.org/changeset/99666/vbox + +--- a/src/VBox/Additions/linux/sharedfolders/regops.c ++++ b/src/VBox/Additions/linux/sharedfolders/regops.c +@@ -75,4 +75,11 @@ + #if RTLNX_VER_MAX(2,5,12) + # define PageUptodate(a_pPage) Page_Uptodate(a_pPage) ++#endif ++ ++/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field. */ ++#if RTLNX_VER_MIN(6,4,0) ++# define VBOX_ITER_IOV(_iter) iter_iov(_iter) ++#else ++# define VBOX_ITER_IOV(_iter) iter->iov + #endif + +@@ -2400,5 +2407,5 @@ + if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) { + # endif +- const struct iovec *pCurIov = iter->iov; ++ const struct iovec *pCurIov = VBOX_ITER_IOV(iter); + size_t cLeft = iter->nr_segs; + size_t cPagesSpan = 0; + diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch new file mode 100644 index 000000000000..b390c2f5e48a --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch @@ -0,0 +1,38 @@ +Initial support for kernel 6.4 +https://www.virtualbox.org/changeset/99667/vbox + +--- a/src/VBox/Additions/linux/sharedfolders/regops.c ++++ b/src/VBox/Additions/linux/sharedfolders/regops.c +@@ -77,11 +77,4 @@ + #endif + +-/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field. */ +-#if RTLNX_VER_MIN(6,4,0) +-# define VBOX_ITER_IOV(_iter) iter_iov(_iter) +-#else +-# define VBOX_ITER_IOV(_iter) iter->iov +-#endif +- + + /********************************************************************************************************************************* +@@ -94,4 +87,12 @@ + #else + # define VBSF_GET_ITER_TYPE(a_pIter) ((a_pIter)->type) ++#endif ++ ++/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field ++ * of struct iov_iter. */ ++#if RTLNX_VER_MIN(6,4,0) ++# define VBSF_GET_ITER_IOV(_iter) iter_iov(_iter) ++#else ++# define VBSF_GET_ITER_IOV(_iter) iter->iov + #endif + +@@ -2407,5 +2408,5 @@ + if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) { + # endif +- const struct iovec *pCurIov = VBOX_ITER_IOV(iter); ++ const struct iovec *pCurIov = VBSF_GET_ITER_IOV(iter); + size_t cLeft = iter->nr_segs; + size_t cPagesSpan = 0; + diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r1.ebuild new file mode 100644 index 000000000000..4f354c7b62b0 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r1.ebuild @@ -0,0 +1,310 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-mod systemd toolchain-funcs udev + +MY_PN="VirtualBox" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}a.tar.bz2 + https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.8.tar.bz2" +S="${WORKDIR}/${MY_PN}-${PV}" + +# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild +LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~x86" +IUSE="+dbus gui" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +# TODO: find out what this is, remove comment if obsolete + +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + sys-libs/pam + sys-libs/zlib + dbus? ( sys-apps/dbus ) + gui? ( + x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + ) +" +# some libs here are indirect dependencies, and also needed at compile time. +# keeping them in DEPEND to avoid warnings from qa-vdb. +DEPEND=" + ${RDEPEND} + gui? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libXau + x11-libs/libXdmcp + x11-base/xorg-proto + ) +" +BDEPEND=" + >=dev-lang/yasm-0.6.2 + >=dev-util/kbuild-0.1.9998.3127 + sys-devel/bin86 + sys-power/iasl +" +PDEPEND=" + gui? ( x11-drivers/xf86-video-vboxvideo ) +" + +PATCHES=( + "${FILESDIR}"/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch + "${FILESDIR}"/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch +) + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" +MODULESD_VBOXSF_ALIASES=("fs-vboxsf vboxsf") # 485996 +CONFIG_CHECK="DRM_TTM" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use gui && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup +} + +src_prepare() { + eapply "${PATCHES[@]}" + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null + eend $? || die + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + if ! use gui; then + echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die + fi + + # Remove pointless GCC version check + sed -e '/ check_gcc$/d' -i configure || die + + # Respect LDFLAGS (bug #759100) + sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die + + eapply "${WORKDIR}/virtualbox-patches-7.0.8/patches" + eapply_user +} + +src_configure() { + tc-export AR CC CXX LD RANLIB + + # Build the user-space tools, warnings are harmless + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + $(usev !dbus --disable-dbus) + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + + # bug #843437 + # Respect LDFLAGS (bug #759100) + # Cannot use LDFLAGS here because they also get passed to $(LD) + cat >> LocalConfig.kmk <<-EOF || die + CFLAGS=${CFLAGS} + CXXFLAGS=${CXXFLAGS} + CCLDFLAGS=${LDFLAGS} + EOF + + edo ./configure "${myconf[@]}" +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + + local myemakeargs=( + VBOX_BUILD_PUBLISHER=_Gentoo + VBOX_ONLY_ADDITIONS=1 + + KBUILD_VERBOSE=2 + + AS="$(tc-getCC)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LD="$(tc-getCC)" + + TOOL_GCC3_CC="$(tc-getCC)" + TOOL_GCC3_CXX="$(tc-getCXX)" + TOOL_GCC3_LD="$(tc-getCC)" + TOOL_GCC3_AS="$(tc-getCC)" + TOOL_GCC3_AR="$(tc-getAR)" + TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)" + + TOOL_GXX3_CC="$(tc-getCC)" + TOOL_GXX3_CXX="$(tc-getCXX)" + TOOL_GXX3_LD="$(tc-getCXX)" + TOOL_GXX3_AS="$(tc-getCXX)" + TOOL_GXX3_AR="$(tc-getAR)" + TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)" + + TOOL_GCC3_CFLAGS="${CFLAGS}" + TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" + VBOX_GCC_OPT="${CXXFLAGS}" + VBOX_NM="$(tc-getNM)" + TOOL_YASM_AS=yasm + ) + + MAKE="kmk" emake "${myemakeargs[@]}" + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + # Move this here for bug 836037 + BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=/lib/modules/${KV_FULL}/build \ + KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" + if linux_chkconfig_present CC_IS_CLANG; then + ewarn "Warning: building ${PN} with a clang-built kernel is experimental." + + BUILD_PARAMS+=' CC=${CHOST}-clang' + if linux_chkconfig_present LD_IS_LLD; then + BUILD_PARAMS+=' LD=ld.lld' + if linux_chkconfig_present LTO_CLANG_THIN; then + # kernel enables cache by default leading to sandbox violations + BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' + fi + fi + fi + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + if use dbus; then + newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} + else + newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN} + fi + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use gui ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + doins VBoxDRMClient + fperms 4755 /usr/bin/VBoxDRMClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + udev_reload + if ! use gui ; then + elog "use flag gui is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} + +pkg_postrm() { + linux-mod_pkg_postrm + udev_reload +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8.ebuild deleted file mode 100644 index 2ad17a9c1126..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8.ebuild +++ /dev/null @@ -1,303 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo linux-mod systemd toolchain-funcs udev - -MY_PN="VirtualBox" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2 - https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.8.tar.bz2" -S="${WORKDIR}/${MY_PN}-${PV}" - -# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild -LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~x86" -IUSE="+dbus gui" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -# TODO: find out what this is, remove comment if obsolete - -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - sys-libs/pam - sys-libs/zlib - dbus? ( sys-apps/dbus ) - gui? ( - x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - ) -" -# some libs here are indirect dependencies, and also needed at compile time. -# keeping them in DEPEND to avoid warnings from qa-vdb. -DEPEND=" - ${RDEPEND} - gui? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXau - x11-libs/libXdmcp - x11-base/xorg-proto - ) -" -BDEPEND=" - >=dev-lang/yasm-0.6.2 - >=dev-util/kbuild-0.1.9998.3127 - sys-devel/bin86 - sys-power/iasl -" -PDEPEND=" - gui? ( x11-drivers/xf86-video-vboxvideo ) -" - -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" -MODULESD_VBOXSF_ALIASES=("fs-vboxsf vboxsf") # 485996 -CONFIG_CHECK="DRM_TTM" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use gui && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null - eend $? || die - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - if ! use gui; then - echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die - fi - - # Remove pointless GCC version check - sed -e '/ check_gcc$/d' -i configure || die - - # Respect LDFLAGS (bug #759100) - sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die - - eapply "${WORKDIR}/virtualbox-patches-7.0.8/patches" - eapply_user -} - -src_configure() { - tc-export AR CC CXX LD RANLIB - - # Build the user-space tools, warnings are harmless - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - $(usev !dbus --disable-dbus) - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - - # bug #843437 - # Respect LDFLAGS (bug #759100) - # Cannot use LDFLAGS here because they also get passed to $(LD) - cat >> LocalConfig.kmk <<-EOF || die - CFLAGS=${CFLAGS} - CXXFLAGS=${CXXFLAGS} - CCLDFLAGS=${LDFLAGS} - EOF - - edo ./configure "${myconf[@]}" -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - - local myemakeargs=( - VBOX_BUILD_PUBLISHER=_Gentoo - VBOX_ONLY_ADDITIONS=1 - - KBUILD_VERBOSE=2 - - AS="$(tc-getCC)" - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - LD="$(tc-getCC)" - - TOOL_GCC3_CC="$(tc-getCC)" - TOOL_GCC3_CXX="$(tc-getCXX)" - TOOL_GCC3_LD="$(tc-getCC)" - TOOL_GCC3_AS="$(tc-getCC)" - TOOL_GCC3_AR="$(tc-getAR)" - TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" - #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)" - - TOOL_GXX3_CC="$(tc-getCC)" - TOOL_GXX3_CXX="$(tc-getCXX)" - TOOL_GXX3_LD="$(tc-getCXX)" - TOOL_GXX3_AS="$(tc-getCXX)" - TOOL_GXX3_AR="$(tc-getAR)" - TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" - #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)" - - TOOL_GCC3_CFLAGS="${CFLAGS}" - TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" - VBOX_GCC_OPT="${CXXFLAGS}" - VBOX_NM="$(tc-getNM)" - TOOL_YASM_AS=yasm - ) - - MAKE="kmk" emake "${myemakeargs[@]}" - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - # Move this here for bug 836037 - BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=/lib/modules/${KV_FULL}/build \ - KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" - if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental." - - BUILD_PARAMS+=' CC=${CHOST}-clang' - if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' - if linux_chkconfig_present LTO_CLANG_THIN; then - # kernel enables cache by default leading to sandbox violations - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' - fi - fi - fi - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - if use dbus; then - newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} - else - newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN} - fi - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use gui ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - doins VBoxDRMClient - fperms 4755 /usr/bin/VBoxDRMClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - udev_reload - if ! use gui ; then - elog "use flag gui is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} - -pkg_postrm() { - linux-mod_pkg_postrm - udev_reload -} diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 8cb0092de22e..93f07e141f11 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -3,13 +3,11 @@ AUX wine-vanilla-7.0-unwind.patch 1694 BLAKE2B 017c7b761d692f8e8d23f52e51529880f AUX wine-vanilla-7.20-unwind.patch 1450 BLAKE2B 3f90cc131104ad72a11ae30c582b79b3e4d8c0278d51c0a193fb9e460cf088b315503bd08bd904e8d28f72f40ab3df90f83f2542b991888a2f504cc7d2adad4d SHA512 a6c4672a44c1220d5b1efabeca535a4a3510fe92aac73c38f65a09bfbd271af8b8b1bfe2c408ba5356806cb71252a6956b8130fcd06a475037b9e51d28c2a156 DIST wine-7.0.2.tar.xz 27179980 BLAKE2B 721ab574092638b32d3a483b6ae3def0c9d706cc888662ca461ab8c7060b10077e83cede69663ea2a8b97729f3801209fbba5f8e8828ce20454700ffbbd76cb5 SHA512 330c71005a6a8054b5068ac4484e9015e9f8bf55d5a451aaf5f79b7f78a025732b454251c31473abf21504cce3b78e50cf7e3e0d0116bb755dc8396bd790289a DIST wine-8.0.1.tar.xz 29057128 BLAKE2B f1e04ddc7531704b4229d1bdb6e742ff20886dfff181b8b44e01e9921574e8c433553aaddb2453532902e89252244080d1cf9f904aa7d14d76709d830116e4b4 SHA512 9264a3dbe8b0168aa94b8266d5686b1da39352baefa4e72a63b0ed5aa2daca8811633dc89da3bb2aff497fb2b3b917f5cd021d0baae390490f1ca5ffd5ac4b3a -DIST wine-8.0.tar.xz 29054044 BLAKE2B baf8f96b665119c9f38a148a2472dbe8f6ca8d4641d9d09d48cb72cb4de2585c274b8b7981c2fa622ead6da2f087c57652e9b48edc8a17c0cfd6be9a36732f02 SHA512 53ba813b260a65a271ec575822725b97631f60038fb026dcc0fe66862711eedcc29a8feb29ff54ae4f64458f85c290d8f3838eff5e4c77a5420a7d2b951fef77 DIST wine-8.5.tar.xz 29064032 BLAKE2B 35fa6d7ec88ff67d9acf13466b3618eb45d664bed0a9ee581e46cb6e7692395837c8c8e86dead1dbcad582ef29c674a0df4b7180addee837b466eba7fdcd350a SHA512 f6aaab8a32eb7bce7f48d21d99417c9e6e8fe41b3d36320762775ef954db7ddd4fcff01d56475f35038d814557834a41a9e3ae85e5cae8a1b820c5044b42a327 DIST wine-8.6.tar.xz 29118124 BLAKE2B e4659785722f0c1adb9ce4a156fbafc8484977a5fe2f4a6e1d5eaf8f1f14c6787f080b9d389cdd8716eb7fd00ee2879fab2042af5dcb970530d2e19628442c73 SHA512 602680675f5e062121767769106199179c52a6dd93e97b9b8b4d8365134c72f7745e37d4e3edf6c89c553fb1bfe55b914e77177508fb4f032410d423359abba7 DIST wine-8.7.tar.xz 29158096 BLAKE2B 73bd0b5a6eec8a2e37301d8b0f8e9be1ad757f07df3471b0cea17aac6716d456eea1d36fa22bd2451e6cc7662b2b36e4ca628d65216c60d5950f5b439fd2052c SHA512 0a7fe9ad86cf931527c2149207473bf4671d1098af7c21f1b740dfaa84486a8e235fea99b1cad035ff9c3eb20810caab53d51051d63efe626514b79309904d93 EBUILD wine-vanilla-7.0.2.ebuild 10513 BLAKE2B 59e4829bd78bba7b4aec2e0ad29b41241f8977f7f427b9de345c40e0739fe7b122c03fd833d1f83f64b07d23e1327747caafa4664b45e9396ee0180540121800 SHA512 152ce8e64ad259555d762ccfeacd7fc8aecbacd756952cd8ca67efc1da3d8dc3876d2dbc58b31be41db327c0388d7ca0e23e6a1877df428125ed3b3807e8f36d EBUILD wine-vanilla-8.0.1.ebuild 10531 BLAKE2B c0f7101f6ea462bb6107b9c655a3c08f8da17caaad36f8dffea37f629fd874dcd9c76cd74ae6de3bd0a9cbd2a8f44c61a6d8f6cc682d070aa6a3e58dfc627394 SHA512 af0c61ad944252e9111a3f7bb8fa031c5e85c6c5d11e8f4516d812fba9c0febc617fb1c7fd577ecdf5849e9b70a0b932113cd3e8d72d2d3821a35d5220b679d3 -EBUILD wine-vanilla-8.0.ebuild 10531 BLAKE2B c0f7101f6ea462bb6107b9c655a3c08f8da17caaad36f8dffea37f629fd874dcd9c76cd74ae6de3bd0a9cbd2a8f44c61a6d8f6cc682d070aa6a3e58dfc627394 SHA512 af0c61ad944252e9111a3f7bb8fa031c5e85c6c5d11e8f4516d812fba9c0febc617fb1c7fd577ecdf5849e9b70a0b932113cd3e8d72d2d3821a35d5220b679d3 EBUILD wine-vanilla-8.5.ebuild 10713 BLAKE2B a1976bfa2133d561e669f611ef487d335d26e986526cc41a173e1629522e81cd85f8576c1b26c0023d882253f37e46b85dbfa14d86d59b95fd1200c47869c3d8 SHA512 d3a04376eca69532e2f1249961f00241c38a4f1434097dddd4e7aa5a23aca79120f52f081a779739a317fcb189c2981b5551fe2758d5553b21b31d3388bd2769 EBUILD wine-vanilla-8.6.ebuild 10713 BLAKE2B 30ac5423669115fc490ed64bc58d884a64f9b080968797631b75c4db0247a70c23d00e093d37b98857a9d4ec14d539920746cd2bc3f7a7daf4991a5a3098adbf SHA512 c55bb1013836ba5f7bb2054939b54198902d07e0b6ef703e2025dc507f322c123fc28fadf47d43e6c62e2943bc7b2bf047f4147cf0fd1881a31cf90323636617 EBUILD wine-vanilla-8.7.ebuild 10752 BLAKE2B fd8ed4c4bb537108cffb5bbb9edf5bbc942d289eaa02cda12237c4dc6df849161b7d8b426717732ff49ad4d826f97e32ea7107c182bbcb50e3752698ecfa5351 SHA512 7ce00cfcb1f65c0a72acc1d3adbb4157b75d8853a31f580f4eb29701c9ee54f804078174b43cb1552bab488381f5716ac035ae7092629ae06ec4f8ddef7998f7 diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.0.ebuild deleted file mode 100644 index 686049493098..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-8.0.ebuild +++ /dev/null @@ -1,333 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper - -WINE_GECKO=2.47.3 -WINE_MONO=7.4.0 - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git" -else - (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0 - SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz" - S="${WORKDIR}/wine-${PV}" - KEYWORDS="-* amd64 x86" -fi - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE=" - https://www.winehq.org/ - https://gitlab.winehq.org/wine/wine/" - -LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff" -SLOT="${PV}" -IUSE=" - +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos - llvm-libunwind debug custom-cflags +fontconfig +gecko gphoto2 - +gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl - osmesa pcap perl pulseaudio samba scanner +sdl selinux +ssl - +truetype udev udisks +unwind usb v4l +vulkan +xcomposite xinerama" -REQUIRED_USE=" - X? ( truetype ) - crossdev-mingw? ( mingw )" # bug #551124 for truetype - -# tests are non-trivial to run, can hang easily, don't play well with -# sandbox, and several need real opengl/vulkan or network access -RESTRICT="test" - -# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked -WINE_DLOPEN_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXrender[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - opengl? ( - media-libs/libglvnd[X,${MULTILIB_USEDEP}] - osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) - ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) - cups? ( net-print/cups[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )" -WINE_COMMON_DEPEND=" - ${WINE_DLOPEN_DEPEND} - X? ( - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gstreamer? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - unwind? ( - llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] ) - !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) - ) - usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )" -RDEPEND=" - ${WINE_COMMON_DEPEND} - app-emulation/wine-desktop-common - dos? ( - || ( - games-emulation/dosbox - games-emulation/dosbox-staging - ) - ) - gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] ) - gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] ) - mono? ( app-emulation/wine-mono:${WINE_MONO} ) - perl? ( - dev-lang/perl - dev-perl/XML-LibXML - ) - samba? ( net-fs/samba[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" -DEPEND=" - ${WINE_COMMON_DEPEND} - sys-kernel/linux-headers - X? ( x11-base/xorg-proto )" -BDEPEND=" - dev-lang/perl - sys-devel/binutils - sys-devel/bison - sys-devel/flex - virtual/pkgconfig - mingw? ( !crossdev-mingw? ( - >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}] - ) ) - nls? ( sys-devel/gettext )" -IDEPEND=">=app-eselect/eselect-wine-2" - -QA_CONFIG_IMPL_DECL_SKIP=( - __clear_cache # unused on amd64+x86 (bug #900338) - res_getservers # false positive -) -QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext - -PATCHES=( - "${FILESDIR}"/${PN}-7.0-noexecstack.patch - "${FILESDIR}"/${PN}-7.20-unwind.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} == binary ]] && return - - if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then - local mingw=-w64-mingw32 - for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do - if ! type -P ${mingw}-gcc >/dev/null; then - eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain" - eerror "yourself by installing sys-devel/crossdev then running:" - eerror - eerror " crossdev --target ${mingw}" - eerror - eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw" - die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found" - fi - done - fi -} - -src_prepare() { - # sanity check, bumping these has a history of oversights - local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \ - dlls/appwiz.cpl/addons.c || die) - if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then - local gmfatal= - [[ ${PV} == *9999 ]] && gmfatal=nonfatal - ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)" - fi - - default - - # ensure .desktop calls this variant + slot - sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die - - # always update for patches (including user's wrt #432348) - eautoreconf - tools/make_requests || die # perl -} - -src_configure() { - WINE_PREFIX=/usr/lib/${P} - WINE_DATADIR=/usr/share/${P} - - local conf=( - --prefix="${EPREFIX}"${WINE_PREFIX} - --datadir="${EPREFIX}"${WINE_DATADIR} - --includedir="${EPREFIX}"/usr/include/${P} - --libdir="${EPREFIX}"${WINE_PREFIX} - --mandir="${EPREFIX}"${WINE_DATADIR}/man - $(use_enable gecko mshtml) - $(use_enable mono mscoree) - --disable-tests - $(use_with X x) - $(use_with alsa) - $(use_with capi) - $(use_with cups) - $(use_with fontconfig) - $(use_with gphoto2 gphoto) - $(use_with gstreamer) - $(use_with kerberos gssapi) - $(use_with kerberos krb5) - $(use_with mingw) - $(use_with netapi) - $(use_with nls gettext) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - --without-oss # media-sound/oss is not packaged (OSSv4) - $(use_with pcap) - $(use_with pulseaudio pulse) - $(use_with scanner sane) - $(use_with sdl) - $(use_with ssl gnutls) - $(use_with truetype freetype) - $(use_with udev) - $(use_with udisks dbus) # dbus is only used for udisks - $(use_with unwind) - $(use_with usb) - $(use_with v4l v4l2) - $(use_with vulkan) - $(use_with xcomposite) - $(use_with xinerama) - $(usev !odbc ac_cv_lib_soname_odbc=) - ) - - tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097) - filter-lto # build failure - use mingw || filter-flags -fno-plt # build failure - use custom-cflags || strip-flags # can break in obscure ways at runtime - use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} - - # temporary workaround for tc-ld-force-bfd not yet enforcing with mold - # https://github.com/gentoo/gentoo/pull/28355 - [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] && - append-ldflags -fuse-ld=bfd - - # build using upstream's way (--with-wine64) - # order matters: configure+compile 64->32, install 32->64 - local -i bits - for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do - ( - einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..." - - mkdir ../build${bits} || die - cd ../build${bits} || die - - pe_arch=i386 - if (( bits == 64 )); then - pe_arch=x86_64 - : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}" - conf+=( --enable-win64 ) - elif use amd64; then - conf+=( - $(usev abi_x86_64 --with-wine64=../build64) - TARGETFLAGS=-m32 # for widl - ) - # _setup is optional, but use over Wine's auto-detect (+#472038) - multilib_toolchain_setup x86 - fi - : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}" - - if use mingw; then - # CROSSCC is no longer recognized by Wine, but still use for now - # (future handling for CROSS* variables is subject to changes) - conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" ) - - # use *FLAGS for mingw, but strip unsupported - : "${CROSSCFLAGS:=$( - # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake - append-cflags '-fno-strict-aliasing' - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" - : "${CROSSLDFLAGS:=$( - filter-flags '-fuse-ld=*' - CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}" - export CROSS{C,LD}FLAGS - fi - - ECONF_SOURCE=${S} econf "${conf[@]}" - ) - done -} - -src_compile() { - use abi_x86_64 && emake -C ../build64 # do first - use abi_x86_32 && emake -C ../build32 -} - -src_install() { - use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install - use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last - - # symlink for plain 'wine' and install its man pages if 64bit-only #404331 - if use abi_x86_64 && use !abi_x86_32; then - dosym wine64 ${WINE_PREFIX}/bin/wine - dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader - local man - for man in ../build64/loader/wine.*man; do - : "${man##*/wine}" - : "${_%.*}" - insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1 - newins ${man} wine.1 - done - fi - - use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \ - "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die - - # create variant wrappers for eselect-wine - local bin - for bin in "${ED}"${WINE_PREFIX}/bin/*; do - make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}" - done - - # don't let portage try to strip PE files with the wrong - # strip executable and instead handle it here (saves ~120MB) - if use mingw; then - dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows - use debug || - find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \ - -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die - fi - - dodoc ANNOUNCE AUTHORS README* documentation/README* -} - -pkg_postinst() { - eselect wine update --if-unset || die -} - -pkg_postrm() { - eselect wine update --if-unset || die -} -- cgit v1.2.3