Ticket #28469: Portfile

File Portfile, 4.5 KB (added by carsomyr@…, 13 years ago)

The Portfile (revision 3).

Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id$
3
4PortSystem          1.0
5PortGroup           qt4 1.0
6
7name                virtualbox
8version             4.1.2
9categories          emulators
10maintainers         nomaintainer
11description         open source virtualization technology from Oracle
12long_description \
13    VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for \
14    enterprise as well as home use. Not only is VirtualBox an extremely \
15    feature rich, high performance product for enterprise customers, it is \
16    also the only professional solution that is freely available as Open \
17    Source Software.
18license             GPL-2
19homepage            http://www.virtualbox.org/
20supported_archs     i386 x86_64
21universal_variant   no
22platforms           darwin
23
24master_sites        http://download.virtualbox.org/virtualbox/${version}/
25distname            VirtualBox-${version}
26use_bzip2           yes
27
28checksums           md5     945d2c94c15a4f47280be4b01b67e244 \
29                    sha1    52e35e0400fb12a5277a6e126478bb8f53c3e46d \
30                    rmd160  0004a00c968ee835083416022240e212903f394d
31
32depends_lib-append          port:libidl \
33                            path:lib/pkgconfig/libxml-2.0.pc:libxml2 \
34                            path:lib/pkgconfig/libxslt.pc:libxslt \
35                            path:lib/pkgconfig/openssl.pc:openssl \
36                            path:lib/pkgconfig/sdl.pc:libsdl
37
38patchfiles                  patch-build.diff \
39                            patch-startup.diff
40
41configure.pre_args-delete   --prefix=${prefix}
42
43configure.args              --disable-hardening \
44                            --with-qt-dir=${prefix} \
45                            --with-openssl-dir=${prefix}
46
47# VirtualBox uses kBuild.
48build.cmd                   ". env.sh && kmk"
49
50# This is the open source edition of VirtualBox.
51worksrcdir                  VirtualBox-${version}_OSE
52
53set kext_dir                /Library/Extensions
54set startup_items_dir       /Library/StartupItems
55
56post-patch {
57
58    reinplace "s|@CONFIGURE\\.CC@|${configure.cc}|g" \
59        ${worksrcpath}/configure
60    reinplace "s|@CONFIGURE\\.CXX@|${configure.cxx}|g" \
61        ${worksrcpath}/configure
62    reinplace "s|@KEXT_DIR@|${prefix}${kext_dir}|g" \
63        ${worksrcpath}/src/VBox/Installer/darwin/VBoxStartupItems/VirtualBox/VirtualBox
64
65    if {[variant_isset vde2]} {
66        reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/include/VBox/VDEPlugSymDefs.h
67    }
68}
69
70destroot {
71
72    set release_dir [lindex [glob -- ${worksrcpath}/out/darwin.*/release/dist] 0]
73
74    xinstall -m 755 -d ${destroot}${applications_dir}
75    copy ${release_dir}/VirtualBox.app ${destroot}${applications_dir}
76
77    # Set the owner and group to root:wheel, which is required for kernel extensions and possibly startup items.
78
79    xinstall -m 755 -o root -g wheel -d ${destroot}${prefix}${kext_dir}
80
81    foreach kext [glob -- ${release_dir}/*.kext] {
82        copy ${kext} ${destroot}${prefix}${kext_dir}
83    }
84
85    xinstall -m 755 -o root -g wheel -d ${destroot}${prefix}${startup_items_dir}
86    copy ${worksrcpath}/src/VBox/Installer/darwin/VBoxStartupItems/VirtualBox ${destroot}${prefix}${startup_items_dir}
87
88    # Create proxies for binaries bundled with VirtualBox.app.
89
90    foreach app_proxy [list VirtualBox VBoxManage VBoxHeadless] {
91
92        set app_proxy_file [open ${destroot}${prefix}/bin/${app_proxy} w]
93
94        puts $app_proxy_file "#!/usr/bin/env bash"
95        puts $app_proxy_file "exec -- ${applications_dir}/VirtualBox.app/Contents/MacOS/${app_proxy} \"\$@\""
96
97        close $app_proxy_file
98
99        file attributes ${destroot}${prefix}/bin/${app_proxy} -permissions "+x"
100    }
101}
102
103variant vde2 description {Enable support for VDE} {
104
105    depends_lib-append      port:vde2
106    patchfiles-append       patch-vde.diff
107    configure.args-append   --enable-vde
108}
109
110default_variants            +vde2
111
112startupitem.create          yes
113startupitem.name            VirtualBox
114startupitem.start           "${prefix}${startup_items_dir}/VirtualBox/VirtualBox start"
115startupitem.stop            "${prefix}${startup_items_dir}/VirtualBox/VirtualBox stop"
116startupitem.restart         "${prefix}${startup_items_dir}/VirtualBox/VirtualBox restart"
117startupitem.pidfile         none
118
119livecheck.type              regex
120
121if {[lindex [split ${version} .] 2] == 0} {
122    livecheck.version       [join [lrange [split ${version} .] 0 1] .]
123}
124
125livecheck.url               ${homepage}
126livecheck.regex             "VirtualBox (\\d+\\.\\d+(?:\\.\\d+)?) released!"