Sync with portage [Wed Sep 9 22:30:02 MSK 2020].

develop 1762
root 4 years ago
parent 3aa81484c2
commit d99772525f

Binary file not shown.

Binary file not shown.

@ -1 +1,2 @@
DIST Rex-1.12.1.tar.gz 339065 BLAKE2B fd026e66a4e1cf6d4c8b15f7fcba0525a3e98346464170f27d5ef7bb54f1decd7450d87d9f23bee8378df4647eacf512c06a8d051bb76021cbcae472e2c2012d SHA512 774452511d97106bb6586324ff4e8642b05be628c80f3adbba7fd82558c82236878e969512bab398e26a1a7a271a7614108761bd0fb888a2122167806796bad1
DIST Rex-1.12.2.tar.gz 343716 BLAKE2B bb546298305e2e210ea67a21c948f364d3c0ee5947c8d716606fc81cfd07c4b1eea9e6ce8fd3fd49a0cffd33a964e0d328f60d570fa18fa3452b334a7882b279 SHA512 867942eec63ba71b591b93d6c0af794605f86571ef6d1be473989314cb7fc7d4e8d906ef25e30ea56beeaefe953c884661d9b769452587a3d4892de10163b6c7

@ -0,0 +1,203 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
if [[ ${PV} == 9999 ]]; then
GITHUB_USER=RexOps
GITHUB_REPO=Rex
EGIT_REPO_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git"
EGIT_BRANCH="master"
EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git"
VCS_ECLASS="git-r3"
else
# This is intentional to stop perl-module.eclass doing magic things when it
# shouldn't. Like making ${S} contain "Rex" when the git clone has "rex"
# Also prevents perl-module.eclass provisioning SRC_URI
DIST_AUTHOR=FERKI
DIST_NAME=Rex
KEYWORDS="~amd64 ~x86"
fi
inherit bash-completion-r1 perl-module ${VCS_ECLASS}
DESCRIPTION="(R)?ex, the friendly automation framework"
SLOT="0"
IUSE="minimal test"
RESTRICT="!test? ( test )"
DZIL_DEPENDS="
dev-perl/Dist-Zilla
dev-perl/Dist-Zilla-Plugin-CheckExtraTests
dev-perl/Dist-Zilla-Plugin-ContributorsFile
dev-perl/Dist-Zilla-Plugin-Git
dev-perl/Dist-Zilla-Plugin-Git-Contributors
dev-perl/Dist-Zilla-Plugin-MakeMaker-Awesome
dev-perl/Dist-Zilla-Plugin-Meta-Contributors
dev-perl/Dist-Zilla-Plugin-MetaProvides-Package
dev-perl/Dist-Zilla-Plugin-NextVersion-Semantic
dev-perl/Dist-Zilla-Plugin-OSPrereqs
dev-perl/Dist-Zilla-Plugin-OurPkgVersion
dev-perl/Dist-Zilla-Plugin-Run
dev-perl/Software-License
"
RDEPEND="
!minimal? (
dev-perl/DBI
dev-perl/Expect
dev-perl/IPC-Shareable
dev-perl/XML-LibXML
)
virtual/perl-Carp
virtual/perl-Data-Dumper
dev-perl/Data-Validate-IP
dev-perl/Devel-Caller
dev-perl/Digest-HMAC
virtual/perl-Digest-MD5
virtual/perl-Exporter
virtual/perl-File-Spec
dev-perl/HTTP-Message
dev-perl/Hash-Merge
virtual/perl-IO
dev-perl/IO-String
dev-perl/IO-Tty
dev-perl/JSON-MaybeXS
dev-perl/List-MoreUtils
virtual/perl-MIME-Base64
dev-perl/Net-OpenSSH
dev-perl/Net-SFTP-Foreign
virtual/perl-Scalar-List-Utils
dev-perl/Parallel-ForkManager
dev-perl/Sort-Naturally
dev-perl/String-Escape
virtual/perl-Storable
dev-perl/TermReadKey
virtual/perl-Test-Simple
dev-perl/Text-Glob
virtual/perl-Text-Tabs+Wrap
virtual/perl-Time-HiRes
dev-perl/URI
dev-perl/XML-Simple
dev-perl/libwww-perl
dev-perl/YAML
virtual/perl-version
"
BDEPEND="
${RDEPEND}
>=virtual/perl-CPAN-Meta-Requirements-2.120.620
>=virtual/perl-ExtUtils-MakeMaker-7.110.100
>=dev-perl/File-ShareDir-Install-0.60.0
virtual/perl-Module-Metadata
test? (
virtual/perl-File-Temp
dev-perl/Test-Deep
dev-perl/Test-Output
dev-perl/Test-UseAllModules
virtual/perl-autodie
)
"
[[ ${PV} == 9999 ]] && BDEPEND+=" ${DZIL_DEPENDS}"
src_unpack() {
if [[ $PV == 9999 ]]; then
"${VCS_ECLASS}"_src_unpack
mkdir -p "${S}" || die "Can't make ${S}"
else
default
fi
}
dzil_src_prep() {
einfo "Patching dist.ini"
# This block of sed invocations removes all plugins that aren't
# useful for users to have on Gentoo, because all of them are
# conditional and subjective style checks, which don't indicate
# a real issue for users, and paying the price of their dependencies is undesired.
# The {N;d} trick adds the [n]ext line after the match to the pattern-space
# so that the final [d]elete deletes the next line too. Can be expanded for each
# line, ie: {N;N;N;d} deletes 3 lines after the match as well as the match.
sed -e '/^\[Test::Kwalitee\]/d' \
-e '/^\[Test::Perl::Critic\]/d' \
-e '/^\[PodSyntaxTests\]/d' \
-e '/^Test::Kwalitee =/d' \
-e '/^Test::PerlTidy =/d' \
-e '/^Test::Pod =/d' \
-e '/^\[Test::CPAN::Changes\]/{N;d}' \
-e '/^\[OptionalFeature/,/^$/d' \
-e '/^\[Test::MinimumVersion\]/{N;d}' \
-i dist.ini || die "Can't patch dist.ini"
}
dzil_env_setup() {
# NextRelease noise :(
mkdir -p ~/.dzil/
local user="$(whoami)"
local host="$(hostname)"
printf '[%%User]\nname = %s\nemail = %s' "${user}" "${user}@${host}" >> ~/.dzil/config.ini
}
dzil_to_distdir() {
local dzil_root dest has_missing modname dzil_version
dzil_root="$1"
dest="$2"
cd "${dzil_root}" || die "Can't enter git workdir '${dzil_root}'";
dzil_src_prep
dzil_env_setup
dzil_version="$(dzil version)" || die "Error invoking 'dzil version'"
einfo "Generating CPAN dist with ${dzil_version}"
has_missing=""
einfo "Checking dzil authordeps"
while IFS= read -d $'\n' -r modname; do
if [[ -z "${has_missing}" ]]; then
has_missing=1
eerror "'dzil authordeps' indicates missing build dependencies"
eerror "These will prevent building, please report a bug"
eerror "Missing:"
fi
eerror " ${modname}"
done < <( dzil authordeps --missing --versions )
[[ -z "${has_missing}" ]] || die "Satisfy all missing authordeps first"
einfo "Checking dzil build deps"
while IFS= read -d $'\n' -r modname; do
if [[ -z "${has_missing}" ]]; then
has_missing=1
ewarn "'dzil listdeps' indicates missing build dependencies"
ewarn "These may prevent building, please report a bug if they do"
ewarn "Missing:"
fi
ewarn " ${modname}"
done < <( dzil listdeps --missing --versions --author )
einfo "Generating release"
dzil build --notgz --in "${dest}" || die "Unable to build CPAN dist in '${dest}'"
}
src_prepare() {
if [[ ${PV} == 9999 ]]; then
# Uses git sources in WORKDIR/rex-git
# to generate a CPAN-style tree in ${S}
# before letting perl-module.eclass do the rest
dzil_to_distdir "${EGIT_CHECKOUT_DIR}" "${S}"
fi
cd "${S}" || die "Can't enter build dir"
perl-module_src_prepare
}
src_install() {
newbashcomp "share/${PN}-tab-completion.bash" "${PN}"
insinto /usr/share/zsh/site-functions
newins "share/${PN}-tab-completion.zsh" "_${PN}"
perl-module_src_install
}

@ -23,7 +23,7 @@ inherit bash-completion-r1 perl-module ${VCS_ECLASS}
DESCRIPTION="(R)?ex, the friendly automation framework"
SLOT="0"
IUSE="test"
IUSE="minimal test"
RESTRICT="!test? ( test )"
DZIL_DEPENDS="
@ -42,14 +42,18 @@ DZIL_DEPENDS="
dev-perl/Software-License
"
RDEPEND="
!minimal? (
dev-perl/DBI
dev-perl/Expect
dev-perl/IPC-Shareable
dev-perl/XML-LibXML
)
virtual/perl-Carp
virtual/perl-Data-Dumper
dev-perl/Data-Validate-IP
dev-perl/DBI
dev-perl/Devel-Caller
dev-perl/Digest-HMAC
virtual/perl-Digest-MD5
dev-perl/Expect
virtual/perl-Exporter
virtual/perl-File-Spec
dev-perl/HTTP-Message
@ -57,7 +61,6 @@ RDEPEND="
virtual/perl-IO
dev-perl/IO-String
dev-perl/IO-Tty
dev-perl/IPC-Shareable
dev-perl/JSON-MaybeXS
dev-perl/List-MoreUtils
virtual/perl-MIME-Base64
@ -74,7 +77,6 @@ RDEPEND="
virtual/perl-Text-Tabs+Wrap
virtual/perl-Time-HiRes
dev-perl/URI
dev-perl/XML-LibXML
dev-perl/XML-Simple
dev-perl/libwww-perl
dev-perl/YAML
@ -83,12 +85,15 @@ RDEPEND="
BDEPEND="
${RDEPEND}
>=virtual/perl-CPAN-Meta-Requirements-2.120.620
>=virtual/perl-ExtUtils-MakeMaker-7.110.100
>=dev-perl/File-ShareDir-Install-0.60.0
virtual/perl-Module-Metadata
test? (
virtual/perl-File-Temp
dev-perl/Test-Deep
>=dev-perl/Test-UseAllModules-0.150.0
dev-perl/Test-Output
dev-perl/Test-UseAllModules
virtual/perl-autodie
)
"
@ -122,6 +127,7 @@ dzil_src_prep() {
-e '/^Test::PerlTidy =/d' \
-e '/^Test::Pod =/d' \
-e '/^\[Test::CPAN::Changes\]/{N;d}' \
-e '/^\[OptionalFeature/,/^$/d' \
-e '/^\[Test::MinimumVersion\]/{N;d}' \
-i dist.ini || die "Can't patch dist.ini"
}

Binary file not shown.

@ -1,3 +0,0 @@
DIST ghc-mod-5.4.0.0.tar.gz 132546 BLAKE2B 6670df6b271527ee2a69c74b0522b94e78e799b62d260ca744a382312c815e904d516345c6258be0d9aa82f91866126b95cc4682bc1925616078ffef1a559905 SHA512 fabcc5ce2fb9e8790043faae2d42b3714fab96da1409d7f1c4736f332c6b74c76724dce253456fd787526d125cfaa1fe48c4725a0da16aabb35d5edf560f2415
DIST ghc-mod-5.5.0.0.tar.gz 150774 BLAKE2B 87d2be174200f05da0f38a2947c4404c0b25ce77a03d3b456f8cde769e978bbe6fad6e2c04d1af61e05d61fb941c139c297baaeb4835c02390516a88bebbf539 SHA512 006f292394fc24766a2ae2c778635697a63e1b48ef96052af66dc35d1ef30eb600760cd2a517011a7a2b027a0c725ceb3b5e37cfe157741ba97f19068f1264e8
DIST ghc-mod-5.7.0.0.tar.gz 146797 BLAKE2B b5d684dbb505001bfc061473cd62d00491bfe8ca5710cb69c72cb2544838a9a3b7d88d414be8123f9edf82cf96773f49439912a98efec843c167334d31caeaf8 SHA512 843cd0546c0a0cdf30dd9cde5e9148dabf391648bae6d7f2852c83a4cd5b8329f30d0cc578ba6afda02e8885b2ed63c7def4885e0dbaac199d311e476a0cc6e3

@ -1,3 +0,0 @@
;;; ghc-mod site-lisp configuration
(add-to-list 'load-path "@SITELISP@")

@ -1,5 +0,0 @@
--- a/ghc-mod.cabal
+++ b/ghc-mod.cabal
@@ -29,2 +29,0 @@
-Data-Files: elisp/Makefile
- elisp/*.el

@ -1,95 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
# ebuild generated by hackport 0.4.6
CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
inherit elisp-common haskell-cabal
DESCRIPTION="Happy Haskell Programming"
HOMEPAGE="http://www.mew.org/~kazu/proj/ghc-mod/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="emacs"
RESTRICT=test # doctests break on modules collisions: temporary / temporary-rc
RDEPEND="dev-haskell/async:=[profile?]
>=dev-haskell/cabal-helper-0.6.0.0:=[profile?] <dev-haskell/cabal-helper-0.7:=[profile?]
>=dev-haskell/cereal-0.4:=[profile?]
dev-haskell/convertible:=[profile?]
>=dev-haskell/djinn-ghc-0.0.2.2:=[profile?]
>=dev-haskell/extra-1.4:2=[profile?] <dev-haskell/extra-1.5:2=[profile?]
>=dev-haskell/fclabels-2.0:=[profile?] <dev-haskell/fclabels-2.1:=[profile?]
dev-haskell/ghc-paths:=[profile?]
dev-haskell/ghc-syb-utils:=[profile?]
dev-haskell/haskell-src-exts:=[profile?]
>=dev-haskell/hlint-1.8.61:=[profile?]
>=dev-haskell/monad-control-1:=[profile?]
>=dev-haskell/monad-journal-0.4:=[profile?]
>=dev-haskell/mtl-2.0:=[profile?]
dev-haskell/old-time:=[profile?]
>=dev-haskell/pipes-4.1:=[profile?] <dev-haskell/pipes-4.2:=[profile?]
dev-haskell/random:=[profile?]
dev-haskell/split:=[profile?]
dev-haskell/syb:=[profile?]
dev-haskell/temporary:=[profile?]
dev-haskell/text:=[profile?]
dev-haskell/transformers:=[profile?]
dev-haskell/transformers-base:=[profile?]
>=dev-lang/ghc-7.4.1:=
emacs? ( >=app-editors/emacs-23.1:* )
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.14
test? ( >=dev-haskell/doctest-0.9.3
dev-haskell/executable-path
>=dev-haskell/hspec-2.0.0 )
"
SITEFILE=50${PN}-gentoo.el
src_prepare() {
epatch "${FILESDIR}"/${PN}-5.6.0.0-gentoo.patch
}
src_compile() {
haskell-cabal_src_compile
if use emacs ; then
pushd elisp
elisp-compile *.el
popd
fi
}
src_install() {
haskell-cabal_src_install
if use emacs ; then
pushd "${S}"
elisp-install ghc-mod elisp/*.{el,elc}
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
popd
fi
}
pkg_postinst() {
if use emacs ; then
elisp-site-regen
elog "To configure ghc-mod either add this line to ~/.emacs:"
elog "(autoload 'ghc-init \"ghc\" nil t)"
elog "and either this line:"
elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init)))"
elog "or if you wish to use flymake:"
elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init) (flymake-mode)))"
fi
}
pkg_postrm() {
if use emacs ; then
elisp-site-regen
fi
}

@ -1,97 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
# ebuild generated by hackport 0.4.6
CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
inherit elisp-common haskell-cabal
DESCRIPTION="Happy Haskell Programming"
HOMEPAGE="http://www.mew.org/~kazu/proj/ghc-mod/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="emacs"
RESTRICT=test # doctests break on modules collisions: temporary / temporary-rc
RDEPEND=">=dev-haskell/binary-0.5.1.0:=[profile?] <dev-haskell/binary-0.8:=[profile?]
>=dev-haskell/cabal-helper-0.6.3.0:=[profile?] <dev-haskell/cabal-helper-0.7:=[profile?]
dev-haskell/convertible:=[profile?]
>=dev-haskell/djinn-ghc-0.0.2.2:=[profile?] <dev-haskell/djinn-ghc-0.1:=[profile?]
>=dev-haskell/extra-1.4:2=[profile?] <dev-haskell/extra-1.5:2=[profile?]
>=dev-haskell/fclabels-2.0:=[profile?] <dev-haskell/fclabels-2.1:=[profile?]
<dev-haskell/ghc-paths-0.2:=[profile?]
<dev-haskell/ghc-syb-utils-0.3:=[profile?]
<dev-haskell/haskell-src-exts-1.18:=[profile?]
>=dev-haskell/hlint-1.8.61:=[profile?] <dev-haskell/hlint-1.10:=[profile?]
>=dev-haskell/monad-control-1.0:=[profile?] <dev-haskell/monad-control-1.1:=[profile?]
>=dev-haskell/monad-journal-0.4:=[profile?] <dev-haskell/monad-journal-0.8:=[profile?]
>=dev-haskell/mtl-2.0:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
<dev-haskell/old-time-1.2:=[profile?]
>=dev-haskell/optparse-applicative-0.11.0:=[profile?] <dev-haskell/optparse-applicative-0.13.0:=[profile?]
>=dev-haskell/pipes-4.1:=[profile?] <dev-haskell/pipes-4.2:=[profile?]
>=dev-haskell/safe-0.3.9:=[profile?] <dev-haskell/safe-0.4:=[profile?]
<dev-haskell/split-0.3:=[profile?]
<dev-haskell/syb-0.7:=[profile?]
<dev-haskell/temporary-1.3:=[profile?]
<dev-haskell/text-1.3:=[profile?]
<dev-haskell/transformers-0.5:=[profile?]
<dev-haskell/transformers-base-0.5:=[profile?]
>=dev-lang/ghc-7.4.1:=
emacs? ( >=app-editors/emacs-23.1:* )
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.14
test? ( >=dev-haskell/doctest-0.9.3
dev-haskell/executable-path
>=dev-haskell/hspec-2.0.0 )
"
SITEFILE=50${PN}-gentoo.el
src_prepare() {
epatch "${FILESDIR}"/${PN}-5.6.0.0-gentoo.patch
}
src_compile() {
haskell-cabal_src_compile
if use emacs ; then
pushd elisp
elisp-compile *.el
popd
fi
}
src_install() {
haskell-cabal_src_install
if use emacs ; then
pushd "${S}"
elisp-install ghc-mod elisp/*.{el,elc}
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
popd
fi
}
pkg_postinst() {
haskell-cabal_pkg_postinst
if use emacs ; then
elisp-site-regen
elog "To configure ghc-mod either add this line to ~/.emacs:"
elog "(autoload 'ghc-init \"ghc\" nil t)"
elog "and either this line:"
elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init)))"
elog "or if you wish to use flymake:"
elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init) (flymake-mode)))"
fi
}
pkg_postrm() {
haskell-cabal_pkg_postrm
if use emacs ; then
elisp-site-regen
fi
}

@ -1,92 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# ebuild generated by hackport 0.5.1.9999
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit elisp-common haskell-cabal
DESCRIPTION="Happy Haskell Programming"
HOMEPAGE="http://www.mew.org/~kazu/proj/ghc-mod/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="emacs"
RESTRICT=test # doctests break on modules collisions: temporary / temporary-rc
RDEPEND=">=dev-haskell/cabal-helper-0.7.3.0:=[profile?] <dev-haskell/cabal-helper-0.8:=[profile?]
>=dev-haskell/djinn-ghc-0.0.2.2:=[profile?] <dev-haskell/djinn-ghc-0.1:=[profile?]
>=dev-haskell/extra-1.4.0:=[profile?] <dev-haskell/extra-1.6:=[profile?]
>=dev-haskell/fclabels-2.0:=[profile?] <dev-haskell/fclabels-2.1:=[profile?]
>=dev-haskell/ghc-paths-0.1.0.9:=[profile?] <dev-haskell/ghc-paths-0.2:=[profile?]
>=dev-haskell/ghc-syb-utils-0.2.3:=[profile?] <dev-haskell/ghc-syb-utils-0.3:=[profile?]
>=dev-haskell/haskell-src-exts-1.16.0.1:=[profile?] <dev-haskell/haskell-src-exts-1.19:=[profile?]
>=dev-haskell/hlint-1.9.27:=[profile?] <dev-haskell/hlint-1.10:=[profile?]
>=dev-haskell/monad-control-1:=[profile?] <dev-haskell/monad-control-1.1:=[profile?]
>=dev-haskell/monad-journal-0.4:=[profile?] <dev-haskell/monad-journal-0.8:=[profile?]
>=dev-haskell/mtl-2.0:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
<dev-haskell/old-time-1.2:=[profile?]
>=dev-haskell/optparse-applicative-0.11.0:=[profile?] <dev-haskell/optparse-applicative-0.14.0:=[profile?]
>=dev-haskell/pipes-4.1.0:=[profile?] <dev-haskell/pipes-4.4:=[profile?]
>=dev-haskell/safe-0.3.9:=[profile?] <dev-haskell/safe-0.4:=[profile?]
>=dev-haskell/semigroups-0.10.0:=[profile?] <dev-haskell/semigroups-0.19:=[profile?]
>=dev-haskell/split-0.2.2:=[profile?] <dev-haskell/split-0.3:=[profile?]
>=dev-haskell/syb-0.5.1:=[profile?] <dev-haskell/syb-0.7:=[profile?]
>=dev-haskell/temporary-1.2.0.3:=[profile?] <dev-haskell/temporary-1.3:=[profile?]
>=dev-haskell/text-1.2.1.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
>=dev-haskell/transformers-base-0.4.4:=[profile?] <dev-haskell/transformers-base-0.5:=[profile?]
>=dev-lang/ghc-7.8.2:=
emacs? ( >=app-editors/emacs-23.1:* )
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.18.1.3 <dev-haskell/cabal-1.25
test? ( >=dev-haskell/doctest-0.9.3 <dev-haskell/doctest-0.12
>=dev-haskell/hspec-2.0.0 <dev-haskell/hspec-2.4 )
"
SITEFILE=50${PN}-gentoo.el
PATCHES=("${FILESDIR}"/${PN}-5.6.0.0-gentoo.patch)
src_compile() {
haskell-cabal_src_compile
if use emacs ; then
pushd elisp
elisp-compile *.el
popd
fi
}
src_install() {
haskell-cabal_src_install
if use emacs ; then
pushd "${S}"
elisp-install ghc-mod elisp/*.{el,elc}
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
popd
fi
}
pkg_postinst() {
haskell-cabal_pkg_postinst
if use emacs ; then
elisp-site-regen
elog "To configure ghc-mod either add this line to ~/.emacs:"
elog "(autoload 'ghc-init \"ghc\" nil t)"
elog "and either this line:"
elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init)))"
elog "or if you wish to use flymake:"
elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init) (flymake-mode)))"
fi
}
pkg_postrm() {
haskell-cabal_pkg_postrm
if use emacs ; then
elisp-site-regen
fi
}

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
<maintainer type="project">
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
</maintainer>
<longdescription>
This packages includes Elisp files and a Haskell command, "ghc-mod".
"ghc*.el" enable completion of Haskell symbols on Emacs. Flymake is
also integrated. "ghc-mod" is a backend of "ghc*.el". It lists up
all installed modules or extracts names of functions, classes, and
data declarations.
</longdescription>
<stabilize-allarches/>
</pkgmetadata>

Binary file not shown.

@ -1,7 +1,3 @@
DIST VBoxGuestAdditions_5.2.40.iso 49770496 BLAKE2B 4d9ca6cde78da325575f56f0b12d7beccfd09a564b98c808495ac8425f47bd0ce1b86a5cfb79c30256b36b109032013a0677ff07c45808324ca3b85efe5b7f51 SHA512 a2ea5539de454bb062dffa0b61ac4962c8932539ab0cdaae98f7703528c201bc856b0597b92c20e83fab5b97981be3811061386022ca3687d8c102983e05ec7b
DIST VBoxGuestAdditions_5.2.42.iso 49833984 BLAKE2B cd9d32db3d6bf54375c95fb7729e19f07348c8111aa3cda73e0512f8b036e0b0a550352d0acebf2e6ee7e5379a5d9711f56607a73bbf31fcaa8296a49d8a49e8 SHA512 eea1d5c6f3dfb42a4b8f916279eb2c426925e20de517d7011c3f41c115d9fbf098fb6988fcc9f192e68f15094f44fd811128e5f42dffe33934c67b1b42e025bb
DIST VBoxGuestAdditions_5.2.44.iso 49829888 BLAKE2B c86660b5a00692c22dea8a02480c5de4b7df5f6bef81a16d78b2fdcd4cef1fa7bcc9fae9884c209d16f36b5c49718d53ec1f6e4073a0a7d90d33bea32f972f2a SHA512 6bec3b5b31c962bdc3d1321ed276898600ab494d41ec5dbb6d82cbbab1dbafc1331c146d33266d428355d9767bab1e220e8c2299f8011feb8bf8744420e64ade
DIST VBoxGuestAdditions_6.0.22.iso 77352960 BLAKE2B e71447a3e6efbc4b921276d212ae3b9314184240219e5d8dc7cfd8684c9f944cfa65895fcebe72a45a332ed60ea6c9e47cafde142119a86f46bf1781679b1409 SHA512 04e16b11e64087fee2ae440fe523db4a546b5706ba517af15349e2acb5706af717105af29b6655ab84ddffc7370a7fce7cc0945069c6c9e59f4dcfc61baef0dd
DIST VBoxGuestAdditions_6.0.24.iso 77355008 BLAKE2B 3bb611323ba41ad94a75d5d28198aaf732bd7c36965abc65755c0ffeec29bd378cf4351b838675667958086e499f5791b942a8e3877c1ed815a22c4d564147a1 SHA512 aea64aff216a0cfa3535d2215ec74dd46243f9aba0c1b95f476bb8f0b3d561994f4fc8cc7d454f03482e1cec9a227014f10045e75756767bd8006e8beb9aaade
DIST VBoxGuestAdditions_6.1.10.iso 60448768 BLAKE2B 99841d7a516ea18d6138c9ff39801c8bcf85eb2dd5bf163d441933362275c96b21ca5f5147979dafa1be26c98f7e2ec2af2666089da0d09004baab4d80f33e95 SHA512 fe16ccc8d9e7bdb56fb464864795b7ca9d59ae6aadbd8ef80bc1b2e36267158bfc04fd5a8e4a0999112a6b1d8818b1cf1eaf2cbd0a1d8341c6fd5808c245df3b
DIST VBoxGuestAdditions_6.1.12.iso 60626944 BLAKE2B cb16f72f9c010e7e97e6ae5d86d02c81bbae2593fd502a3e6d911e794fa15254b631e37587f7ba636686e8897fe27a05f8dee58870200cbb50e2fbbe57142cc3 SHA512 dd0a7705477620205529090e37965a09906e864d3d293405414ba09c951c33d9586ac6f5e1f35e35ece1e2bae0919cc7740b21e302f9c5e2160e5458168372c0
DIST VBoxGuestAdditions_6.1.14.iso 60981248 BLAKE2B df4e6159e4f0f1b7bb1a92dfbfdadc30aaa6499f5cb4bf80c783e9ef26dfc2d07f9198c3b20677064d1533ecb9a58100da52975478396bbec918268a7ad14e5d SHA512 51c9e128626bf1a02b4467c85829fa694dc46a469852e4effb768fdb56d1a61e28488a887920c7a8e51128370664ca50c883c590297d8c5182980fc2c176c187

@ -1,33 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,33 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,33 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,34 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,24 +1,6 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.42-137960.tar.gz 26740542 BLAKE2B 0246148d436c163eab0363b6b5ed05ec43f2ce9a1124ef504cdf9f30e0bdd479567225f013d2fa2ef39bae0af18e60ef4996d37f65552cca74d8fc76d2976f40 SHA512 0f3a963abf99599094d6bff9617d401338209ce6dba08285a006e17a68b927cd19ea5e17151afc5466c9e00df1fe75ca01fdc5d11a45be5a9d7d4e7649916fc6
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.44-139111.tar.gz 26740456 BLAKE2B dfec5893d0cf194bfe277c834e8477a0a3c91c5e8426b14155e8c5e34e949130d1402ee823bb698a3025834d196608d82b54df240ba1adbd8d8bc2967608f9a9 SHA512 f3a09b906df41c1de008ac7abe80cde9076a24a3175e9ac84101b95ccabeb9b374660b6d23b131ad27ed9038b4916201b0166d98e0c18e346af4132bc44000c9
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.22-137980.tar.gz 23238402 BLAKE2B ea7105747fe776475ae66bf99354017c7a3e33343bb044722ccf5245daefa33581e2092fd04e03e9916b1150a7b46eb691ef4faaf28ecedb82a8e5c66b02a22f SHA512 c45cad50fbb521307fed127499955c261416fbc6958e87770238ef45865caefdd61837db17d61e57ef030a712f53ec1f452b89849fa5f7881f3cd62d481185eb
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.24-139119.tar.gz 23238486 BLAKE2B cad4e6822b51db05fb0b919f4c44ace1743a9d2b5ebcc0da6fe3c9ec43612ec6079614f5d3a9423c320e65b5438089aeef42f331946eb74093e3f8b1ef137300 SHA512 4be76fffb8508dda561e74daf68c71641a0903e554ecdf6b102f3fe35af03883bc88c2ac3cbdae2b3ddfb7ee5c9bdfa8df670662eef139f2a894dea4aa6f2e18
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.10-138449.tar.gz 10999054 BLAKE2B cf802b561882541399baff74c2d75b33aa70bf8f909b616bbddcde0d98b41927f65ec5ac25e5d89598ae931c1c3c9fe7cc9cba17cb52b87b8d7f46ef935a376b SHA512 9cea8f8547eb4e90df1ec43ee4d2bf4be17f6ec8dd62013589f23019a30e0dd15e37945dca67790628d3f49d6103cf1dc9c53344589d2ce785fef8acf7c81cb9
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.12-139181.tar.gz 11141691 BLAKE2B ac4cae428d15fa503b47337c5d2bab3e21197b82192fa2009216e438d06b867b17a62890c7525d232919751a5eec770f0ecd835c93aa3e67bcbf13b94d8d5344 SHA512 2abc9f6aaadfd6b0bb65df7eb9c45155ea2ec0d215aedd7589a76753b7323fef47c4799322ed973ef92baf1d64835dc813a235001be2cf4e166e474d5b6e2afc
DIST VirtualBox-5.2.40-137108-Linux_amd64.run 83865043 BLAKE2B d44f3ee6b05446fbe36b5672ec00d2ffcf5b8592ebfdfc6d091dd1bf92d821644976bad55ca390ad834d274dbe738341457888fb78030de9ddadd680362c4b11 SHA512 1f068f776ef65ed930eed0ecc6304a374ea36339c21dfc7b41a61b6e82d61f5c8de13f4b93f19500f9eccbe9e3d0f1a816c46b7b7b4d5ed195ce1ddc45c57e7f
DIST VirtualBox-5.2.40-137108-Linux_x86.run 82994639 BLAKE2B 4f90a72d5d8952ae05bff9c50262e377c0ffbc134741eddc0aa6dccd9a575de746bcdcf0e0fc2db8f5ee36e730bcf814e0fd1291a739dd33260be7219f11c44a SHA512 580f8a6c7a1fe04132789b60ce4cb4db39f980590731e18b9c2cd7727d59efdd5250fbe80704a4542f8876d8fdc89cc048b669259e8170a28350157901bc14c4
DIST VirtualBox-5.2.42-137960-Linux_amd64.run 83926483 BLAKE2B b57d50604a8d867cc8b508d3448dcd835415f669759e1e8a947e30e2cf0392a87e16560c0f4d970c6afbe593b874ff463f5407c14e6e15a3429d67fb9ba7c956 SHA512 29a870f35d783dd4e079d2d44f33154f9a990ab1639a0b0427a7721c4a98625490d978db51655de6961bc0d89aabbff0804cd1744014952b4207c411945c3f6e
DIST VirtualBox-5.2.42-137960-Linux_x86.run 83056078 BLAKE2B ad58f0693eb0d936833ad09b213707ed0bc66e2705d2f9f407e21b0681cd0d7f1fe062323f61e84e1f0bd0c88b9c0860fdfa2ea6085ac6c6e57ed2f7b5631bfb SHA512 16e2d4383a4ae0f86180222e14912fed25675290bcd8815a3c310cd8fad28081799b6d743d88197ebe78076612462bca0774c54fc8837cca03606ae87067f3d6
DIST VirtualBox-5.2.44-139111-Linux_amd64.run 83936723 BLAKE2B ec1edb5f173adc0108f6abde97ae7941ecdd1dae55a9df9a93bf53f52ee7e97e7fdbd82b330ea405a5a8e0fccd4c4f5bdc05e8f12cc21fe5686581f6d95e84e8 SHA512 fa604b3af4e6654fee49fe0f4bb7733a5a2fa753a18c0ec1698ee0bf82ef2cc096ea081da7f65cca33a76b658f7151da3347a35763edb059ec5e2f078c779008
DIST VirtualBox-5.2.44-139111-Linux_x86.run 83066319 BLAKE2B 1a8f27d1066c9e33adbea4868c1a7ab88326b6556a006ba558e7eca51c1aca1d353b671ba334b919b77bee996f0bce83f4664b13d6d46e64f078bf897aa656a3 SHA512 dbd2c019b43376651fd64bda15787f429ea13d16ae4314863603c0c8fb4e6c01337fbe54fc108c512b7d1b00a0975d652fb14713f239060191bb64af900c5d34
DIST VirtualBox-6.0.22-137980-Linux_amd64.run 127405529 BLAKE2B 0f27d84c2e30ed6956921db3aa611ea2a959d11a20051a5c633560f2ab42d2b100ce3c886439226f6634461de6ccfcd564f194257c88b581d75422007ccb771c SHA512 a7d454112580639866c40506d3718d841600338dc33937382e16a52e7baf624fef7efcc98481eaa8633d32d11e74a37d23e5282bb22415e94790decc51a58dd2
DIST VirtualBox-6.0.24-139119-Linux_amd64.run 127354329 BLAKE2B cad5a93e3586168535eb9e25969e90183dfed3a293e6b2e36449198b8713cd34f006083403b4c721be3670beabb5f8bc0362db3662cf268d54e95c492b965b5d SHA512 5ec11bb5303eacd948b457ba29f74039a438f99264294dcada602a99ec44f0f8a5ad45ea3334f90f10fa5ff946d659cac4a74487e0f4aa7e79fd9a196b1fc159
DIST VirtualBox-6.1.10-138449-Linux_amd64.run 111513049 BLAKE2B e97393873dc270fb7acf130aa8632ee12fc8c14b9f678cbe20bf9dc1c095aaccfbd0ed1c64dd4dfd9243b10728d9feb84d3dc283365e5dd736d300ce8d72a411 SHA512 a1df1805b056d6abe26782d2f7b98668a929282c4a3f25062da3cb806c709a0a93b3d3c6f6a9a8c5140882ff2f5b11a6226c8917776dcf7ad256b82144f2bed9
DIST VirtualBox-6.1.12-139181-Linux_amd64.run 111584728 BLAKE2B 48dd72975032e689481b333a1f255677afe3b750ac5d6c7df40780619968e721d54226aaeaf1d2f114968c379c1e0dcb3c15a24bfe01e2c7e0f48a6dd316e8ef SHA512 ad8984fa5c6c9433b5989ccbc4f6119202fb1befa35f8f5f0bd9a1d34a94e3f088d7c558b934ee49eb4b4ef2a6c877404c11e8026892c3e0dc1beeb2ca462264
DIST VirtualBoxSDK-5.2.40-137108.zip 10201020 BLAKE2B db4a2fd69fdc3ab4201c086c15f14144dd1f75e87d13c4493aaeaf2b69e06a599623416e17a3715c9836b7b7bf36aaba34c06e27ddd70900ca6c5fdd43e311e1 SHA512 15bf89ca622396a5b2f66fb42762959548e8d0b2e0bd3b63223bcccff449f5c094af0315deecae167e105276915fb6b2e61a1f71465be4e85b52a58e313a2830
DIST VirtualBoxSDK-5.2.42-137960.zip 10203875 BLAKE2B 8979e023679daa17eda97037b8e5f40250c7dd34f2caad2b4ac0f7680c90418da050ce866a3099f20969932b559527accdabe20eb0b5593cbe8acacebd873d1d SHA512 70ff706c50937dcad9dbc3554b5dd88f2d8b674221fbe08e2124055c0a07f1c1ca00342cb5dcdb64e38583e3bb68bf9ecc7eaf5e88e381f205ffb3a4eaa64487
DIST VirtualBoxSDK-5.2.44-139111.zip 10202240 BLAKE2B ca6ffb315fca369874a327da141d9c8eb28a58ccf8b44577ed879d25e5d5c0606c9a15af95ee935e0e8aff6063d93e7ecd2aad37733c5fb1cec7db4bf35df4b6 SHA512 8c64b28f8ba7c758c2c5d699e3a0276a5ce3bd1b740b3120c283f0048a00c587bf47376714cd7ada1b96dc35f9565ce7effc7aa0b5a1caa8e82e548f03bbc057
DIST VirtualBoxSDK-6.0.22-137980.zip 10804146 BLAKE2B f1a4ce9ef767343146d5f01bd75dbc9409e1ee4a8e3a73cb0546679421c2c013f24405c5353ded3bc34af477892d39205ca0e43a36b79bd1b884d59ef3ae7969 SHA512 5693c4b773c0ed3d3a502b8347129d3ec464da021cf904b7ae252db787cce93d7633cc4d8679da168d90239a03ae66de959e237765eeb56d9f4b17c74def7c50
DIST VirtualBoxSDK-6.0.24-139119.zip 10804800 BLAKE2B d8adad44be45384b1f48f6eb09ccb7894021d0c12332e1d0fc5b175691495430b9d8929ee76d83c8e924b7845b8601e465f23d8101b3d3378c4856b09df92f01 SHA512 709d8c77144ef55acf42330c1b87e1bc3bd940b97639a1e9256d833ea4a09c9051a236d793ecd2c064d9353f70871b68b80dd1c31a4ed6cd3c690d76101dffe9
DIST VirtualBoxSDK-6.1.10-138449.zip 11178059 BLAKE2B 6eddb1ea9110d8d96506dc1be048aabdb77993b3bed0407f0cb9976c99f21d66065d9e622dbc78a812a4ad30e285073798e57187f27126c6c70dc9b20db1b724 SHA512 21d453d5932ad93c4d6509a2b97c61edcbc64f89ccfeed2af8392031c41168724842a346f4b61e86d520567e8c04a5a09d43ed7a112d6abee35784ad6a2bdef9
DIST VirtualBoxSDK-6.1.12-139181.zip 11203140 BLAKE2B 15e27959fd26e4d15f1500fe6733a2ff862b87943fa86f57cb4cbd18e34fdf5e9c8c7475885f81f2440e8cc1a412a0fa1865063347a8c462f3f7d282361cb8cd SHA512 f848cefc27cf9cbf3118881db3ff71bd9b54e8727052a49d93c9017e702caeb7c3bf008e0017bd04c27a8f7202d3a36161393b8dc2cbea5aaa4299264223ed56

@ -1,287 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
fperms 4750 /opt/VirtualBox/VBoxNetNAT
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} VirtualBox; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,287 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
fperms 4750 /opt/VirtualBox/VBoxNetNAT
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} VirtualBox; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,287 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
fperms 4750 /opt/VirtualBox/VBoxNetNAT
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} VirtualBox; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,292 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
KEYWORDS="~amd64" #~x86
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
#x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
LICENSE="GPL-2 PUEL"
SLOT="0"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
acct-group/vboxusers
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

@ -1,292 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
KEYWORDS="~amd64" #~x86
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
#x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
LICENSE="GPL-2 PUEL"
SLOT="0"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
acct-group/vboxusers
~app-emulation/virtualbox-modules-${MY_PV,,}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

@ -1,7 +1,3 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.42-137960.tar.gz 26740542 BLAKE2B 0246148d436c163eab0363b6b5ed05ec43f2ce9a1124ef504cdf9f30e0bdd479567225f013d2fa2ef39bae0af18e60ef4996d37f65552cca74d8fc76d2976f40 SHA512 0f3a963abf99599094d6bff9617d401338209ce6dba08285a006e17a68b927cd19ea5e17151afc5466c9e00df1fe75ca01fdc5d11a45be5a9d7d4e7649916fc6
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.44-139111.tar.gz 26740456 BLAKE2B dfec5893d0cf194bfe277c834e8477a0a3c91c5e8426b14155e8c5e34e949130d1402ee823bb698a3025834d196608d82b54df240ba1adbd8d8bc2967608f9a9 SHA512 f3a09b906df41c1de008ac7abe80cde9076a24a3175e9ac84101b95ccabeb9b374660b6d23b131ad27ed9038b4916201b0166d98e0c18e346af4132bc44000c9
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.22-137980.tar.gz 23238402 BLAKE2B ea7105747fe776475ae66bf99354017c7a3e33343bb044722ccf5245daefa33581e2092fd04e03e9916b1150a7b46eb691ef4faaf28ecedb82a8e5c66b02a22f SHA512 c45cad50fbb521307fed127499955c261416fbc6958e87770238ef45865caefdd61837db17d61e57ef030a712f53ec1f452b89849fa5f7881f3cd62d481185eb
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.24-139119.tar.gz 23238486 BLAKE2B cad4e6822b51db05fb0b919f4c44ace1743a9d2b5ebcc0da6fe3c9ec43612ec6079614f5d3a9423c320e65b5438089aeef42f331946eb74093e3f8b1ef137300 SHA512 4be76fffb8508dda561e74daf68c71641a0903e554ecdf6b102f3fe35af03883bc88c2ac3cbdae2b3ddfb7ee5c9bdfa8df670662eef139f2a894dea4aa6f2e18
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.10-138449.tar.gz 10999054 BLAKE2B cf802b561882541399baff74c2d75b33aa70bf8f909b616bbddcde0d98b41927f65ec5ac25e5d89598ae931c1c3c9fe7cc9cba17cb52b87b8d7f46ef935a376b SHA512 9cea8f8547eb4e90df1ec43ee4d2bf4be17f6ec8dd62013589f23019a30e0dd15e37945dca67790628d3f49d6103cf1dc9c53344589d2ce785fef8acf7c81cb9
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.12-139181.tar.gz 11141691 BLAKE2B ac4cae428d15fa503b47337c5d2bab3e21197b82192fa2009216e438d06b867b17a62890c7525d232919751a5eec770f0ecd835c93aa3e67bcbf13b94d8d5344 SHA512 2abc9f6aaadfd6b0bb65df7eb9c45155ea2ec0d215aedd7589a76753b7323fef47c4799322ed973ef92baf1d64835dc813a235001be2cf4e166e474d5b6e2afc
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.14-140239.tar.gz 11145475 BLAKE2B fe64288068cfeb17da5b7583b5218de74dade2f3a994ef46e43bf7811cfeabae3d48f6bb200882892205d5a10294c38296e51e31c900af4cffd402030a85e3b3 SHA512 436ed94cec32365b9b19fe170323519543d18fcdad28eac09438c2238d68e452b25a415d69f244fd26b4c117fc5e2b33c8bd2fb63b31805f62ed9d59500eb304

@ -1,42 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL-10"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -1,42 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -1,42 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -1,43 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -30,7 +30,7 @@ KEYWORDS="~amd64"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
RDEPEND="=app-emulation/virtualbox-${DEP_PV}*"
S="${WORKDIR}"

@ -1,13 +1,5 @@
DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18
DIST VirtualBox-5.2.42.tar.bz2 124013981 BLAKE2B e22c80861727b14175db6eb476e78ad620e35cdfd480e83331306bbc251e1cf6d21a3dba15b0db1c516c530f0a58dca7d9c70748c8b194a2cf5fe7dfc9c0b80c SHA512 d396d34c0cbc652ad66b7c0e5b8bf206f29e751612543173f01f498f16e113ace0da64e674cd398c1fc0309f46ff99823c8b1000ffc8a7a453bcf8646af2900a
DIST VirtualBox-5.2.44.tar.bz2 124016934 BLAKE2B da75f107a16d28663a491846a730541b406b68b34962c5ac8bbaee5c05558a2ca1a80ebe67b993bad95b0df5ea5f599e33d037d566e03427dff7e02769ac14d6 SHA512 329b5f8bc4902214d740b2089731c41d1185e76621a5438045e13d03dae739f902fb159b70cb22d1fecbecdf5c2b516ef49ad426cdc606a018e65713dec4ed26
DIST VirtualBox-6.0.22.tar.bz2 159831666 BLAKE2B 7c8878aec9ce1d5caf44677fa64119f0c0e99a111780a68c93702ff6681c48760d9622e91260b92096ca881fdf715bcb382e6eb2112b82567232b0014f1d975d SHA512 83aa7469e99abbe2d9da99102fb4e15bc5347bae06fe954f82d07eaaeccded1d92cf56b01c238c6cbc2b611fcb30e5dd6af91444278c166529c5b8972acdb657
DIST VirtualBox-6.0.24.tar.bz2 159833756 BLAKE2B 321f7988a5b55a794e2d51937a0752d96eaefb376c12e2fb23be08dff81b164153e19a7d5963a0404f630fb38d6047b9d954a67923f26b2aa16d861a0c6a1b63 SHA512 e6f98d0036cdebc52c78c5ddbce369d9ef0a036c366647b299060e1ccf6942f6b6f899201dfa08c410a039f353b767a41a0d14579c741dc5c034a035cb16c534
DIST VirtualBox-6.1.10.tar.bz2 164989732 BLAKE2B 0f6d681462245dec10f651c1fac9e7ff5ee1e361d86cb764d84df46a4a51a0e413f8b1ab233e34af53fa3fda14ca17542e4d5c148e857548e03ff80ad2af22ee SHA512 729840d669281ed3ba2936923a50410e52bcec3fcfd5b6b740d5991aa1c25c2a8f5a5a05b4e3e39ef1a271ab3431d4c4f4b3a1262703d1e281d7111f0d4e8a3b
DIST VirtualBox-6.1.12a.tar.bz2 165246721 BLAKE2B e9ee7c10d92b151ab10833c68d0c71a09419bba4dbf86f21401263a98273f5ad5cf628347215d641e80e11d8e77bafeda606822cdd4d02344490fca6b95814ef SHA512 27fe66daf7fa254d9fc4a2cca4a8bbcfbfe6c3387a9f4a740c8ac1297587b5083bccbeef97dcc4e482c4974c843450212e02415b4952eb38b82e179615741193
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
DIST virtualbox-5.2.44-patches-01.tar.xz 3608 BLAKE2B 6656f1eef7281dcd89e685cfc5403a6e7cd8d3f226d8cca8efa12c2c20339cb68b6f9b259c3de7925fc55433aa93ef7552dfe0441b9ef4a17a733282f791a62e SHA512 0f6a78e9b60b4fff71e87ba13c6a2af255a234f64e2a5f2be79aaf52146e2ab94c0e52def9096a32baf67c66e048f7ae9606a5e4010e9a1de5f31eec831ee892
DIST virtualbox-6.0.22-patches-01.tar.xz 3464 BLAKE2B 03ec3460f1f072c4f673e14a66b1f36de95f55c0c893482434049e077e0eff6d3724a8f1f6046d5ddff66675a9a39ecd2e40a6f43904bd575ba86505ed5e0ade SHA512 44875f8eda2e433bfe3b85551d3157c5b5d1740689e05c54772c78f9feba80ed08df88f99f9dd0d0f26d0912b00919e7ed5c38583a8ddc8e8e7e962d89cd2374
DIST VirtualBox-6.1.14a.tar.bz2 165962245 BLAKE2B 7f064ea58f7e4f36a0cda9badc7d16d5e95246de923ab9d179688c7f2f020625efa89c592aceec59d54f1c48934b20674594cc6a63f3f42e9fef39cfd5803027 SHA512 7bdf248b53c517923afc46998e46f63271f71ee73fa6826f367828128944895b2d672d7fc4d05f222e6d45897269fe699f7360ee1534c96450e2cc7bc14c0f13
DIST virtualbox-6.0.24-patches-01.tar.xz 3640 BLAKE2B e55c30395978471edd0f291cd34ecb772cce2f27bea88c6fe348e83046777638be9bdd36bf3a2fd1967357ea7ff53936398cd94ee74d8e55d31c1896069404ff SHA512 b8d9395083769a641a5d7f78ac734a86220fec817e3e49461208f8e72ef7d11c19fe4507e6766fe7c8c815c9888f793fd66f3fae36d6e3a217e53620b5d95029
DIST virtualbox-6.1.10-patches-01.tar.xz 2640 BLAKE2B 4aeeb596bcaf6b57a707c08211408d760092187710ce468f3e60bb7e66f22b04db4f4c58d06cea4cf7d4b69c9cfd2ebee5c2c5b8b93766097cf8c7cf9ebd8ae5 SHA512 24393d6e7cb62b65d79dc407f25fba42994d37a761c6c111ab952800715b1ee966ba4f7403a4e79fbf67035c72ef5aa3d1f203bdd69c6078894564018aa284c0
DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123

@ -1,13 +0,0 @@
# https://bugs.gentoo.org/298988
--- a/vboxguest/Makefile
+++ b/vboxguest/Makefile
@@ -104,7 +104,7 @@
MOD_DEFS = -DVBOX -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_GUEST \
-DIN_GUEST_R0 -DIN_MODULE -DRT_WITH_VBOX -DVBGL_VBOXGUEST \
- -DVBOX_WITH_HGCM
+ -DVBOX_WITH_HGCM -DLOG_USE_C99
ifeq ($(BUILD_TARGET_ARCH),amd64)
MOD_DEFS += -DRT_ARCH_AMD64
else

@ -1,229 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd user toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="X"
RDEPEND="
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_P}"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)"
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
}
src_unpack() {
unpack ${A}
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
unpack ./vbox-kmod.tar.gz
# Remove shipped binaries (kBuild,yasm), see bug #232775
cd "${S}"
rm -rf kBuild/bin tools
}
src_prepare() {
# PaX fixes (see bug #298988)
pushd "${WORKDIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-4.1.0-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
# stupid new header references...
local vboxheader mdir
for vboxheader in {product,revision,version}-generated.h ; do
for mdir in vbox{guest,sf} ; do
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
"${WORKDIR}/${mdir}/${vboxheader}"
done
done
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# 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 ${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
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_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
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 ""
}

@ -1,232 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd user toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="X"
RDEPEND="
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_P}"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/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_unpack() {
unpack ${A}
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
unpack ./vbox-kmod.tar.gz
# Remove shipped binaries (kBuild,yasm), see bug #232775
cd "${S}"
rm -rf kBuild/bin tools
}
src_prepare() {
# PaX fixes (see bug #298988)
pushd "${WORKDIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-4.1.0-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
# stupid new header references...
local vboxheader mdir
for vboxheader in {product,revision,version}-generated.h ; do
for mdir in vbox{guest,sf} ; do
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
"${WORKDIR}/${mdir}/${vboxheader}"
done
done
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" emake\
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# 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 ${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
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_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
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 ""
}

@ -1,232 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd user toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.44-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="X"
RDEPEND="
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_P}"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/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_unpack() {
unpack ${A}
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
unpack ./vbox-kmod.tar.gz
# Remove shipped binaries (kBuild,yasm), see bug #232775
cd "${S}"
rm -rf kBuild/bin tools
}
src_prepare() {
# PaX fixes (see bug #298988)
pushd "${WORKDIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-4.1.0-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
# stupid new header references...
local vboxheader mdir
for vboxheader in {product,revision,version}-generated.h ; do
for mdir in vbox{guest,sf} ; do
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
"${WORKDIR}/${mdir}/${vboxheader}"
done
done
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" emake\
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# 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 ${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
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_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
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 ""
}

@ -1,218 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.22-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${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_P}"
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 || die
eend
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
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# 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 ${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
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
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 ""
}

@ -5,13 +5,16 @@ EAPI=7
inherit linux-mod systemd toolchain-funcs
MY_PN="VirtualBox"
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
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/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.10-patches-01.tar.xz"
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"
@ -51,7 +54,7 @@ PDEPEND="
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}"
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
pkg_setup() {

@ -1,7 +1,3 @@
DIST vbox-kernel-module-src-5.2.40.tar.xz 644200 BLAKE2B 0083423831bcec17f4960747c3ae939a8b4a5d2f89d6f09ad88308b078035bc6f068314d2c74182c9bb7ea0007e9c6a5b3eaa8f48ce58330294a78f66ed3faa5 SHA512 b62359104fdd0a1fd2b506cec2e4b71fa9582f1a89088d3a45791835981e1cd2e0895861b688cfbd7306454aa66c18bcd1444b26181f084b7af69f43d3e9b499
DIST vbox-kernel-module-src-5.2.42.tar.xz 644208 BLAKE2B c96e5f6dcfb695ab04327d484e532f291a7f25b1eeaaed8394edf911fa70190317af4732b9c4e5cc7d2402bbaf0cc3dba3cf474968ab67bbbc18cfc23baa88c5 SHA512 67d5881bcc1dd23a41e27c0ba51d5f9b7c768590906baec33d341758aef2f525c4f0df95a9b477c2b5a0f5f41476bfe96120bca45eec748974b17e667dd6785e
DIST vbox-kernel-module-src-5.2.44.tar.xz 644468 BLAKE2B 520dbe8ca7a01e2f6f62ea13f1031b03473d56095ca174962ccc88549fbef3615332193e17593119956317f2d93da9e63ffa7fb14b6783d40bcee88360a74444 SHA512 61cc3b1c8ad58adfc0451b1a03b213ce4fff78e8c55f12ddce89cf7f6bb1abe94f035d2fc2867270f6f36f773019b1a66a2f6ae735fdc70aeba1ff9645de02d3
DIST vbox-kernel-module-src-6.0.22.tar.xz 670780 BLAKE2B dc4055e3db4a59ff174989a0dc63e844bb70aa13a0ee7d9fc49db22cf1106df956aca11b039df5e67bfcfe848f8c287842e8ec30d8025ac1474ee26d10745354 SHA512 f1b2e4b3acc5effbc0b513e27623959e87d65001b0dd5c42ee09aa2db5261d534cc193329db09d01e7a7105a1f6f80e53a68f9312205d2b4e18e38834d82a1db
DIST vbox-kernel-module-src-6.0.24.tar.xz 670960 BLAKE2B 26e4b1b6b9ab8c8fd0312b2162fe745dc11ef3f8a7e2f08f49df9d9ef346ec21b64e4a0a480bd726e9cca6ab2ce5d3cf2637aa8923c0843bf78a3ed160b98810 SHA512 9b1093307dffeb64f3ec22c4797268858e1fcc729403e89294c2e3cf0852662b7b0aad4416a593fd25b2107a1995d6bc17078f072b6f7718ed111ab61df8324e
DIST vbox-kernel-module-src-6.1.10.tar.xz 666960 BLAKE2B e1f393a0f7735f4cb692d9feb22c3b6ec371fef04793b1a2f7cc2cadab450539c464f1a97f026c323ae162b853b738b3d6bb3bfde0c3bb854be4da2d251af5e8 SHA512 7ae56ac2d982649448e4dfe93beff22630c35ad40f764cffaaecf3b00c1a598043b7675e1f8eebf17059aa73da6273f0982dbc8377d9878be0712895d1332560
DIST vbox-kernel-module-src-6.1.12.tar.xz 667312 BLAKE2B 31b3f7cd60d00e26c3177c4956d493a243e39d6251aeb3f3d72331d2fa85f2c90e884aa3f27e994502d86a34b1683c7d7db54eb1cc233e220f147119f6e9ed5e SHA512 ec4903fdc74e4be28003e8b231a4c8feb6e807bc59789c2729a8ab4199c6decc878468b67bce3a17625f60a33bb1d7c611e7306815091607b1fade2be521ed44
DIST vbox-kernel-module-src-6.1.14.tar.xz 670392 BLAKE2B e6f324e71088c71bf67791861c79a81665f2111664428ed1e8a834b8a435bd04c1da49b6755ce5f6b1d883c6de01a0821e8d5a7519e11cf30e8f01a8b4e5d8bb SHA512 ccf4896106a7c86b651ed698abee78387660b7daa0f15329fc4bf2c3a7df4715bf4cce7cace1c6f6931dd9e8d02022d1ca0d005ae12c5139e54d3fb40792cb1c

@ -1,59 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs user
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
# The following is a security measure that comes directly from usptream.
# Do NOT remove this!!!
MODULESD_VBOXPCI_ADDITIONS=(
"blacklist vboxpci"
"install vboxpci /bin/true"
)
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
}

@ -1,59 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs user
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
# The following is a security measure that comes directly from usptream.
# Do NOT remove this!!!
MODULESD_VBOXPCI_ADDITIONS=(
"blacklist vboxpci"
"install vboxpci /bin/true"
)
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
}

@ -1,59 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs user
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
# The following is a security measure that comes directly from usptream.
# Do NOT remove this!!!
MODULESD_VBOXPCI_ADDITIONS=(
"blacklist vboxpci"
"install vboxpci /bin/true"
)
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
}

@ -1,55 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
# The following is a security measure that comes directly from usptream.
# Do NOT remove this!!!
MODULESD_VBOXPCI_ADDITIONS=(
"blacklist vboxpci"
"install vboxpci /bin/true"
)
pkg_setup() {
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}

@ -1,13 +1,5 @@
DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18
DIST VirtualBox-5.2.42.tar.bz2 124013981 BLAKE2B e22c80861727b14175db6eb476e78ad620e35cdfd480e83331306bbc251e1cf6d21a3dba15b0db1c516c530f0a58dca7d9c70748c8b194a2cf5fe7dfc9c0b80c SHA512 d396d34c0cbc652ad66b7c0e5b8bf206f29e751612543173f01f498f16e113ace0da64e674cd398c1fc0309f46ff99823c8b1000ffc8a7a453bcf8646af2900a
DIST VirtualBox-5.2.44.tar.bz2 124016934 BLAKE2B da75f107a16d28663a491846a730541b406b68b34962c5ac8bbaee5c05558a2ca1a80ebe67b993bad95b0df5ea5f599e33d037d566e03427dff7e02769ac14d6 SHA512 329b5f8bc4902214d740b2089731c41d1185e76621a5438045e13d03dae739f902fb159b70cb22d1fecbecdf5c2b516ef49ad426cdc606a018e65713dec4ed26
DIST VirtualBox-6.0.22.tar.bz2 159831666 BLAKE2B 7c8878aec9ce1d5caf44677fa64119f0c0e99a111780a68c93702ff6681c48760d9622e91260b92096ca881fdf715bcb382e6eb2112b82567232b0014f1d975d SHA512 83aa7469e99abbe2d9da99102fb4e15bc5347bae06fe954f82d07eaaeccded1d92cf56b01c238c6cbc2b611fcb30e5dd6af91444278c166529c5b8972acdb657
DIST VirtualBox-6.0.24.tar.bz2 159833756 BLAKE2B 321f7988a5b55a794e2d51937a0752d96eaefb376c12e2fb23be08dff81b164153e19a7d5963a0404f630fb38d6047b9d954a67923f26b2aa16d861a0c6a1b63 SHA512 e6f98d0036cdebc52c78c5ddbce369d9ef0a036c366647b299060e1ccf6942f6b6f899201dfa08c410a039f353b767a41a0d14579c741dc5c034a035cb16c534
DIST VirtualBox-6.1.10.tar.bz2 164989732 BLAKE2B 0f6d681462245dec10f651c1fac9e7ff5ee1e361d86cb764d84df46a4a51a0e413f8b1ab233e34af53fa3fda14ca17542e4d5c148e857548e03ff80ad2af22ee SHA512 729840d669281ed3ba2936923a50410e52bcec3fcfd5b6b740d5991aa1c25c2a8f5a5a05b4e3e39ef1a271ab3431d4c4f4b3a1262703d1e281d7111f0d4e8a3b
DIST VirtualBox-6.1.12a.tar.bz2 165246721 BLAKE2B e9ee7c10d92b151ab10833c68d0c71a09419bba4dbf86f21401263a98273f5ad5cf628347215d641e80e11d8e77bafeda606822cdd4d02344490fca6b95814ef SHA512 27fe66daf7fa254d9fc4a2cca4a8bbcfbfe6c3387a9f4a740c8ac1297587b5083bccbeef97dcc4e482c4974c843450212e02415b4952eb38b82e179615741193
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
DIST virtualbox-5.2.44-patches-01.tar.xz 3608 BLAKE2B 6656f1eef7281dcd89e685cfc5403a6e7cd8d3f226d8cca8efa12c2c20339cb68b6f9b259c3de7925fc55433aa93ef7552dfe0441b9ef4a17a733282f791a62e SHA512 0f6a78e9b60b4fff71e87ba13c6a2af255a234f64e2a5f2be79aaf52146e2ab94c0e52def9096a32baf67c66e048f7ae9606a5e4010e9a1de5f31eec831ee892
DIST virtualbox-6.0.22-patches-01.tar.xz 3464 BLAKE2B 03ec3460f1f072c4f673e14a66b1f36de95f55c0c893482434049e077e0eff6d3724a8f1f6046d5ddff66675a9a39ecd2e40a6f43904bd575ba86505ed5e0ade SHA512 44875f8eda2e433bfe3b85551d3157c5b5d1740689e05c54772c78f9feba80ed08df88f99f9dd0d0f26d0912b00919e7ed5c38583a8ddc8e8e7e962d89cd2374
DIST VirtualBox-6.1.14a.tar.bz2 165962245 BLAKE2B 7f064ea58f7e4f36a0cda9badc7d16d5e95246de923ab9d179688c7f2f020625efa89c592aceec59d54f1c48934b20674594cc6a63f3f42e9fef39cfd5803027 SHA512 7bdf248b53c517923afc46998e46f63271f71ee73fa6826f367828128944895b2d672d7fc4d05f222e6d45897269fe699f7360ee1534c96450e2cc7bc14c0f13
DIST virtualbox-6.0.24-patches-01.tar.xz 3640 BLAKE2B e55c30395978471edd0f291cd34ecb772cce2f27bea88c6fe348e83046777638be9bdd36bf3a2fd1967357ea7ff53936398cd94ee74d8e55d31c1896069404ff SHA512 b8d9395083769a641a5d7f78ac734a86220fec817e3e49461208f8e72ef7d11c19fe4507e6766fe7c8c815c9888f793fd66f3fae36d6e3a217e53620b5d95029
DIST virtualbox-6.1.10-patches-01.tar.xz 2640 BLAKE2B 4aeeb596bcaf6b57a707c08211408d760092187710ce468f3e60bb7e66f22b04db4f4c58d06cea4cf7d4b69c9cfd2ebee5c2c5b8b93766097cf8c7cf9ebd8ae5 SHA512 24393d6e7cb62b65d79dc407f25fba42994d37a761c6c111ab952800715b1ee966ba4f7403a4e79fbf67035c72ef5aa3d1f203bdd69c6078894564018aa284c0
DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123

@ -1,113 +0,0 @@
#!/bin/sh
## @file
# Oracle VM VirtualBox startup script, Linux hosts.
#
#
# Copyright (C) 2006-2015 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
CONFIG="/etc/vbox/vbox.cfg"
test -r "${CONFIG}" &&
. "${CONFIG}"
test -z "${INSTALL_DIR}" &&
if test -f /usr/lib/virtualbox/VirtualBox &&
test -x /usr/lib/virtualbox/VirtualBox; then
INSTALL_DIR=/usr/lib/virtualbox
else
echo "Could not find VirtualBox installation. Please reinstall."
exit 1
fi
# Note: This script must not fail if the module was not successfully installed
# because the user might not want to run a VM but only change VM params!
if [ "$1" = "shutdown" ]; then
SHUTDOWN="true"
elif ! lsmod|grep -q vboxdrv; then
cat << EOF
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (`uname -r`) or it failed to
load. Please recompile the kernel module and install it by
for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
You will not be able to start VMs until this problem is fixed.
EOF
elif [ ! -c /dev/vboxdrv ]; then
cat << EOF
WARNING: The character device /dev/vboxdrv does not exist.
Please try to reload all the needed kernel modules by:
for m in vbox{netflt,netadp,drv}; do rmmod \$m; done
for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
and if that is not successful, try to re-install the package by:
emerge -1av app-emulation/virtualbox-modules
You will not be able to start VMs until this problem is fixed.
EOF
fi
SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
if [ -z "$SERVER_PID" ]; then
# Server not running yet/anymore, cleanup socket path.
# See IPC_GetDefaultSocketPath()!
if [ -n "$LOGNAME" ]; then
rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1
else
rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1
fi
fi
if [ "$SHUTDOWN" = "true" ]; then
if [ -n "$SERVER_PID" ]; then
kill -TERM $SERVER_PID
sleep 2
fi
exit 0
fi
APP=`basename $0`
case "$APP" in
VirtualBox|virtualbox)
exec "$INSTALL_DIR/VirtualBox" "$@"
;;
VBoxManage|vboxmanage)
exec "$INSTALL_DIR/VBoxManage" "$@"
;;
VBoxSDL|vboxsdl)
exec "$INSTALL_DIR/VBoxSDL" "$@"
;;
VBoxVRDP|VBoxHeadless|vboxheadless)
exec "$INSTALL_DIR/VBoxHeadless" "$@"
;;
VBoxAutostart|vboxautostart)
exec "$INSTALL_DIR/VBoxAutostart" "$@"
;;
VBoxBalloonCtrl|vboxballoonctrl)
exec "$INSTALL_DIR/VBoxBalloonCtrl" "$@"
;;
VBoxDTrace|vboxdtrace)
exec "$INSTALL_DIR/VBoxDTrace" "$@"
;;
vboxwebsrv)
exec "$INSTALL_DIR/vboxwebsrv" "$@"
;;
*)
echo "Unknown application - $APP"
exit 1
;;
esac
exit 0

@ -1,496 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6,7,8} )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="alsa debug doc dtrace headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
RDEPEND="!app-emulation/virtualbox-bin
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
media-libs/opus
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
alsa? ( >=media-libs/alsa-lib-1.0.13 )
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
!headless? ( x11-libs/libXinerama )
java? ( >=virtual/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# 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
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./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}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
for fwfile in VBoxEFI{32,64}.fd ; do
vbox_inst ${fwfile} 0644
done
popd &>/dev/null || die
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox VirtualBox ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
if use vnc ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

@ -1,493 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6,7,8} )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug doc dtrace headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
RDEPEND="!app-emulation/virtualbox-bin
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
media-libs/opus
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
alsa? ( >=media-libs/alsa-lib-1.0.13 )
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
!headless? ( x11-libs/libXinerama )
java? ( >=virtual/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# 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
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./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}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
for fwfile in VBoxEFI{32,64}.fd ; do
vbox_inst ${fwfile} 0644
done
popd &>/dev/null || die
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox VirtualBox ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
if use vnc ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

@ -1,493 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6,7,8} )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.44-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug doc dtrace headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
RDEPEND="!app-emulation/virtualbox-bin
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
media-libs/opus
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
alsa? ( >=media-libs/alsa-lib-1.0.13 )
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
!headless? ( x11-libs/libXinerama )
java? ( >=virtual/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# 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
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./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}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
for fwfile in VBoxEFI{32,64}.fd ; do
vbox_inst ${fwfile} 0644
done
popd &>/dev/null || die
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox VirtualBox ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
if use vnc ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

@ -1,507 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.22-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
CDEPEND="
${PYTHON_DEPS}
!app-emulation/virtualbox-bin
acct-group/vboxusers
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
opus? ( media-libs/opus )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
DEPEND="
${CDEPEND}
alsa? ( >=media-libs/alsa-lib-1.0.13 )
!headless? ( x11-libs/libXinerama )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
"
BDEPEND="
${PYTHON_DEPS}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
java? ( >=virtual/jdk-1.6 )
"
RDEPEND="
${CDEPEND}
java? ( >=virtual/jre-1.6 )
"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# 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
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex opus '' --disable-libopus)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./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}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} iPxeBaseBin ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
for each in VBoxEFI{32,64}.fd ; do
vbox_inst ${each} 0644
done
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst rdesktop-vrdp
vbox_inst VBoxSDL 4750
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox
vbox_inst VirtualBoxVM 4750
for each in VirtualBox{,VM} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox{,vm} VirtualBox{,VM} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
domenu ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_pkg_postrm
}

@ -41,7 +41,7 @@ CDEPEND="
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
opengl? ( media-libs/libglvnd[X] )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5

@ -43,7 +43,7 @@ CDEPEND="
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
opengl? ( media-libs/libglvnd[X] )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5

@ -6,14 +6,16 @@ EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PN="VirtualBox"
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
MY_P=${MY_PN}-${MY_PV}
[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.10-patches-01.tar.xz"
SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
@ -25,7 +27,7 @@ CDEPEND="
${PYTHON_DEPS}
!app-emulation/virtualbox-bin
acct-group/vboxusers
~app-emulation/virtualbox-modules-${PV}
~app-emulation/virtualbox-modules-${DIR_PV:-${PV}}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
@ -41,7 +43,7 @@ CDEPEND="
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
opengl? ( media-libs/libglvnd[X] )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
@ -125,7 +127,7 @@ QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}"
REQUIRED_USE="
java? ( sdk )
@ -428,15 +430,15 @@ src_install() {
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Remove dead symlinks (bug #715338)
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
# Remove dead symlinks (bug #715338)
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc ; then
@ -476,7 +478,7 @@ pkg_postinst() {
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"

Binary file not shown.

@ -1,4 +1,3 @@
DIST pyzy-0.1.0-patches.tar.xz 5288 BLAKE2B 9a6c86aeedd496ae8372bb0640cb1e03386408a0b00a4c51a6223c4fba23f59631267eb0b7c707a11662025ded410609d17ba39327e0ca5011f48bea3422cd79 SHA512 3a3b9fc317f1c5f59bbe83f3ce58fc76a50bcee798118d66571ba31d504e73fbe7a6976f03ae28f9712c0ba641386ac69390a86185464371728782a62b98291f
DIST pyzy-0.1.0.tar.gz 1571946 BLAKE2B 2a09dab87ddc9ca9a1e2c7b71dd66fb8d75a9a0932fd87d94392e64bc6a940ce8d3d89ed09f9b3ae0da1a76275ec580033c745c7cfb85724be1f7732cb52d3b9 SHA512 42477152ffd6a2f7ce0e8f920d98e9dc9c7fc32fe9e93a2a4de75c791e70d0f08c30eca0244dc2b87981f6bfc4e635234d62720aa19358c8f80a84e0c371c662
DIST pyzy-0.1.0.tar.xz 752248 BLAKE2B 5f927cfea31f8cd67cb3e7af9b48c6f48a7707e8324b6b211c3baea0e07683df1da3c8683a5f9aa5073277229ee4d712174f95a764b4dcc5dc5f40330791561e SHA512 18d78bc70229caad44fdba4b7971014979da0aeb35841cea9577d05e5eca871dfe40d285a926ac05a247c8a0b8ab34fd721dcd34517200c5cc75b6b1ed545b35
DIST pyzy-database-1.0.0.tar.bz2 9977983 BLAKE2B 86f9ee48d584f33ada1ee5380efdaefd85750290caada320c4c9a21206b8fb50fe6a43b931fb41a8c3bc24853bb7843e23d1778b40e6eae68fa4ec383f2b4dcc SHA512 5a7248870407f7f92c418ada49a275062325f2eb33a7eb4b91492e4b706ae70ba931b04377a758ce429fa64cd22e8bee2ac4279d4f205bbce406248eda1decf7

@ -1,15 +0,0 @@
--- a/configure.ac
+++ b/configure.ac
@@ -143,9 +143,9 @@
)
if test x"$enable_boost" = x"yes"; then
# check boost
- BOOST_REQUIRE([1.39])
- BOOST_FIND_HEADER([boost/bind.hpp])
- BOOST_FIND_HEADER([boost/signals2.hpp])
+ AX_BOOST_BASE([1.39])
+ AC_CHECK_HEADERS([boost/bind.hpp])
+ AC_CHECK_HEADERS([boost/signals2.hpp])
fi
AM_CONDITIONAL(HAVE_BOOST, test x"$enable_boost" = x"yes")

@ -1,17 +0,0 @@
--- a/data/db/open-phrase/Makefile.am
+++ b/data/db/open-phrase/Makefile.am
@@ -30,13 +30,10 @@
DBTAR = pyzy-database-$(DBVER).tar.bz2
$(DBTAR):
- $(AM_V_GEN) \
- wget http://pyzy.googlecode.com/files/$(DBTAR) || \
- ( $(RM) $@; exit 1)
+ touch $@
stamp-db: $(DBTAR)
$(AM_V_GEN) \
- tar jxfm $(DBTAR); \
mv db/main.db db/$(db_file); \
touch $@

@ -1,56 +0,0 @@
https://github.com/pyzy/pyzy/pull/1
Author: Hillwood Yang <hillwood@opensuse.org>
--- a/src/SimpTradConverter.cc
+++ b/src/SimpTradConverter.cc
@@ -4,6 +4,7 @@
*
* Copyright (c) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
* Copyright (c) 2010 BYVoid <byvoid1@gmail.com>
+ * Copyright (c) 2015 Hillwood Yang <hillwood@opensuse.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -40,7 +41,6 @@ namespace PyZy {
#ifdef HAVE_OPENCC
class opencc {
- static const int BUFFER_SIZE = 64;
public:
opencc (void)
{
@@ -55,29 +55,13 @@ public:
void convert (const char *in, String &out)
{
- long n_char;
- unichar *in_ucs4 = g_utf8_to_ucs4_fast (in, -1, &n_char);
-
- ucs4_t *pinbuf = (ucs4_t *)in_ucs4;
- size_t inbuf_left = n_char;
- while (inbuf_left != 0) {
- ucs4_t *poutbuf = (ucs4_t *)m_buffer;
- size_t outbuf_left = BUFFER_SIZE;
- size_t retval = opencc_convert(m_od, &pinbuf, &inbuf_left, &poutbuf, &outbuf_left);
- if (retval == (size_t) -1) {
- /* append left chars in pinbuf */
- g_warning ("opencc_convert return failed");
- out << (unichar *) pinbuf;
- break;
- }
- *poutbuf = L'\0';
- out << m_buffer;
- }
- g_free (in_ucs4);
+ char * converted = opencc_convert_utf8 (m_od, in, -1);
+ g_assert (converted != NULL);
+ out = converted;
+ opencc_convert_utf8_free (converted);
}
private:
opencc_t m_od;
- unichar m_buffer[BUFFER_SIZE + 1];
};
void

@ -1,59 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 )
inherit autotools ltprune python-any-r1
PYZY_DB="${PN}-database-1.0.0"
DESCRIPTION="The Chinese PinYin and Bopomofo conversion library"
HOMEPAGE="https://github.com/pyzy/pyzy"
SRC_URI="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${PN}/${P}.tar.gz
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${PN}/${PYZY_DB}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="boost doc opencc"
RDEPEND="dev-db/sqlite:3
dev-libs/glib:2
sys-apps/util-linux
boost? ( dev-libs/boost )
opencc? ( app-i18n/opencc:= )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
sys-devel/autoconf-archive
doc? ( app-doc/doxygen )"
PATCHES=(
"${FILESDIR}"/${PN}-boost.patch
"${FILESDIR}"/${PN}-db.patch
"${FILESDIR}"/${PN}-opencc-1.0.0.patch
)
src_prepare() {
mv "${WORKDIR}"/db data/db/open-phrase || die
default
eautoreconf
}
src_configure() {
econf \
$(use_enable boost) \
$(use_enable opencc) \
--enable-db-open-phrase \
DOXYGEN=$(usex doc doxygen true)
}
src_install() {
if use doc; then
HTML_DOCS=( docs/html/. )
fi
default
prune_libtool_files
}

@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~dlan/distfiles/${P}.tar.xz
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 x86"
KEYWORDS="amd64 x86"
IUSE="boost doc opencc"
RDEPEND="dev-db/sqlite:3

Binary file not shown.

@ -1,2 +1 @@
DIST g15composer-3.1.tar.bz2 104109 BLAKE2B 1880fd469dcbca5031724a23a5abee6d2242738a1674e2635d02aee20fa9859293fa383921f602bf04fb8bdaa294fad9aca099e56bd85b69d41d413f6561a309 SHA512 e4b0ddef2dfbfd3a8a392ebe9e53a59638cbb7aee7a007b8a20be388f074d54a27ed509a5805fadc9ffd708c027ec4c331dfab96905bee1c37690a5585198ad8
DIST g15composer-3.2.tar.bz2 105805 BLAKE2B 1a843ed50f0374cb23d469be9c083437f13279f5584e3112037635225e5d5df7765452e3e805c4230fd33782c300f5abdb1fc05e394f636d160c8e49baf3dde0 SHA512 95b033e2bb957ef4a2f3d3e2954a11454af7d8576e037f723d2a7d45a7dadde4908540ff0a66b387209e689217ba0e6677dcee1e647b792c402f250371518bc1

@ -1,17 +0,0 @@
# /etc/conf.d/g15composer: Configuration for the g15composer
# The CONTROL_FIFO is the name of the FIFO that g15composer listens to.
# It does not create a screen on the display, but allows programs to
# create their own non-virtual screens.
# Please make sure the file specified does not exist.
CONTROL_FIFO="/var/run/g15composer"
# Set the user who owns the CONTROL_FIFO.
# As this is also the user as whom g15composer is run,
# it has to be someone who can create further message channels
# This should be the user who runs the LCD clients
FIFO_USER=
# Set the grop which owns the CONTROL_FIFO.
# The users who want to display screens on the LCD need to be in this group.
FIFO_GROUP=users

@ -1,48 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
PIDFILE=/var/run/${SVCNAME}.pid
depend() {
need g15daemon
}
start() {
ebegin "Starting ${SVCNAME}"
if [ -z "${FIFO_USER}" -o -z "${FIFO_GROUP}" ] ; then
eerror "Please set the FIFO_USER and FIFO_GROUP variables in /etc/conf.d/${SVCNAME}"
eend 1
return 1
fi
if [ -e "${CONTROL_FIFO}" -a ! -p "${CONTROL_FIFO}" ] ; then
eerror "${CONTROL_FIFO} exists and is not a FIFO. Please remove."
eend 1
return 1
fi
if [ ! -p "${CONTROL_FIFO}" ] ; then
einfo "Creating FIFO at ${CONTROL_FIFO}"
mkfifo -m660 "${CONTROL_FIFO}"
else
einfo "Reusing FIFO at ${CONTROL_FIFO}"
fi
chown ${FIFO_USER} "${CONTROL_FIFO}"
chgrp ${FIFO_GROUP} "${CONTROL_FIFO}"
start-stop-daemon --start --background --pidfile ${PIDFILE} --make-pidfile --exec \
/usr/bin/g15composer -- -b -u "${FIFO_USER}" -g "${FIFO_GROUP}" "${CONTROL_FIFO}"
eend $?
}
stop() {
ebegin "Stoping ${SVCNAME}"
start-stop-daemon --stop --pidfile ${PIDFILE} --name g15composer
if [ -p "${CONTROL_FIFO}" ] ; then
einfo "Removing FIFO at ${CONTROL_FIFO}"
rm -f "${CONTROL_FIFO}"
else
ewarn "FIFO at ${CONTROL_FIFO} was lost"
fi
eend $?
}

