From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-guest-additions/
Date: Sun, 10 Jul 2022 22:51:37 +0000 (UTC) [thread overview]
Message-ID: <1657493441.385399998583db6d847f7efdb1999951eaaf9a68.sam@gentoo> (raw)
commit: 385399998583db6d847f7efdb1999951eaaf9a68
Author: Viorel Munteanu <ceamac.paragon <AT> gmail <DOT> com>
AuthorDate: Sun Jul 10 11:29:47 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 22:50:41 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38539999
app-emulation/virtualbox-guest-additions: respect LDFLAGS
Closes: https://bugs.gentoo.org/759100
Closes: https://bugs.gentoo.org/854552
Signed-off-by: Viorel Munteanu <ceamac.paragon <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../virtualbox-guest-additions-6.1.34-r3.ebuild | 279 +++++++++++++++++++++
1 file changed, 279 insertions(+)
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.34-r3.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.34-r3.ebuild
new file mode 100644
index 000000000000..ead997d47a65
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.34-r3.ebuild
@@ -0,0 +1,279 @@
+# Copyright 2022 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_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P="${MY_PN}-${MY_PV}"
+[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
+ https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/$(ver_cut 1-2)"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64 ~x86"
+IUSE="X"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ X? ( x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libXmu
+ x11-libs/libX11
+ x11-libs/libXt
+ x11-libs/libXext
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libSM
+ x11-libs/libICE )
+ sys-apps/dbus
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-util/kbuild-0.1.9998.3127
+ >=dev-lang/yasm-0.6.2
+ sys-devel/bin86
+ sys-libs/pam
+ sys-power/iasl
+ x11-base/xorg-proto
+"
+PDEPEND="
+ X? ( x11-drivers/xf86-video-vboxvideo )
+"
+BUILD_TARGETS="all"
+BUILD_TARGET_ARCH="${ARCH}"
+
+S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}"
+VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
+
+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 X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
+
+ linux-mod_pkg_setup
+ BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers"
+}
+
+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.0.6-log-use-c99.patch
+ popd &>/dev/null || die
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
+
+ # 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
+
+ # Do not use hard-coded ld (related to bug #488176)
+ #sed -e '/QUIET)ld /s@ld @$(LD) @' \
+ # -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
+
+ eapply "${WORKDIR}/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
+ --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)
+ 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
+
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+
+ 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 X ; 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 X ; then
+ elog "use flag X 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 "Also make sure you use the Mesa library for OpenGL:"
+ elog " eselect opengl set xorg-x11"
+ 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 <shared_folder_name> <mount_point>"
+ 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
+}
next reply other threads:[~2022-07-10 22:51 UTC|newest]
Thread overview: 158+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-10 22:51 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-04-17 15:13 [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-guest-additions/ Viorel Munteanu
2025-04-17 15:13 Viorel Munteanu
2025-04-17 15:13 Viorel Munteanu
2025-01-24 17:13 Viorel Munteanu
2025-01-21 21:43 Viorel Munteanu
2025-01-21 21:43 Viorel Munteanu
2025-01-13 7:00 Viorel Munteanu
2025-01-13 7:00 Viorel Munteanu
2025-01-02 10:59 Viorel Munteanu
2025-01-02 10:59 Viorel Munteanu
2024-12-31 18:20 Viorel Munteanu
2024-12-31 18:20 Viorel Munteanu
2024-10-18 17:16 Viorel Munteanu
2024-10-18 17:16 Viorel Munteanu
2024-10-08 5:18 Viorel Munteanu
2024-09-30 19:35 Arthur Zamarin
2024-09-30 19:35 Arthur Zamarin
2024-09-27 17:08 Viorel Munteanu
2024-09-15 13:02 Viorel Munteanu
2024-09-15 13:02 Viorel Munteanu
2024-09-15 13:02 Viorel Munteanu
2024-09-01 10:45 Viorel Munteanu
2024-09-01 10:45 Viorel Munteanu
2024-08-23 11:56 Viorel Munteanu
2024-07-26 15:02 Viorel Munteanu
2024-07-16 18:13 Viorel Munteanu
2024-06-05 4:53 Viorel Munteanu
2024-06-05 4:53 Viorel Munteanu
2024-06-05 4:53 Viorel Munteanu
2024-06-03 8:08 Sam James
2024-06-03 8:07 Sam James
2024-05-03 17:41 Viorel Munteanu
2024-05-03 17:41 Viorel Munteanu
2024-05-01 5:00 Viorel Munteanu
2024-05-01 5:00 Viorel Munteanu
2024-05-01 3:49 Viorel Munteanu
2024-05-01 3:49 Viorel Munteanu
2024-04-30 4:25 Viorel Munteanu
2024-04-30 4:25 Viorel Munteanu
2024-04-17 19:56 Viorel Munteanu
2024-04-10 18:18 Viorel Munteanu
2024-04-10 18:18 Viorel Munteanu
2024-02-10 16:31 Viorel Munteanu
2024-01-25 15:50 Viorel Munteanu
2024-01-25 15:42 Viorel Munteanu
2024-01-25 10:08 Viorel Munteanu
2024-01-25 9:52 Viorel Munteanu
2024-01-25 9:51 Viorel Munteanu
2024-01-17 17:38 Viorel Munteanu
2024-01-17 17:38 Viorel Munteanu
2024-01-12 21:39 Sam James
2023-10-18 4:08 Viorel Munteanu
2023-10-18 4:08 Viorel Munteanu
2023-08-15 12:50 Viorel Munteanu
2023-08-15 12:50 Viorel Munteanu
2023-08-15 12:50 Viorel Munteanu
2023-08-15 12:16 Viorel Munteanu
2023-08-12 19:41 Arthur Zamarin
2023-08-03 21:32 Sam James
2023-08-03 20:45 Sam James
2023-07-20 9:40 Viorel Munteanu
2023-07-20 9:40 Viorel Munteanu
2023-06-01 6:25 Viorel Munteanu
2023-06-01 6:25 Viorel Munteanu
2023-05-30 5:22 Viorel Munteanu
2023-05-29 17:49 Arthur Zamarin
2023-05-29 17:49 Arthur Zamarin
2023-05-29 17:49 Arthur Zamarin
2023-05-29 13:10 Sam James
2023-04-21 16:38 Viorel Munteanu
2023-04-21 16:38 Viorel Munteanu
2023-04-21 16:38 Viorel Munteanu
2023-02-21 15:06 Viorel Munteanu
2023-02-21 15:06 Viorel Munteanu
2023-02-21 12:29 Viorel Munteanu
2023-02-15 5:12 Sam James
2023-02-15 5:12 Sam James
2023-01-22 9:59 Viorel Munteanu
2023-01-22 9:59 Viorel Munteanu
2023-01-11 15:38 Viorel Munteanu
2023-01-11 12:54 Arthur Zamarin
2023-01-11 12:54 Arthur Zamarin
2022-11-20 8:20 Viorel Munteanu
2022-11-02 16:17 Viorel Munteanu
2022-11-02 6:41 Viorel Munteanu
2022-10-27 8:35 Joonas Niilola
2022-10-27 7:53 Joonas Niilola
2022-10-17 21:05 Sam James
2022-10-06 10:23 Joonas Niilola
2022-10-06 5:25 Joonas Niilola
2022-09-05 1:22 Sam James
2022-09-05 1:22 Sam James
2022-09-04 17:45 Sam James
2022-08-26 23:27 Sam James
2022-07-25 2:28 Sam James
2022-07-24 23:23 Sam James
2022-07-10 22:51 Sam James
2022-07-06 9:04 Sam James
2022-05-28 14:12 Lars Wendler
2022-05-15 13:01 Lars Wendler
2022-04-04 18:28 Jakov Smolić
2022-03-30 20:09 Jakov Smolić
2021-12-08 6:17 Sam James
2021-12-06 21:11 Jakov Smolić
2021-08-19 1:08 Sam James
2021-07-19 18:36 Sam James
2021-05-06 21:21 Sam James
2021-04-30 23:34 Sam James
2021-04-12 17:33 Sam James
2021-04-12 17:33 Sam James
2021-01-22 1:49 Sam James
2021-01-22 1:48 Sam James
2021-01-18 2:53 Sam James
2021-01-06 3:10 Sam James
2020-12-08 12:12 Lars Wendler
2020-12-08 12:12 Lars Wendler
2020-09-02 3:55 Sam James
2020-08-30 1:32 Thomas Deutschmann
2020-08-29 20:53 Thomas Deutschmann
2020-07-28 13:37 Lars Wendler
2020-04-26 23:44 Thomas Deutschmann
2020-04-22 14:03 Mikle Kolyada
2020-03-29 7:19 Mikle Kolyada
2020-02-25 17:15 Lars Wendler
2020-01-16 16:27 Lars Wendler
2019-11-28 9:09 Lars Wendler
2019-10-16 21:00 Lars Wendler
2019-09-15 9:04 Mikle Kolyada
2019-09-07 21:07 Thomas Deutschmann
2019-08-28 14:34 David Seifert
2019-05-08 14:18 Lars Wendler
2019-05-08 14:12 Lars Wendler
2019-04-29 7:30 Lars Wendler
2019-04-18 20:32 Thomas Deutschmann
2019-04-08 13:15 Mikle Kolyada
2018-11-28 2:07 Thomas Deutschmann
2018-11-25 9:25 Mikle Kolyada
2018-11-16 17:00 Lars Wendler
2018-07-22 17:07 Mikle Kolyada
2018-07-18 10:39 Lars Wendler
2018-07-03 18:52 Jonas Stein
2018-05-08 15:15 Agostino Sarubbo
2018-05-07 23:55 Thomas Deutschmann
2018-04-27 1:14 Matt Turner
2018-01-21 20:30 Thomas Deutschmann
2018-01-18 21:41 Mikle Kolyada
2018-01-18 11:29 Lars Wendler
2017-12-29 17:48 Mikle Kolyada
2017-12-26 2:06 Thomas Deutschmann
2017-10-17 10:56 Lars Wendler
2017-07-25 11:47 Lars Wendler
2017-01-31 12:31 Tobias Klausmann
2016-08-18 16:49 Christoph Junghans
2016-07-14 9:28 Lars Wendler
2016-03-05 22:38 Mikle Kolyada
2016-02-22 8:42 Patrick Lauer
2015-11-06 8:46 Mikle Kolyada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1657493441.385399998583db6d847f7efdb1999951eaaf9a68.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox