/
virtualbox_guest_additions-6.1.26.recipe
108 lines (91 loc) · 3.25 KB
/
virtualbox_guest_additions-6.1.26.recipe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
SUMMARY="VirtualBox kernel modules and user-space tools for Haiku guests"
DESCRIPTION="VirtualBox is a free x86 virtualization solution allowing a wide \
range of x86 operating systems such as Windows, DOS, BSD or Linux to run on a \
Linux system.
This package contains the VirtualBox kernel modules and user-space \
tools for Haiku guests."
HOMEPAGE="https://www.virtualbox.org/"
COPYRIGHT="2003-2017 Oracle Corporation"
LICENSE="
GNU GPL v2
CDDL v1
"
REVISION="1"
SOURCE_URI="http://download.virtualbox.org/virtualbox/$portVersion/VirtualBox-$portVersion.tar.bz2"
CHECKSUM_SHA256="0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195"
SOURCE_DIR="VirtualBox-$portVersion"
PATCHES="virtualbox_guest_additions-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 !x86 x86_64"
PROVIDES="
virtualbox_guest_additions$secondaryArchSuffix = $portVersion
cmd:VBoxControl$secondaryArchSuffix = $portVersion
cmd:VBoxService$secondaryArchSuffix = $portVersion
cmd:VBoxTray$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:kmk$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:mkisofs
cmd:sed
cmd:which
cmd:xres
cmd:xsltproc$secondaryArchSuffix
cmd:yasm
"
BUILD()
{
export USER=user
export KBUILD_PATH=`finddir B_SYSTEM_DATA_DIRECTORY`/kBuild V=1
./configure --only-additions
source env.sh
kmk V=1 VBOX_ONLY_ADDITIONS=1 VBOX_WITH_ADDITION_DRIVERS=1 BUILD_TYPE=strict all
}
INSTALL()
{
source env.sh
cd out/haiku.$BUILD_PLATFORM_ARCH/strict/bin/additions
mkdir -p $addOnsDir/kernel/{generic,drivers/bin,drivers/dev/misc}
cp vboxguest $addOnsDir/kernel/generic
cp vboxdev $addOnsDir/kernel/drivers/bin
ln -fs ../../bin/vboxdev $addOnsDir/kernel/drivers/dev/misc
mkdir -p $addOnsDir/kernel/file_systems
cp vboxsf $addOnsDir/kernel/file_systems
mkdir -p $addOnsDir/{input_server/filters,input_server/devices}
cp VBoxMouseFilter $addOnsDir/input_server/filters
cp VBoxMouse $addOnsDir/input_server/devices
mkdir -p $addOnsDir/{accelerants,kernel/drivers/dev/graphics}
cp vboxvideo $addOnsDir/kernel/drivers/bin
ln -fs ../../bin/vboxvideo $addOnsDir/kernel/drivers/dev/graphics
cp vboxvideo.accelerant $addOnsDir/accelerants
mkdir -p $binDir
# xres -o file.tmp VBoxControl ; strip -S VBoxControl ; xres -o VBoxControl file.tmp
# xres -o file.tmp VBoxService ; strip -S VBoxService ; xres -o VBoxService file.tmp
# xres -o file.tmp VBoxTray ; strip -S VBoxTray ; xres -o VBoxTray file.tmp
cp VBoxControl VBoxService VBoxTray $binDir
# install VBoxTray replicant
# mkdir -p $prefix/boot/post-install
# cat <<'EOF' > $prefix/boot/post-install/install-VBoxTray-replicant.sh
#!/bin/sh
#/bin/VBoxTray
#EOF
# chmod a+x $prefix/boot/post-install/install-VBoxTray-replicant.sh
# Add a symlink to the Desktop applets directory in Deskbar
mkdir -p $dataDir/deskbar/menu/Desktop\ applets
symlinkRelative -s $binDir/VBoxTray $dataDir/deskbar/menu/Desktop\ applets
}