@ -0,0 +1,11 @@
--- g15composer-3.2/Makefile.am
+++ g15composer-3.2/Makefile.am
@@ -3,7 +3,7 @@
EXTRA_DIST = g15composer.l g15composer.y debian examples doc
noinst_HEADERS = g15composer.h g15c_logo.h
man1_MANS = $(top_srcdir)/doc/g15composer.1
-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+docdir = @docdir@
doc_DATA = AUTHORS ChangeLog COPYING NEWS README
g15composer.tab.c: g15composer.lex.c g15composer.y g15composer.h

@ -1,38 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="A library to render text and shapes into a buffer usable by the Logitech G15"
HOMEPAGE="https://sourceforge.net/projects/g15tools/"
SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc ~ppc64 x86"
IUSE="truetype examples"
DEPEND="app-misc/g15daemon
>=dev-libs/libg15render-1.2[truetype?]
truetype? ( media-libs/freetype )"
src_configure() {
econf \
$(use_enable truetype ttf)
}
src_install() {
default
newinitd "${FILESDIR}/${P}.initd" ${PN}
newconfd "${FILESDIR}/${P}.confd" ${PN}
if use examples ; then
exeinto "/usr/share/${PN}"
doexe examples/*
fi
}
pkg_postinst() {
elog "Set the user to run g15composer in /etc/conf.d/g15composer before starting the service."
}

@ -1,7 +1,7 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit autotools
@ -11,18 +11,17 @@ SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
KEYWORDS="amd64 ~ppc ~ppc64 x86"
IUSE="truetype examples"
DEPEND="app-misc/g15daemon
>=dev-libs/libg15render-1.2[truetype?]
truetype? (
media-libs/freetype
virtual/pkgconfig
)"
truetype? ( media-libs/freetype )"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-3.2-freetype_pkgconfig.patch
"${FILESDIR}/${P}-freetype_pkgconfig.patch"
"${FILESDIR}/${P}-docdir.patch"
)
src_prepare() {

@ -2,7 +2,7 @@
# Key to switch the client-screens. Default is the MR key,
# Set to "yes" to use L1 key instead (black round key below the LCD, above the multimedia keys).
CLIENT_SWITCH_L1="no"
CLIENT_SWITCH_L1="yes"
# Set to "yes" to switch off the lcd backlight when stopping g15daemon.
BACKLIGHT_OFF="no"

@ -0,0 +1,20 @@
--- g15daemon-1.9.5.3/configure.in
+++ g15daemon-1.9.5.3/configure.in
@@ -53,7 +53,7 @@
AC_ARG_ENABLE([--disable-uinput],[ --disable-uinput do not build linux uinput plugin (default: autodetect)])
if test "x$enable_uinput" != "xno"; then
- if test "x$have_linux_uinput_h" == "xyes"; then
+ if test "x$have_linux_uinput_h" = "xyes"; then
#if HAVE_LINUX_UINPUT_H
dnl check for uinput.h version 2.4 or 2.6 ?
AC_CHECK_MEMBER([struct uinput_user_dev.id],
@@ -110,7 +110,7 @@
AM_CONDITIONAL(UINPUT_INTERFACE_PLUGIN, [test x$uinput = xtrue])
dnl Some versions of libusb do not honour timeout and block. Suns' version is one of them.
-if test "x$libusb_blocks" == "xtrue"; then
+if test "x$libusb_blocks" = "xtrue"; then
AC_DEFINE([LIBUSB_BLOCKS], [1],[Define if libusb implementation blocks on read or write])
fi

@ -0,0 +1,11 @@
--- g15daemon-1.9.5.3/Makefile.am
+++ g15daemon-1.9.5.3/Makefile.am
@@ -5,7 +5,7 @@
EXTRA_DIST = debian contrib Documentation lang-bindings patches rpm README.usage FAQ LICENSE images README.Linux README.FreeBSD README.Solaris
-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+docdir = @docdir@
doc_DATA = FAQ README.usage README ChangeLog TODO AUTHORS NEWS LICENSE README.Linux README.FreeBSD README.Solaris
man1_MANS = $(top_srcdir)/Documentation/g15daemon.1

@ -1,5 +1,5 @@
--- ./g15daemon-1.9.5.3/g15daemon/utility_funcs.c 2008-01-26 06:02:07.000000000 +0100
+++ ./g15daemon-1.9.5.3/g15daemon/utility_funcs.c 2009-02-01 17:00:55.203009264 +0100
--- g15daemon-1.9.5.3/g15daemon/utility_funcs.c
+++ g15daemon-1.9.5.3/g15daemon/utility_funcs.c
@@ -356,7 +356,7 @@
config_items_t * item=NULL;
char line[1024];

@ -1,8 +1,7 @@
From https://sourceforge.net/tracker/?func=detail&aid=3152167&group_id=167869&atid=844658
diff -aNru trunk/g15daemon-wip/plugins/g15_plugin_uinput.c mod/g15daemon-wip/plugins/g15_plugin_uinput.c
--- trunk/g15daemon-wip/plugins/g15_plugin_uinput.c 2011-06-26 06:50:50.000000000 +0000
+++ mod/g15daemon-wip/plugins/g15_plugin_uinput.c 2011-06-26 06:51:42.000000000 +0000
--- g15daemon-wip/plugins/g15_plugin_uinput.c
+++ g15daemon-wip/plugins/g15_plugin_uinput.c
@@ -164,146 +164,195 @@
static void g15_process_keys(g15daemon_t *masterlist, unsigned int currentkeys, unsigned int lastkeys)

@ -1,5 +1,5 @@
--- ./g15daemon-1.9.5.3/libg15daemon_client/g15daemon_net.c 2008-01-25 05:45:05.000000000 +0100
+++ ./g15daemon-1.9.5.3/libg15daemon_client/g15daemon_net.c 2011-02-14 22:51:55.203009264 +0100
--- g15daemon-1.9.5.3/libg15daemon_client/g15daemon_net.c
+++ g15daemon-1.9.5.3/libg15daemon_client/g15daemon_net.c
@@ -217,7 +217,7 @@
if(poll(pfd,1,100)>0){
if(pfd[0].revents & POLLPRI && !(pfd[0].revents & POLLERR || pfd[0].revents & POLLHUP || pfd[0].revents & POLLNVAL)) {

@ -1,12 +1,11 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=7
PYTHON_COMPAT=( python2_7 )
GENTOO_DEPEND_ON_PERL="no"
inherit eutils linux-info perl-module python-r1 base
inherit autotools flag-o-matic linux-info perl-module toolchain-funcs udev
DESCRIPTION="Takes control of the G15 keyboard, through the linux kernel uinput device driver"
HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
@ -15,7 +14,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 x86"
IUSE="perl python static-libs"
IUSE="perl static-libs"
DEPEND="virtual/libusb:0
>=dev-libs/libg15-1.2.4
@ -24,22 +23,23 @@ DEPEND="virtual/libusb:0
dev-lang/perl
dev-perl/GDGraph
>=dev-perl/Inline-0.4
)
python? ( ${PYTHON_DEPS} )"
)"
RDEPEND="${DEPEND}"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
"${FILESDIR}/${P}-forgotten-open-mode.patch"
"${FILESDIR}/${P}-overflow-fix.patch"
"${FILESDIR}/${P}-docdir.patch"
"${FILESDIR}/${P}-avoid_bashisms.patch"
)
uinput_check() {
ebegin "Checking for uinput support"
local rc=1
linux_config_exists && linux_chkconfig_present INPUT_UINPUT
rc=$?
if [[ $rc -ne 0 ]] ; then
if [[ ${rc} -ne 0 ]] ; then
eerror "To use g15daemon, you need to compile your kernel with uinput support."
eerror "Please enable uinput support in your kernel config, found at:"
eerror
@ -51,39 +51,40 @@ uinput_check() {
}
pkg_setup() {
export CC="$(tc-getCC)" #729294
linux-info_pkg_setup
uinput_check
}
src_unpack() {
unpack ${A}
if use perl; then
if use perl ; then
unpack "./${P}/lang-bindings/perl-G15Daemon-0.2.tar.gz"
fi
if use python; then
unpack "./${P}/lang-bindings/pyg15daemon-0.0.tar.bz2"
fi
}
src_prepare() {
if use perl; then
if use perl ; then
perl-module_src_prepare
sed -i \
-e '1i#!/usr/bin/perl' \
"${S}"/contrib/testbindings.pl
"${S}"/contrib/testbindings.pl || die
else
# perl-module_src_prepare always calls base_src_prepare
base_src_prepare
default
fi
mv configure.{in,ac} || die
eautoreconf
}
src_configure() {
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_enable static-libs static)
append-cflags -fcommon #706712
econf $(use_enable static-libs static)
if use perl; then
cd "${WORKDIR}/G15Daemon-0.2"
if use perl ; then
cd "${WORKDIR}/G15Daemon-0.2" || die
perl-module_src_configure
fi
}
@ -91,8 +92,8 @@ src_configure() {
src_compile() {
default
if use perl; then
cd "${WORKDIR}/G15Daemon-0.2"
if use perl ; then
cd "${WORKDIR}/G15Daemon-0.2" || die
perl-module_src_compile
fi
}
@ -100,23 +101,22 @@ src_compile() {
src_install() {
default
find "${ED}" -name '*.la' -exec rm -f {} +
find "${ED}" -type f -name '*.la' -delete || die
# remove odd docs installed my make
rm "${ED}/usr/share/doc/${PF}/"{LICENSE,README.usage}
rm "${ED}"/usr/share/doc/${PF}/README.usage || die
insinto /usr/share/${PN}/contrib
doins contrib/xmodmaprc
doins contrib/xmodmap.sh
if use perl; then
if use perl ; then
doins contrib/testbindings.pl
fi
newconfd "${FILESDIR}/${PN}-1.2.7.confd" ${PN}
newinitd "${FILESDIR}/${PN}-1.9.5.3.initd" ${PN}
dobin "${FILESDIR}/g15daemon-hotplug"
insinto /lib/udev/rules.d
doins "${FILESDIR}/99-g15daemon.rules"
udev_dorules "${FILESDIR}/99-g15daemon.rules"
insinto /etc
doins "${FILESDIR}"/g15daemon.conf
@ -125,22 +125,12 @@ src_install() {
exeinto /usr/lib/pm-utils/sleep.d
doexe "${FILESDIR}"/20g15daemon
if use perl; then
if use perl ; then
ebegin "Installing Perl Bindings (G15Daemon.pm)"
cd "${WORKDIR}/G15Daemon-0.2"
cd "${WORKDIR}/G15Daemon-0.2" || die
docinto perl
perl-module_src_install
fi
if use python; then
ebegin "Installing Python Bindings (g15daemon.py)"
cd "${WORKDIR}/pyg15daemon"
python_foreach_impl python_domodule g15daemon.py
docinto python
dodoc AUTHORS
fi
}
pkg_postinst() {

@ -1,12 +1,11 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=7
PYTHON_COMPAT=( python2_7 )
GENTOO_DEPEND_ON_PERL="no"
inherit eutils linux-info perl-module python-r1 base
inherit autotools flag-o-matic linux-info perl-module toolchain-funcs udev
DESCRIPTION="Takes control of the G15 keyboard, through the linux kernel uinput device driver"
HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
@ -15,7 +14,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE="perl python static-libs"
IUSE="perl static-libs"
DEPEND="virtual/libusb:0
>=dev-libs/libg15-9999
@ -24,15 +23,15 @@ DEPEND="virtual/libusb:0
dev-lang/perl
dev-perl/GDGraph
>=dev-perl/Inline-0.4
)
python? ( ${PYTHON_DEPS} )"
)"
RDEPEND="${DEPEND}"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
"${FILESDIR}/${P}-forgotten-open-mode.patch"
"${FILESDIR}/${P}-overflow-fix.patch"
"${FILESDIR}/${P}-g510-keys.patch"
"${FILESDIR}/${P}-docdir.patch"
"${FILESDIR}/${P}-avoid_bashisms.patch"
)
uinput_check() {
@ -41,7 +40,7 @@ uinput_check() {
linux_config_exists && linux_chkconfig_present INPUT_UINPUT
rc=$?
if [[ $rc -ne 0 ]] ; then
if [[ ${rc} -ne 0 ]] ; then
eerror "To use g15daemon, you need to compile your kernel with uinput support."
eerror "Please enable uinput support in your kernel config, found at:"
eerror
@ -53,39 +52,40 @@ uinput_check() {
}
pkg_setup() {
export CC="$(tc-getCC)" #729294
linux-info_pkg_setup
uinput_check
}
src_unpack() {
unpack ${A}
if use perl; then
if use perl ; then
unpack "./${P}/lang-bindings/perl-G15Daemon-0.2.tar.gz"
fi
if use python; then
unpack "./${P}/lang-bindings/pyg15daemon-0.0.tar.bz2"
fi
}
src_prepare() {
if use perl; then
if use perl ; then
perl-module_src_prepare
sed -i \
-e '1i#!/usr/bin/perl' \
"${S}"/contrib/testbindings.pl
"${S}"/contrib/testbindings.pl || die
else
# perl-module_src_prepare always calls base_src_prepare
base_src_prepare
default
fi
mv configure.{in,ac} || die
eautoreconf
}
src_configure() {
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_enable static-libs static)
append-cflags -fcommon #706712
if use perl; then
cd "${WORKDIR}/G15Daemon-0.2"
econf $(use_enable static-libs static)
if use perl ; then
cd "${WORKDIR}/G15Daemon-0.2" || die
perl-module_src_configure
fi
}
@ -93,8 +93,8 @@ src_configure() {
src_compile() {
default
if use perl; then
cd "${WORKDIR}/G15Daemon-0.2"
if use perl ; then
cd "${WORKDIR}/G15Daemon-0.2" || die
perl-module_src_compile
fi
}
@ -102,23 +102,22 @@ src_compile() {
src_install() {
default
find "${ED}" -name '*.la' -exec rm -f {} +
find "${ED}" -type f -name '*.la' -delete || die
# remove odd docs installed my make
rm "${ED}/usr/share/doc/${PF}/"{LICENSE,README.usage}
rm "${ED}"/usr/share/doc/${PF}/README.usage || die
insinto /usr/share/${PN}/contrib
doins contrib/xmodmaprc
doins contrib/xmodmap.sh
if use perl; then
if use perl ; then
doins contrib/testbindings.pl
fi
newconfd "${FILESDIR}/${PN}-1.2.7.confd" ${PN}
newinitd "${FILESDIR}/${PN}-1.9.5.3.initd" ${PN}
dobin "${FILESDIR}/g15daemon-hotplug"
insinto /lib/udev/rules.d
doins "${FILESDIR}/99-g15daemon.rules"
udev_dorules "${FILESDIR}/99-g15daemon.rules"
insinto /etc
doins "${FILESDIR}"/g15daemon.conf
@ -127,22 +126,12 @@ src_install() {
exeinto /usr/lib/pm-utils/sleep.d
doexe "${FILESDIR}"/20g15daemon
if use perl; then
if use perl ; then
ebegin "Installing Perl Bindings (G15Daemon.pm)"
cd "${WORKDIR}/G15Daemon-0.2"
cd "${WORKDIR}/G15Daemon-0.2" || die
docinto perl
perl-module_src_install
fi
if use python; then
ebegin "Installing Python Bindings (g15daemon.py)"
cd "${WORKDIR}/pyg15daemon"
python_foreach_impl python_domodule g15daemon.py
docinto python
dodoc AUTHORS
fi
}
pkg_postinst() {

@ -1,14 +1,13 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=7
PYTHON_COMPAT=( python2_7 )
GENTOO_DEPEND_ON_PERL="no"
ESVN_PROJECT=${PN}/trunk
ESVN_REPO_URI="https://svn.code.sf.net/p/${PN}/code/trunk/${PN}-wip"
inherit eutils linux-info perl-module python-r1 base subversion autotools
inherit autotools flag-o-matic linux-info perl-module subversion toolchain-funcs udev
DESCRIPTION="Takes control of the G15 keyboard, through the linux kernel uinput device driver"
HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
@ -17,7 +16,7 @@ HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE="perl python static-libs"
IUSE="perl static-libs"
DEPEND="virtual/libusb:0
>=dev-libs/libg15-9999
@ -26,16 +25,14 @@ DEPEND="virtual/libusb:0
dev-lang/perl
dev-perl/GDGraph
>=dev-perl/Inline-0.4
)
python? ( ${PYTHON_DEPS} )"
)"
RDEPEND="${DEPEND}"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
"${FILESDIR}/${PN}-1.9.5.3-g510-keys.patch"
"${FILESDIR}/${PN}-1.9.5.3-docdir.patch"
"${FILESDIR}/${PN}-1.9.5.3-avoid_bashisms.patch"
)
# "${FILESDIR}/${PN}-1.9.5.3-forgotten-open-mode.patch"
# "${FILESDIR}/${PN}-1.9.5.3-overflow-fix.patch"
uinput_check() {
ebegin "Checking for uinput support"
@ -43,7 +40,7 @@ uinput_check() {
linux_config_exists && linux_chkconfig_present INPUT_UINPUT
rc=$?
if [[ $rc -ne 0 ]] ; then
if [[ ${rc} -ne 0 ]] ; then
eerror "To use g15daemon, you need to compile your kernel with uinput support."
eerror "Please enable uinput support in your kernel config, found at:"
eerror
@ -55,49 +52,49 @@ uinput_check() {
}
pkg_setup() {
export CC="$(tc-getCC)" #729294
linux-info_pkg_setup
uinput_check
}
src_unpack() {
if [[ ${PV} = *9999* ]]; then
if [[ ${PV} = *9999* ]] ; then
subversion_src_unpack
else
unpack ${A}
fi
if use perl; then
if use perl ; then
unpack "./${P}/lang-bindings/perl-G15Daemon-0.2.tar.gz"
fi
if use python; then
unpack "./${P}/lang-bindings/pyg15daemon-0.0.tar.bz2"
fi
}
src_prepare() {
if [[ ${PV} = *9999* ]]; then
if [[ ${PV} = *9999* ]] ; then
subversion_wc_info
fi
if use perl; then
if use perl ; then
perl-module_src_prepare
sed -i \
-e '1i#!/usr/bin/perl' \
"${S}"/contrib/testbindings.pl
"${S}"/contrib/testbindings.pl || die
else
# perl-module_src_prepare always calls base_src_prepare
base_src_prepare
default
fi
if [[ ${PV} = *9999* ]]; then
if [[ ${PV} = *9999* ]] ; then
mv configure.{in,ac} || die
eautoreconf
fi
}
src_configure() {
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_enable static-libs static)
append-cflags -fcommon #706712
if use perl; then
cd "${WORKDIR}/G15Daemon-0.2"
econf $(use_enable static-libs static)
if use perl ; then
cd "${WORKDIR}/G15Daemon-0.2" || die
perl-module_src_configure
fi
}
@ -105,8 +102,8 @@ src_configure() {
src_compile() {
default
if use perl; then
cd "${WORKDIR}/G15Daemon-0.2"
if use perl ; then
cd "${WORKDIR}/G15Daemon-0.2" || die
perl-module_src_compile
fi
}
@ -114,23 +111,22 @@ src_compile() {
src_install() {
default
find "${ED}" -name '*.la' -exec rm -f {} +
find "${ED}" -type f -name '*.la' -delete || die
# remove odd docs installed my make
rm "${ED}/usr/share/doc/${PF}/"{LICENSE,README.usage}
rm "${ED}"/usr/share/doc/${PF}/README.usage || die
insinto /usr/share/${PN}/contrib
doins contrib/xmodmaprc
doins contrib/xmodmap.sh
if use perl; then
if use perl ; then
doins contrib/testbindings.pl
fi
newconfd "${FILESDIR}/${PN}-1.2.7.confd" ${PN}
newinitd "${FILESDIR}/${PN}-1.9.5.3.initd" ${PN}
dobin "${FILESDIR}/g15daemon-hotplug"
insinto /lib/udev/rules.d
doins "${FILESDIR}/99-g15daemon.rules"
udev_dorules "${FILESDIR}/99-g15daemon.rules"
insinto /etc
doins "${FILESDIR}"/g15daemon.conf
@ -139,22 +135,12 @@ src_install() {
exeinto /usr/lib/pm-utils/sleep.d
doexe "${FILESDIR}"/20g15daemon
if use perl; then
if use perl ; then
ebegin "Installing Perl Bindings (G15Daemon.pm)"
cd "${WORKDIR}/G15Daemon-0.2"
cd "${WORKDIR}/G15Daemon-0.2" || die
docinto perl
perl-module_src_install
fi
if use python; then
ebegin "Installing Python Bindings (g15daemon.py)"
cd "${WORKDIR}/pyg15daemon"
python_foreach_impl python_domodule g15daemon.py
docinto python
dodoc AUTHORS
fi
}
pkg_postinst() {

@ -1,8 +1,8 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit autotools eutils
EAPI=7
inherit autotools
DESCRIPTION="Macro recording plugin to G15daemon"
HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
@ -23,10 +23,14 @@ RDEPEND="${DEPEND}
sys-libs/zlib
"
PATCHES=(
"${FILESDIR}"/${P}-Makefile.am.patch
"${FILESDIR}"/${P}-configure.in.patch
)
src_prepare() {
epatch "${FILESDIR}"/${P}-Makefile.am.patch
epatch "${FILESDIR}"/${P}-configure.in.patch
mv configure.in configure.ac || die
default
mv configure.{in,ac} || die
eautoreconf
}
@ -36,5 +40,5 @@ src_configure() {
src_install() {
default
rm -rf "${ED}"/usr/share/doc/${P}
rm -rf "${ED}"/usr/share/doc/${P} || die
}

@ -0,0 +1,11 @@
--- g15message-1.0.0/Makefile.am
+++ g15message-1.0.0/Makefile.am
@@ -3,7 +3,7 @@
METASOURCES = AUTO
bin_PROGRAMS = g15message
-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+docdir = @docdir@
doc_DATA = README ChangeLog AUTHORS NEWS COPYING
LIBS = -lg15daemon_client -lg15render

@ -1,7 +1,9 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit autotools
DESCRIPTION="A simple message/alert client for G15daemon"
HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
@ -18,3 +20,11 @@ RDEPEND=">=app-misc/g15daemon-1.9.0
sys-libs/zlib
"
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}/${P}-docdir.patch" )
src_prepare() {
default
mv configure.{in,ac} || die
eautoreconf
}

@ -0,0 +1,11 @@
--- g15mpd-1.0.0/Makefile.am
+++ g15mpd-1.0.0/Makefile.am
@@ -3,7 +3,7 @@
METASOURCES = AUTO
bin_PROGRAMS = g15mpd
-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+docdir = @docdir@
doc_DATA = README ChangeLog AUTHORS NEWS COPYING
LIBS = -lg15daemon_client -lg15render -lX11 -lXtst -lmpd

@ -1,8 +1,8 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit autotools eutils
EAPI=7
inherit autotools
DESCRIPTION="MPD (music player daemon) plugin to G15daemon"
HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
@ -25,13 +25,19 @@ RDEPEND="
DEPEND="${RDEPEND}
x11-base/xorg-proto"
PATCHES=(
"${FILESDIR}/${P}-libmpd.patch"
"${FILESDIR}/${P}-cflags-and-lib-fix.patch"
"${FILESDIR}/${P}-docdir.patch"
)
src_prepare() {
epatch "${FILESDIR}"/${P}-libmpd.patch
epatch "${FILESDIR}/${PN}-1.0.0-cflags-and-lib-fix.patch"
default
mv configure.{in,ac} || die
eautoreconf
}
src_install() {
emake DESTDIR="${D}" install
rm "${D}"/usr/share/doc/${P}/{COPYING,NEWS}
default
rm "${ED}"/usr/share/doc/${PF}/{COPYING,NEWS} || die
}

@ -0,0 +1,11 @@
--- g15stats-1.9.7/Makefile.am
+++ g15stats-1.9.7/Makefile.am
@@ -4,7 +4,7 @@
bin_PROGRAMS = g15stats
noinst_HEADERS = g15stats.h
-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+docdir = @docdir@
doc_DATA = README ChangeLog AUTHORS NEWS COPYING
LIBS = -lg15daemon_client -lg15render -lpthread -lm -lrt

@ -1,7 +1,9 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=4
EAPI=7
inherit autotools
DESCRIPTION="CPU, memory, swap, network stats for G15 Keyboard"
HOMEPAGE="https://sourceforge.net/projects/g15daemon/"
@ -18,25 +20,25 @@ RDEPEND=">=app-misc/g15daemon-1.9.0
sys-libs/zlib
gnome-base/libgtop"
DEPEND="${RDEPEND}
virtual/pkgconfig"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=( "${FILESDIR}/${P}-docdir.patch" )
src_prepare() {
sh autogen.sh
default
mv configure.{in,ac} || die
eautoreconf
}
src_configure() {
export CPPFLAGS=$CFLAGS
export CPPFLAGS="${CFLAGS}"
econf
}
src_compile() {
emake
}
src_install() {
emake DESTDIR="${D}" install
rm "$D"/usr/share/doc/${P}/{COPYING,NEWS}
default
rm "${D}"/usr/share/doc/${PF}/{COPYING,NEWS} || die
newconfd "${FILESDIR}/${PN}-1.9.7.confd" ${PN}
newinitd "${FILESDIR}/${PN}-1.9.7.initd" ${PN}

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>hanno@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">ktoblzcheck</remote-id>
</upstream>

Binary file not shown.

@ -2,3 +2,4 @@ DIST eix-0.34.4.tar.xz 628516 BLAKE2B 0c7cb4d7cd13d7715ba35cc0edd38e549fd1d1618b
DIST eix-0.34.5.tar.xz 629276 BLAKE2B fe686512e5061bdbc8e499542972f2a3e65e672b111c8d4d8c22b093c65fcf02e4de8ad41805b69fe52c0d962f660c787a7a2639341cd8fd59d03c94c2601b79 SHA512 b11744ea36c0771e4959de4925b3d74df8c270633a21c82ff27f4c91cc5a9281a85a594f0d20d5eb5c3c15a6c08e74232030687cc85f588545216438dc4ff7d7
DIST eix-0.34.6.tar.xz 629424 BLAKE2B bad7bc0e9d0bb3752c1e4df4e267e3782b43b15445d0a6cb9554bff6811556edcb244deeacef5189477bb4bbf37a200e687dfa15677117766378cdb5ec40d9f1 SHA512 b9cae0c3be4ede9563da4d4eda61e26c83de449c27d5048e6611164ee2513d0ad729cfa3622ef74c5b1a77d12ac2ea8f7e7ae029d7cf04efae31ef054375eb78
DIST eix-0.34.7.tar.xz 629380 BLAKE2B 307a97550540a4d9edf25a825cba816b275f07d2df665286fd475aba008d6938cc67725b1067ce9b1cb7af19aabe6f057ad5bd8a0cfe1c75c5d831b1638870ef SHA512 14ceae8658d53524f8ffa8bfc54284da6c39b731d04f1fe4ae33fcb23899a9e3ed93211a3e9546857c7ee1cf0d1baaaf52ebd2f0a5183753fe77671abcffdc79
DIST eix-0.34.8.tar.xz 629380 BLAKE2B aa480c9228816dd795d82ee62a597d8171e1b861befdd3a5ad9daa634e337162a7074120b1649fd5962f67c3ef3decb0725492739ad62e5e824376e14b046b28 SHA512 9cbda3b2d449559063910a4234c26a5b8424ab244624ba093f7d5183600c53d0240948ffb891a9d94a961d3a32033cca374635992da6abf73d746f0356c1cc8e

@ -0,0 +1,102 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools bash-completion-r1 flag-o-matic tmpfiles
DESCRIPTION="Search and query ebuilds"
HOMEPAGE="https://github.com/vaeth/eix/"
SRC_URI="https://github.com/vaeth/eix/releases/download/v${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc nls sqlite"
BOTHDEPEND="nls? ( virtual/libintl )
sqlite? ( >=dev-db/sqlite-3:= )"
RDEPEND="${BOTHDEPEND}
>=app-shells/push-2.0-r1
>=app-shells/quoter-3.0_p2-r1"
DEPEND="${BOTHDEPEND}
app-arch/xz-utils
nls? ( sys-devel/gettext )"
pkg_setup() {
# remove stale cache file to prevent collisions
local old_cache=${EROOT}/var/cache/${PN}
if [[ -f ${old_cache} ]]; then
rm "${old_cache}" || die
fi
}
src_prepare() {
default
sed -i -e "s:/:${EPREFIX}/:" tmpfiles.d/eix.conf || die
sed -e "/eixf_source=/s:push.sh:cat \"${EPREFIX}/usr/share/push/push.sh\":" \
-e "/eixf_source=/s:quoter_pipe.sh:cat \"${EPREFIX}/usr/share/quoter/quoter_pipe.sh\":" \
-i src/eix-functions.sh.in || die
sed -e "s:'\$(bindir)/eix-functions.sh':cat \\\\\"${EPREFIX}/usr/share/eix/eix-functions\\\\\":" \
-i src/Makefile.am || die
eautoreconf
}
src_configure() {
local myconf=(
$(use_enable debug paranoic-asserts)
$(use_enable nls)
$(use_with doc extra-doc)
$(use_with sqlite)
--without-protobuf
# default configuration
$(use_with prefix always-accept-keywords)
--with-dep-default
--with-required-use-default
# paths
--with-portage-rootpath="${ROOTPATH}"
--with-eprefix-default="${EPREFIX}"
# build a single executable with symlinks
--disable-separate-binaries
--disable-separate-tools
# used purely to control/disrespect *FLAGS
--disable-debugging
--disable-new_dialect
--disable-optimization
--disable-strong-optimization
--disable-security
--disable-nopie-security
--disable-strong-security
)
econf "${myconf[@]}"
}
src_install() {
default
dobashcomp bash/eix
dotmpfiles tmpfiles.d/eix.conf
rm -r "${ED}"/usr/bin/eix-functions.sh || die
}
pkg_postinst() {
tmpfiles_process eix.conf
local obs=${EROOT}/var/cache/eix.previous
if [[ -f ${obs} ]]; then
ewarn "Found obsolete ${obs}, please remove it"
fi
}
pkg_postrm() {
if [[ ! -n ${REPLACED_BY_VERSION} ]]; then
rm -rf "${EROOT}/var/cache/${PN}" || die
fi
}

Binary file not shown.

@ -1,3 +1 @@
DIST editorconfig-vim-0.3.3.tar.gz 35395 BLAKE2B a7b65c1472024017dd408e5c4ac5048004d0bd55f44c7cfba49b5973cb445125ed89cc3d4363fb902a4c5fbb507f3ee5ed0ca48aece3fb6915e643bae0dbf70c SHA512 2dd968cf6bb162db8e6242ffb60cc61fb05a8042804b6b46b9f9cd35be968f83b473f04797e47c5cff11d7c052ff523bf8ba1d568992d44b72b97b54a81425a1
DIST editorconfig-vim-1.0.0-beta.tar.gz 31519 BLAKE2B 2d5e8e55e8dccc0b45453b8da9ecad80867a84d1ea20146581886f793c093c201521a7d1d4451122ae441d30f58acec28d29aa20da9de737b5beb7f44d55c0ed SHA512 159e3ca32a7ffe71853ba62a14d0469310b81345b0e704dd6a9f42c56f6f6b9a3f63502ccabcf43a15443acf4acefdaf078063ae747f49315b89f5518d7f9816
DIST editorconfig-vim-1.1.1.tar.gz 33287 BLAKE2B 4c79ac3bf1f82ca6182480ab2f3c2ee24b8234f5845c63d90434bb57271981554a0651d8bc0314c718ad9700adf7903fed45f5e400d8ae8a0b6d42932e89e071 SHA512 7b94db4b2f641ecd2d2623bf55bf9b457c007b2b5c8553cba5b7a75bc34823d6995d3c9ed13febe0f59de6f87c52eb0367591213c43c6fcd7c331c529126f4d6

@ -1,42 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=(python3_6)
inherit python-single-r1 vim-plugin
DESCRIPTION="vim plugin: Support EditorConfig files "
HOMEPAGE="https://editorconfig.org/"
SRC_URI="https://github.com/${PN%-vim}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
KEYWORDS="~amd64 ~x86"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/editorconfig-core-py[${PYTHON_MULTI_USEDEP}]
')
|| (
app-editors/vim[python,${PYTHON_SINGLE_USEDEP}]
app-editors/gvim[python,${PYTHON_SINGLE_USEDEP}]
)"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${P}-python3.patch"
"${FILESDIR}/${P}-max-line-length-off.patch"
"${FILESDIR}/${P}-fixes.patch"
)
VIM_PLUGIN_HELPFILES="${PN%-vim}.txt"
src_prepare() {
default
rm LICENSE mkzip.sh .editorconfig .gitignore .travis.yml || die
rm -r tests plugin/${PN%-vim}-core-py || die
}

@ -1,39 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit vim-plugin
MY_PV="${PV//_/-}"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="vim plugin: Support EditorConfig files "
HOMEPAGE="https://editorconfig.org/"
SRC_URI="https://github.com/${PN%-vim}/${PN}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="BSD-2 PSF-2"
KEYWORDS="~amd64 ~x86"
VIM_PLUGIN_HELPFILES="${PN%-vim}.txt"
PATCHES=(
"${FILESDIR}/editorconfig-vim-1.0.0_beta-wildcard-slash.patch"
)
src_prepare() {
default
rm LICENSE LICENSE.PSF \
mkzip.sh .editorconfig \
.git{ignore,modules} \
.{travis,appveyor}.yml || die
}
src_install() {
# we don't want to install the tests
rm -r tests || die
vim-plugin_src_install
}

@ -1,92 +0,0 @@
diff --git a/doc/editorconfig.txt b/doc/editorconfig.txt
index bd6173b..3b32012 100644
--- a/doc/editorconfig.txt
+++ b/doc/editorconfig.txt
@@ -79,7 +79,8 @@ empty. There are 3 modes currently: "external_command", "python_builtin",
"python_external".
python_builtin: Use the vim built-in python to run the python version
- EditorConfig Core.
+ EditorConfig Core. In this mode, Python 2.5 or higher
+ is required.
python_external: Use an external python interpreter to run the python
version EditorConfig Core.
external_command: Run external EditorConfig Core.
diff --git a/plugin/editorconfig.vim b/plugin/editorconfig.vim
index af4f630..9abd008 100644
--- a/plugin/editorconfig.vim
+++ b/plugin/editorconfig.vim
@@ -121,15 +121,15 @@ function! s:FindPythonFiles() " {{{1
let l:python_core_files_dir = fnamemodify(
\ findfile(g:EditorConfig_python_files_dir . '/main.py',
- \ ','.&runtimepath), ':p:h')
+ \ fnameescape(','.&runtimepath)), ':p:h')
if empty(l:python_core_files_dir)
let l:python_core_files_dir = ''
else
- " expand python core file path to full path, and remove the appending '/'
- let l:python_core_files_dir = substitute(
- \ fnamemodify(l:python_core_files_dir, ':p'), '/$', '', '')
+ " expand python core file path to full path, and remove the appending '/'
+ let l:python_core_files_dir = substitute(
+ \ fnamemodify(l:python_core_files_dir, ':p'), '/$', '', '')
endif
let &shellslash = l:old_shellslash
@@ -247,7 +247,7 @@ function! s:InitializePythonBuiltin(editorconfig_core_py_dir) " {{{2
" The following line modifies l:ret. This is a bit confusing but
" unfortunately to be compatible with Vim 7.3, we cannot use pyeval. This
" should be changed in the future.
- execute s:pyfile_cmd s:pyscript_path
+ execute s:pyfile_cmd fnameescape(s:pyscript_path)
return l:ret
endfunction
@@ -327,14 +327,19 @@ endif
function! s:UseConfigFiles()
+ let l:buffer_name = expand('%:p')
" ignore buffers without a name
- if empty(expand('%:p'))
+ if empty(l:buffer_name)
return
endif
+ if g:EditorConfig_verbose
+ echo 'Applying EditorConfig on file "' . l:buffer_name . '"'
+ endif
+
" Ignore specific patterns
for pattern in g:EditorConfig_exclude_patterns
- if expand('%:p') =~ pattern
+ if l:buffer_name =~ pattern
return
endif
endfor
@@ -386,8 +391,8 @@ endfunction
function! s:UseConfigFiles_Python_External() " {{{2
" Use external python interp to run the python EditorConfig Core
- let l:cmd = s:editorconfig_python_interp . ' ' .
- \ s:editorconfig_core_py_dir . '/main.py'
+ let l:cmd = shellescape(s:editorconfig_python_interp) . ' ' .
+ \ shellescape(s:editorconfig_core_py_dir . '/main.py')
call s:SpawnExternalParser(l:cmd)
@@ -445,6 +450,11 @@ function! s:SpawnExternalParser(cmd) " {{{2
return
endif
+ if g:EditorConfig_verbose
+ echo 'Output from EditorConfig core executable:'
+ echo l:parsing_result
+ endif
+
for one_line in l:parsing_result
let l:eq_pos = stridx(one_line, '=')

@ -1,20 +0,0 @@
commit 6e7011712398e53671e5a44edefeb68914562a3a
Author: Hong Xu <hong@topbug.net>
Date: Wed Apr 6 00:34:26 2016 -0700
Support max_line_length=off to leave the decision to the editor settings.
diff --git a/plugin/editorconfig.vim b/plugin/editorconfig.vim
index 9abd008..0e9d647 100644
--- a/plugin/editorconfig.vim
+++ b/plugin/editorconfig.vim
@@ -563,7 +563,8 @@ function! s:ApplyConfig(config) " {{{1
endif
" highlight the columns following max_line_length
- if has_key(a:config, 'max_line_length')
+ if has_key(a:config, 'max_line_length') &&
+ \ a:config['max_line_length'] != 'off'
let l:max_line_length = str2nr(a:config['max_line_length'])
if l:max_line_length >= 0

@ -1,213 +0,0 @@
commit c2b7a104b826b7ff9283d32cb95a039ddccde79b
Author: Shunsuke Shimizu <grafi@grafi.jp>
Date: Sun Jan 10 00:12:10 2016 -0800
Make the plugin to be compatible with Python 3.
Squashed commit of the following:
commit 0973c5179e504ffbd74a38d6557bb49fe3bf8b5d
Author: Hong Xu <hong@topbug.net>
Date: Sun Jan 10 00:11:11 2016 -0800
Some minor corrections
commit ca17e97e86bd6379bcf3782adfa200c1589cab69
Author: Shunsuke Shimizu <grafi@grafi.jp>
Date: Sun Jan 10 15:24:13 2016 +0900
vim 7.3 support by using `py[3]` command instead of `py[3]eval()` function
commit c51ae80ce0ca8fe24c014a7c2d54a85d604d3c88
Author: grafi <grafi@grafi.jp>
Date: Sun Jan 10 14:42:38 2016 +0900
use print_function on python2
commit 401a9486bba7528aa4d54b06b8ef3ace582829c9
Author: grafi <grafi@grafi.jp>
Date: Sun Jan 10 14:33:25 2016 +0900
assure that sys.path is cleaned
commit f3bf442429d9579a336a1bb8f98fee82710fbd1e
Author: grafi <grafi@grafi.jp>
Date: Sun Jan 10 14:22:45 2016 +0900
python3 style print
commit 8e059379328b23e4253f76cbd72d3ef484501d42
Author: Shunsuke Shimizu <grafi@grafi.jp>
Date: Sat Dec 26 07:54:49 2015 +0900
Support python3
diff --git a/plugin/editorconfig.py b/plugin/editorconfig.py
new file mode 100644
index 0000000..21ea9c7
--- /dev/null
+++ b/plugin/editorconfig.py
@@ -0,0 +1,42 @@
+from __future__ import print_function
+
+try:
+ try:
+ import vim
+ import sys
+ except:
+ vim.command('let l:ret = 2')
+ raise
+
+ try:
+ sys.path.insert(0, vim.eval('a:editorconfig_core_py_dir'))
+
+ import editorconfig
+ import editorconfig.exceptions as editorconfig_except
+ except:
+ vim.command('let l:ret = 3')
+ raise
+ finally:
+ del sys.path[0]
+
+ # `ec_` prefix is used in order to keep clean Python namespace
+ ec_data = {}
+
+ def ec_UseConfigFiles():
+ ec_data['filename'] = vim.eval("expand('%:p')")
+ ec_data['conf_file'] = ".editorconfig"
+
+ try:
+ ec_data['options'] = editorconfig.get_properties(ec_data['filename'])
+ except editorconfig_except.EditorConfigError as e:
+ if int(vim.eval('g:EditorConfig_verbose')) != 0:
+ print(str(e), file=sys.stderr)
+ vim.command('let l:ret = 1')
+ return
+
+ for key, value in ec_data['options'].items():
+ vim.command("let l:config['" + key.replace("'", "''") + "'] = " +
+ "'" + value.replace("'", "''") + "'")
+
+except:
+ pass
diff --git a/plugin/editorconfig.vim b/plugin/editorconfig.vim
index a21b103..af4f630 100644
--- a/plugin/editorconfig.vim
+++ b/plugin/editorconfig.vim
@@ -36,6 +36,8 @@ let g:loaded_EditorConfig = 1
let s:saved_cpo = &cpo
set cpo&vim
+let s:pyscript_path = expand('<sfile>:p:r') . '.py'
+
" variables {{{1
if !exists('g:EditorConfig_exec_path')
let g:EditorConfig_exec_path = ''
@@ -231,48 +233,23 @@ function! s:InitializePythonBuiltin(editorconfig_core_py_dir) " {{{2
let s:builtin_python_initialized = 1
- let l:ret = 0
-
- if !has('python')
+ if has('python')
+ let s:pyfile_cmd = 'pyfile'
+ let s:py_cmd = 'py'
+ elseif has('python3')
+ let s:pyfile_cmd = 'py3file'
+ let s:py_cmd = 'py3'
+ else
return 1
endif
- python << EEOOFF
-
-try:
- import vim
- import sys
-except:
- vim.command('let l:ret = 2')
-
-EEOOFF
-
- if l:ret != 0
- return l:ret
- endif
-
- python << EEOOFF
-
-try:
- sys.path.insert(0, vim.eval('a:editorconfig_core_py_dir'))
-
- import editorconfig
- import editorconfig.exceptions as editorconfig_except
-
-except:
- vim.command('let l:ret = 3')
-
-del sys.path[0]
-
-ec_data = {} # used in order to keep clean Python namespace
-
-EEOOFF
-
- if l:ret != 0
- return l:ret
- endif
+ let l:ret = 0
+ " The following line modifies l:ret. This is a bit confusing but
+ " unfortunately to be compatible with Vim 7.3, we cannot use pyeval. This
+ " should be changed in the future.
+ execute s:pyfile_cmd s:pyscript_path
- return 0
+ return l:ret
endfunction
" Do some initalization for the case that the user has specified core mode {{{1
@@ -388,41 +365,22 @@ augroup END
function! s:UseConfigFiles_Python_Builtin() " {{{2
" Use built-in python to run the python EditorConfig core
- let l:config = {}
- let l:ret = 0
-
" ignore buffers that do not have a file path associated
if empty(expand('%:p'))
return 0
endif
- python << EEOOFF
-
-ec_data['filename'] = vim.eval("expand('%:p')")
-ec_data['conf_file'] = ".editorconfig"
-
-try:
- ec_data['options'] = editorconfig.get_properties(ec_data['filename'])
-except editorconfig_except.EditorConfigError as e:
- if int(vim.eval('g:EditorConfig_verbose')) != 0:
- print >> sys.stderr, str(e)
- vim.command('let l:ret = 1')
+ let l:config = {}
-EEOOFF
+ let l:ret = 0
+ execute s:py_cmd 'ec_UseConfigFiles()'
if l:ret != 0
return l:ret
endif
- python << EEOOFF
-for key, value in ec_data['options'].items():
- vim.command("let l:config['" + key.replace("'", "''") + "'] = " +
- "'" + value.replace("'", "''") + "'")
-
-EEOOFF
-
call s:ApplyConfig(l:config)
- return 0
+ return l:ret
endfunction
function! s:UseConfigFiles_Python_External() " {{{2

@ -1,22 +0,0 @@
From 8b533e933f1e4904daae72e9d84f939cd18ffca8 Mon Sep 17 00:00:00 2001
From: Chris White <cxwembedded@gmail.com>
Date: Sat, 20 Jul 2019 13:14:57 -0400
Subject: [PATCH] '?' wildcard does not match '/' (fixes #124)
---
autoload/editorconfig_core/fnmatch.vim | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/autoload/editorconfig_core/fnmatch.vim b/autoload/editorconfig_core/fnmatch.vim
index 14833bf0..6f60db5d 100644
--- a/autoload/editorconfig_core/fnmatch.vim
+++ b/autoload/editorconfig_core/fnmatch.vim
@@ -199,7 +199,7 @@ function! editorconfig_core#fnmatch#translate(pat, ...)
endif
elseif l:current_char ==# '?'
- let l:result .= '\_.'
+ let l:result .= '\_[^/]'
elseif l:current_char ==# '['
if l:in_brackets

Binary file not shown.

@ -1,26 +0,0 @@
diff --git a/hardware/arduino/avr/platform.txt b/hardware/arduino/avr/platform.txt
index f7fb447c1..8ae8b73d9 100644
--- a/hardware/arduino/avr/platform.txt
+++ b/hardware/arduino/avr/platform.txt
@@ -18,7 +18,7 @@ compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra
# Default "compiler.path" is correct, change only if you want to override the initial value
-compiler.path={runtime.tools.avr-gcc.path}/bin/
+compiler.path=/usr/bin/
compiler.c.cmd=avr-gcc
compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects
compiler.c.elf.flags={compiler.warning_flags} -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections
@@ -91,9 +91,9 @@ recipe.preproc.macros="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {
# AVR Uploader/Programmers tools
# ------------------------------
-tools.avrdude.path={runtime.tools.avrdude.path}
-tools.avrdude.cmd.path={path}/bin/avrdude
-tools.avrdude.config.path={path}/etc/avrdude.conf
+tools.avrdude.path=/usr
+tools.avrdude.cmd.path=/usr/bin/avrdude
+tools.avrdude.config.path=/etc/avrdude.conf
tools.avrdude.network_cmd={runtime.tools.arduinoOTA.path}/bin/arduinoOTA

@ -1,31 +0,0 @@
diff --git a/build/build.xml b/build/build.xml
index d95f8def6..13ba60286 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -641,7 +641,7 @@
</chmod>
</target>
- <target name="linux-libastyle-x86" depends="linux-build" description="Download libastyle.so for x86/x64 arch">
+ <target name="linux-libastyle-x86" depends="linux-build" description="Download libastyle.so for x86/x64 arch" if="never">
<antcall target="unzip">
<param name="archive_file" value="./libastylej-2.05.1-3.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
@@ -666,7 +666,7 @@
</target>
- <target name="linux-libastyle-arm" depends="linux-build" description="Download libastyle.so for ARM">
+ <target name="linux-libastyle-arm" depends="linux-build" description="Download libastyle.so for ARM" if="never">
<antcall target="unzip">
<param name="archive_file" value="./libastylej-2.05.1-3.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
@@ -1186,7 +1186,7 @@
depends="linux-clean, windows-clean, macosx-clean, subprojects-clean">
</target>
- <target name="avr-toolchain-bundle" unless="light_bundle">
+ <target name="avr-toolchain-bundle" if="never">
<!-- Unzip AVR tools -->
<mkdir dir="${staging_folder}/work/${staging_hardware_folder}/tmp/gcc"/>

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save