parent
2f09fb071e
commit
a2e196b4b4
@ -0,0 +1,51 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit pam systemd
|
||||
|
||||
DESCRIPTION="Monitoring and managing daemons or similar programs running on a Unix system"
|
||||
HOMEPAGE="http://mmonit.com/monit/"
|
||||
SRC_URI="http://mmonit.com/monit/dist/${P}.tar.gz"
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
|
||||
IUSE="libressl pam ssl"
|
||||
|
||||
RDEPEND="
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/flex
|
||||
sys-devel/bison
|
||||
pam? ( virtual/pam )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i -e '/^INSTALL_PROG/s/-s//' Makefile.in || die "sed failed in Makefile.in"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf $(use_with ssl) $(use_with pam)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
dodoc README
|
||||
|
||||
insinto /etc; insopts -m600; doins monitrc
|
||||
newinitd "${FILESDIR}"/monit.initd-5.0-r1 monit
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
|
||||
use pam && newpamd "${FILESDIR}"/${PN}.pamd ${PN}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Sample configurations are available at:"
|
||||
elog "http://mmonit.com/monit/documentation/"
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/${PN}"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
EGIT_COMMIT="aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.tools"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="hardened +seccomp"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-emulation/docker-runc-1.0.0_rc2
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
src_compile() {
|
||||
local options=( $(usex seccomp "seccomp") )
|
||||
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
|
||||
LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') emake GIT_COMMIT="$EGIT_COMMIT" BUILDTAGS="${options[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/containerd* bin/ctr
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/${PN}"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
EGIT_COMMIT="665e84e6c28653a9c29a6db601636a92d46896f3"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.tools"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="hardened +seccomp"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-emulation/docker-runc-1.0.0_rc2
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
src_compile() {
|
||||
local options=( $(usex seccomp "seccomp") )
|
||||
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
|
||||
LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') emake GIT_COMMIT="$EGIT_COMMIT" BUILDTAGS="${options[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/containerd* bin/ctr
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
DIST diskimage-builder-1.28.0.tar.gz 267409 SHA256 2d8999a8484d27e8604d125aabcbdad648f8b601776225cfc611faf1a3b9a0e6 SHA512 ae13e29563f90a4aaa4f2bee889bca4fd662da41fcffb957ca8a4380907e5d89fbc25ecb93aeda2cb5597776b51417388e8a5e39741250d68a8f7f67239ebc7f WHIRLPOOL 7cfcefcf37fd0d5fae4fb8d3284ad3b60e53e4a2853c85625a1925c34bd4cdbee999932089f7dae81adcf699226ba1550f729a2b1b8aab4b6e54c10c7148fea1
|
||||
DIST diskimage-builder-2.3.2.tar.gz 300867 SHA256 332da7bd750ede7bef77bfa009cf83fd00d7b6f8bba9562b5d30e45b9f4df41d SHA512 4ee9ff23b7fe4676e7aed97ca4c11c0bee22fb7b6de7c0aa34ad3ac111874220fe18b12fce81f627da978f4888892b9d01094246de18441f625bcb64e3dc0fe3 WHIRLPOOL 68f0489af55d254c62428b98f6720e2e7878d9608e49b8ee2e1123477f00a953de7a9a4a60a820f59f284765ac711800ee394092fe5e1fdc18a0da5d5d21c000
|
||||
DIST diskimage-builder-2.3.3.tar.gz 294768 SHA256 227943d8702a66c9ed08d59362324bc79951ad7c11d9efdb67c32b2fbd517af2 SHA512 d3e97ef520270d056877bef467d9fb4bb8bd64ebff149ca7e8a5b11e5f19043a93932968d61b7efe7e54767dc88e04536ceb8b664e9c40ab388eac52303e2a74 WHIRLPOOL c780d3de0bcc43e35b5b12bbd188eece079467eec5ea7a426450d30f14135cdd4fe82985804514c1382424aae41534af37c163e55de98031d3327d89743a3a2b
|
||||
EBUILD diskimage-builder-1.28.0.ebuild 915 SHA256 d41041600d3d3a90b563e56873efc458db095de051c01e557b486760d2fa8149 SHA512 eb129f8527f64dbaf9f207512b4cb0b5384c546bdda76f9b3c5df4f23b276c6c33ffc4ca7dce9441db97af3cb7216d87c1040dbc85aa6dbb33edc15e24996955 WHIRLPOOL be568ffade8ac29dd0ceff5cfc88391cebee74d120b055751470250f98955edb0023961b9b5441cdf61812060db47b70a9e4b281687912478e5b9ebebaad11d6
|
||||
EBUILD diskimage-builder-2.3.2.ebuild 969 SHA256 e6ad5c63edd1b5cd6909411662b0050da50137b96bea2306a48c49358b4c0122 SHA512 299c6fba9299b2b02e04c321b70f9628ff4720a84e663e3988e6b84fa3636e480573e9956837fdb55e2235864f7abfa92551f10ddefafcc834d1019a19112f56 WHIRLPOOL 0fef0fac0bfd578ddb9df8c153436671756b6c4285a8e89391c44c36ef6860ddc60e5302cbb7640f70d5fbf9afaa0e43197c6824a56369229ad4235c77196f0f
|
||||
EBUILD diskimage-builder-2.3.3.ebuild 1011 SHA256 a4a8369e60f56af4b3ad9c5b46893d9b9879912276ce1c722bcb8655edeb5ba6 SHA512 ebfde90865d0e66bce5139d416d9cda58cb836102984d7ba39d294b46671a1fd3574d09177070c8ab4152f6ce186679769628413d14c45e2ed2bf2555ff80222 WHIRLPOOL cfaa964f62c68f58179fbb54771fa87f5a8fe05ff1899db897c66b8cb1de7c9f9c24c44508f1881494948581d774ab2d0934ded9ff5ae233c1911616dd5c8834
|
||||
MISC ChangeLog 1987 SHA256 80e24f8406e897762ef9deb02d2d61e0ba5a6a827457ba0c3ea9ed19e4936c5f SHA512 05da20a179d6bd337cb5c22a119cd8f991c19d715b56dc0348283467e44c8bb26014d5cae2112a758e5f5d7384372375f1a82d301f0fca7e381ffc48be8632f7 WHIRLPOOL f004bc9ccdd869f07cb1a7ddafa56af3dbe685f0aa4aae47c07bf268eae05fe59ebdf9e69673321bbf26984731829c807a8140b8be0c64637b1b8d14a53cbd40
|
||||
MISC metadata.xml 718 SHA256 b74cd0a9cd8f40e45fe04f8c22f267f95740d534c3c8c60f42e64b1d63a44731 SHA512 8e16e9d92a81049d414ae54eaf7a4467982cbd949230adcfab22b636ba2b91885d80e9b047788ccd07eab547ae2f85a56d989b971b64bd926e6ca70972398277 WHIRLPOOL 05967793be1e8e7e2998fb98069e58c449f1a494e5cbec8d504d6678e2026b420e557b8309abbbfa789b46aefccafcd1d13e95531efaf68d1cfa08eb360b3363
|
||||
|
@ -1,290 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/docker/docker"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
DOCKER_GITCOMMIT="092cba3"
|
||||
EGIT_COMMIT="v${MY_PV}"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://dockerproject.org"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor aufs btrfs +container-init +device-mapper hardened overlay pkcs11 seccomp"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
dev-go/go-md2man
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
!app-emulation/docker-bin
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
|
||||
>=app-emulation/containerd-0.2.5
|
||||
app-emulation/docker-runc[apparmor?,seccomp?]
|
||||
app-emulation/docker-proxy
|
||||
container-init? ( >=sys-process/tini-0.13.0[static] )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
CONFIG_CHECK="
|
||||
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
|
||||
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
|
||||
~KEYS
|
||||
~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
|
||||
~NF_NAT ~NF_NAT_NEEDED
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT
|
||||
|
||||
~VXLAN
|
||||
~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PV}-split-openrc-log.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 3 10; then
|
||||
ewarn ""
|
||||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
|
||||
fi
|
||||
|
||||
# for where these kernel versions come from, see:
|
||||
# https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
|
||||
if ! {
|
||||
kernel_is ge 3 16 \
|
||||
|| { kernel_is 3 15 && kernel_is ge 3 15 5; } \
|
||||
|| { kernel_is 3 14 && kernel_is ge 3 14 12; } \
|
||||
|| { kernel_is 3 12 && kernel_is ge 3 12 25; }
|
||||
}; then
|
||||
ewarn ""
|
||||
ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
|
||||
ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
|
||||
ewarn ""
|
||||
ewarn "See also https://github.com/docker/docker/issues/2960"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 18; then
|
||||
CONFIG_CHECK+="
|
||||
~RESOURCE_COUNTERS
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 13; then
|
||||
CONFIG_CHECK+="
|
||||
~NETPRIO_CGROUP
|
||||
"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_NET_PRIO
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||
fi
|
||||
|
||||
if use btrfs; then
|
||||
CONFIG_CHECK+="
|
||||
~BTRFS_FS
|
||||
~BTRFS_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
if use device-mapper; then
|
||||
CONFIG_CHECK+="
|
||||
~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
# create docker group for the code checking for it in /etc/group
|
||||
enewgroup docker
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# if we're building from a tarball, we need the GITCOMMIT value
|
||||
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-client || die
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor pkcs11 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
# time to build!
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
# build the man pages too
|
||||
./man/md2man-all.sh || die "unable to generate man pages"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
VERSION="$(cat VERSION)"
|
||||
newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
|
||||
newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
|
||||
dosym containerd /usr/bin/docker-containerd
|
||||
dosym containerd-shim /usr/bin/docker-containerd-shim
|
||||
dosym runc /usr/bin/docker-runc
|
||||
use container-init && dosym tini /usr/bin/docker-init
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
systemd_dounit contrib/init/systemd/docker.{service,socket}
|
||||
|
||||
udev_dorules contrib/udev/*.rules
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
doman man/man*/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
elog
|
||||
elog "To use Docker, the Docker daemon must be running as root. To automatically"
|
||||
elog "start the Docker daemon at boot, add Docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog " usermod -aG docker youruser"
|
||||
elog
|
||||
}
|
@ -1,292 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/docker/docker"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
DOCKER_GITCOMMIT="092cba3"
|
||||
EGIT_COMMIT="v${MY_PV}"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://dockerproject.org"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor aufs btrfs +container-init +device-mapper hardened overlay pkcs11 seccomp"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
dev-go/go-md2man
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
# Runc/Containerd: Unfortunately docker does not version the releases, in order to avoid
|
||||
# incompatiblities we depend on snapshots
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
!app-emulation/docker-bin
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
|
||||
~app-emulation/containerd-0.2.3_p20170131
|
||||
~app-emulation/docker-runc-1.0.0_rc2_p20170201[apparmor?,seccomp?]
|
||||
app-emulation/docker-proxy
|
||||
container-init? ( >=sys-process/tini-0.13.0[static] )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
CONFIG_CHECK="
|
||||
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
|
||||
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
|
||||
~KEYS
|
||||
~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
|
||||
~NF_NAT ~NF_NAT_NEEDED
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT
|
||||
|
||||
~VXLAN
|
||||
~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PV}-split-openrc-log.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 3 10; then
|
||||
ewarn ""
|
||||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
|
||||
fi
|
||||
|
||||
# for where these kernel versions come from, see:
|
||||
# https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
|
||||
if ! {
|
||||
kernel_is ge 3 16 \
|
||||
|| { kernel_is 3 15 && kernel_is ge 3 15 5; } \
|
||||
|| { kernel_is 3 14 && kernel_is ge 3 14 12; } \
|
||||
|| { kernel_is 3 12 && kernel_is ge 3 12 25; }
|
||||
}; then
|
||||
ewarn ""
|
||||
ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
|
||||
ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
|
||||
ewarn ""
|
||||
ewarn "See also https://github.com/docker/docker/issues/2960"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 18; then
|
||||
CONFIG_CHECK+="
|
||||
~RESOURCE_COUNTERS
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 13; then
|
||||
CONFIG_CHECK+="
|
||||
~NETPRIO_CGROUP
|
||||
"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_NET_PRIO
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||
fi
|
||||
|
||||
if use btrfs; then
|
||||
CONFIG_CHECK+="
|
||||
~BTRFS_FS
|
||||
~BTRFS_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
if use device-mapper; then
|
||||
CONFIG_CHECK+="
|
||||
~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
# create docker group for the code checking for it in /etc/group
|
||||
enewgroup docker
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# if we're building from a tarball, we need the GITCOMMIT value
|
||||
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-client || die
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor pkcs11 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
# time to build!
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
# build the man pages too
|
||||
./man/md2man-all.sh || die "unable to generate man pages"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
VERSION="$(cat VERSION)"
|
||||
newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
|
||||
newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
|
||||
dosym containerd /usr/bin/docker-containerd
|
||||
dosym containerd-shim /usr/bin/docker-containerd-shim
|
||||
dosym runc /usr/bin/docker-runc
|
||||
use container-init && dosym tini /usr/bin/docker-init
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
systemd_dounit contrib/init/systemd/docker.{service,socket}
|
||||
|
||||
udev_dorules contrib/udev/*.rules
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
doman man/man*/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
elog
|
||||
elog "To use Docker, the Docker daemon must be running as root. To automatically"
|
||||
elog "start the Docker daemon at boot, add Docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog " usermod -aG docker youruser"
|
||||
elog
|
||||
}
|
@ -1,292 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/docker/docker"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
DOCKER_GITCOMMIT="60ccb22"
|
||||
EGIT_COMMIT="v${MY_PV}-ce"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://dockerproject.org"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor aufs btrfs +container-init +device-mapper hardened overlay pkcs11 seccomp"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
dev-go/go-md2man
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
# Runc/Containerd: Unfortunately docker does not version the releases, in order to avoid
|
||||
# incompatiblities we depend on snapshots
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
!app-emulation/docker-bin
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
|
||||
~app-emulation/containerd-0.2.3_p20170131
|
||||
~app-emulation/docker-runc-1.0.0_rc2_p20170222[apparmor?,seccomp?]
|
||||
app-emulation/docker-proxy
|
||||
container-init? ( >=sys-process/tini-0.13.0[static] )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
CONFIG_CHECK="
|
||||
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
|
||||
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
|
||||
~KEYS
|
||||
~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
|
||||
~NF_NAT ~NF_NAT_NEEDED
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT
|
||||
|
||||
~VXLAN
|
||||
~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/1.13.1-split-openrc-log.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 3 10; then
|
||||
ewarn ""
|
||||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
|
||||
fi
|
||||
|
||||
# for where these kernel versions come from, see:
|
||||
# https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
|
||||
if ! {
|
||||
kernel_is ge 3 16 \
|
||||
|| { kernel_is 3 15 && kernel_is ge 3 15 5; } \
|
||||
|| { kernel_is 3 14 && kernel_is ge 3 14 12; } \
|
||||
|| { kernel_is 3 12 && kernel_is ge 3 12 25; }
|
||||
}; then
|
||||
ewarn ""
|
||||
ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
|
||||
ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
|
||||
ewarn ""
|
||||
ewarn "See also https://github.com/docker/docker/issues/2960"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 18; then
|
||||
CONFIG_CHECK+="
|
||||
~RESOURCE_COUNTERS
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 13; then
|
||||
CONFIG_CHECK+="
|
||||
~NETPRIO_CGROUP
|
||||
"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_NET_PRIO
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||
fi
|
||||
|
||||
if use btrfs; then
|
||||
CONFIG_CHECK+="
|
||||
~BTRFS_FS
|
||||
~BTRFS_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
if use device-mapper; then
|
||||
CONFIG_CHECK+="
|
||||
~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
# create docker group for the code checking for it in /etc/group
|
||||
enewgroup docker
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# if we're building from a tarball, we need the GITCOMMIT value
|
||||
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-client || die
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor pkcs11 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
# time to build!
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
# build the man pages too
|
||||
./man/md2man-all.sh || die "unable to generate man pages"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
VERSION="$(cat VERSION)"
|
||||
newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
|
||||
newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
|
||||
dosym containerd /usr/bin/docker-containerd
|
||||
dosym containerd-shim /usr/bin/docker-containerd-shim
|
||||
dosym runc /usr/bin/docker-runc
|
||||
use container-init && dosym tini /usr/bin/docker-init
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
systemd_dounit contrib/init/systemd/docker.{service,socket}
|
||||
|
||||
udev_dorules contrib/udev/*.rules
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
doman man/man*/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
elog
|
||||
elog "To use Docker, the Docker daemon must be running as root. To automatically"
|
||||
elog "start the Docker daemon at boot, add Docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog " usermod -aG docker youruser"
|
||||
elog
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
DIST genymotion-2.8.1_x64.bin 47061574 SHA256 4f971beb117c578d07ca71a7a8d6cd3a574fdee2df48eb165a15a26b57625408 SHA512 8ca4f46e983ffa2a19c21e961b6638af859f7635bd3a976c0b5709622a536569c81ccf3b08f52f0016e37990d83b1fd38cc86c9dbb5599e727fd48558567dfa7 WHIRLPOOL 2ccd896f1f017d2399366d822b5615b607fe74d557d3c3b6c746bdd2814cd081835397608a08f1135367cb79a26e19917f0f4186d1e535b63f347647afbbc5ce
|
||||
DIST genymotion-2.9.0-linux_x64.bin 44858494 SHA256 2392c8fdce45354d109b001e72d994f26bd6d4a3976ef91f02404178dc66c110 SHA512 cf96b804ecfb5c620d20ce601ab6a99bdcc9365efa9bf6e830ac54c75ad2838372115db425a549b89a05bc496ce39dbb51a3abeba1641e300f801f996eeaaf1f WHIRLPOOL 49b2abe0f04b34810140410deac8a0063787963828186b97bc595da94686b50b46c5c7422dcc4bb49b26eb8cf438e696914f11fd0bb37f0830731781bfe401d8
|
||||
EBUILD genymotion-bin-2.8.1-r1.ebuild 3757 SHA256 e4dcfbe6d53f039f53354d199ea77d9b4f9a42a8e46c9bc59b00f65f76647049 SHA512 6d4818bed8188c3ecb48a4c01927b5fa5212f548c361f4b7b7e543c9fedaf74c023d0fa5169b778a83d9d847dd3080b1e8f83af5cd37b2ee03e0d99ae38d511e WHIRLPOOL 4e5a6670ce2de129376983f303f6962fed7631668fbfbe710e6b4b1da886198708f96263c1592c1de70df0ad1b2765cccb114489e21d7944a817bf8319cc85ab
|
||||
EBUILD genymotion-bin-2.9.0.ebuild 3776 SHA256 c853471fb2736ec97c4e4118e480b3f85c6595aede3f41a3914c176b191db3e7 SHA512 ffacb840894a95297136cc4efd5d9cb11bbc927c416f4095b26987efcc0c75feef325146051769914cd64c91dcbfdc076af1df3478c7f80de76cbe401cf4d1f0 WHIRLPOOL d75c5c27f46d810a3a6221d7f6af96fb96e88f7a1ba7a2188561d24b2d7aeff041d0e9c4bc0702666cbec5906cf5d271ed0f61bc5060316be0522a95b67c2ef7
|
||||
MISC metadata.xml 483 SHA256 3189925dafcaf3b34f724d664336faf0aa62d7631130d1a567e06d853e21b80e SHA512 e88ad9fd8c20d5be5569c64544c3f4dd72eb3243d46333c30aaa1b939eb6ce35855aa3e771008b2fff990de5b2e5bf79ca378714e3cf7dc375144b7cd8f5649c WHIRLPOOL cf4cb60c0bef411a744dc35f3405ecf169c30b44320dd87828ea20e832a647e6ae4758ab6780fa20f3704b805e2dac41adc3a83aae524a7d728e853b624bc0af
|
||||
|
@ -0,0 +1,120 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils bash-completion-r1
|
||||
|
||||
MY_PN="${PN/-bin}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Complete set of tools that provide a virtual environment for Android"
|
||||
HOMEPAGE="http://genymotion.com"
|
||||
SRC_URI="${MY_P}-linux_x64.bin"
|
||||
DOWNLOAD_URL="https://www.genymotion.com/download/"
|
||||
|
||||
LICENSE="genymotion"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="|| ( >=app-emulation/virtualbox-5.0.28 >=app-emulation/virtualbox-bin-5.0.28 )
|
||||
virtual/opengl
|
||||
media-libs/libpng:1.2
|
||||
dev-libs/openssl
|
||||
dev-qt/qtgui:5[libinput,xcb]
|
||||
dev-qt/qtsql:5[sqlite]
|
||||
dev-qt/qtwebkit:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtx11extras:5
|
||||
dev-qt/qtdeclarative:5
|
||||
dev-qt/qtconcurrent:5
|
||||
dev-util/android-sdk-update-manager
|
||||
media-libs/jpeg:8
|
||||
dev-libs/double-conversion
|
||||
sys-apps/util-linux
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/harfbuzz[graphite]
|
||||
>=dev-libs/libffi-3.0.13-r1
|
||||
media-libs/gstreamer[orc]
|
||||
"
|
||||
RESTRICT="bindist fetch"
|
||||
S="${WORKDIR}"
|
||||
|
||||
pkg_nofetch() {
|
||||
einfo
|
||||
einfo "Please visit ${DOWNLOAD_URL} and download ${A}"
|
||||
einfo "which must be placed in DISTDIR directory."
|
||||
einfo
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cp "${DISTDIR}/${A}" "${WORKDIR}" || die "cp failed"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# removed function _install_desktop_file because happens outside of sandbox
|
||||
sed -i -e "s/_install_desktop_file\ ||\ abort//" ${A} || die "sed failed"
|
||||
chmod +x ${A} || die "chmod failed"
|
||||
yes | ./${A} -d "${S}" > /dev/null || die "unpack failed"
|
||||
|
||||
# removed windows line for bashcompletion
|
||||
sed -i -e "s/complete\ -F\ _gmtool\ gmtool.exe//" "${S}/${MY_PN}/completion/bash/gmtool.bash" || die "sed failed"
|
||||
}
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${MY_PN}/*.so*
|
||||
opt/${MY_PN}/imageformats/*.so
|
||||
opt/${MY_PN}/plugins/*.so*
|
||||
opt/${MY_PN}/device-upgrade
|
||||
opt/${MY_PN}/${MY_PN}
|
||||
opt/${MY_PN}/genyshell
|
||||
opt/${MY_PN}/player
|
||||
opt/${MY_PN}/${MY_PN}adbtunneld
|
||||
opt/${MY_PN}/gmtool
|
||||
"
|
||||
|
||||
src_install() {
|
||||
insinto /opt/"${MY_PN}"
|
||||
doins -r "${MY_PN}"/{plugins,translations,icons}
|
||||
|
||||
doins "${MY_PN}"/{libcom,librendering}.so*
|
||||
# library that differ from system version
|
||||
doins "${MY_PN}"/{libicudata,libicui18n,libicuuc,libswscale,libavutil,libprotobuf}.so*
|
||||
# android library
|
||||
doins "${MY_PN}"/{libEGL_translator,libGLES_CM_translator,libGLES_V2_translator,libOpenglRender,libemugl_logger}.so*
|
||||
|
||||
insopts -m0755
|
||||
doins "${MY_PN}"/{device-upgrade,genymotion,genyshell,player,genymotionadbtunneld,gmtool}
|
||||
|
||||
dosym "${ED%/}"/opt/"${MY_PN}"/genyshell /opt/bin/genyshell
|
||||
dosym "${ED%/}"/opt/"${MY_PN}"/"${MY_PN}" /opt/bin/"${MY_PN}"
|
||||
dosym "${ED%/}"/opt/"${MY_PN}"/device-upgrade /opt/bin/"${MY_PN}"-device-upgrade
|
||||
dosym "${ED%/}"/opt/"${MY_PN}"/player /opt/bin/"${MY_PN}"-player
|
||||
dosym "${ED%/}"/opt/"${MY_PN}"/"${MY_PN}"adbtunneld /opt/bin/"${MY_PN}"adbtunneld
|
||||
dosym "${ED%/}"/opt/"${MY_PN}"/gmtool /opt/bin/gmtool
|
||||
|
||||
# Workaround
|
||||
dosym "${ED%/}/"usr/$(get_libdir)/qt5/plugins/imageformats/libqsvg.so /opt/"${MY_PN}"/imageformats/libqsvg.so
|
||||
|
||||
newbashcomp "${MY_PN}/completion/bash/gmtool.bash" gmtool
|
||||
|
||||
if has_version "app-shells/zsh" ; then
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins "${MY_PN}/completion/zsh/_gmtool"
|
||||
fi
|
||||
|
||||
make_desktop_entry "/opt/${MY_PN}/${MY_PN}" "Genymotion ${PV}" "/opt/${MY_PN}/icons/icon.png" "Development;Emulator;"
|
||||
mv "${ED%/}"/usr/share/applications/*.desktop "${ED%/}"/usr/share/applications/"${MY_PN}".desktop || die "mv failed"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Genymotion needs adb to work correctly: install with android-sdk-update-manager"
|
||||
elog "'Android SDK Platform-tools' and 'Android SDK Tools'"
|
||||
elog "Your user should also be in the android group to work correctly"
|
||||
elog "Then in Genymotion set the android-sdk-update-manager directory: (Settings->ADB)"
|
||||
elog
|
||||
elog " /opt/android-sdk-update-manager"
|
||||
}
|
@ -1,13 +1,15 @@
|
||||
DIST VBoxGuestAdditions_5.0.16.iso 60063744 SHA256 8190f1e4031f8195971c2a97d2d3b1cf2d86fc83219f750d05cee9255c7dad85 SHA512 8a9d3fcb96a450163f357b92f8149f58700ec65c127fb872b103554417979fbe624a9e1bced3bb6cbf4b0bb6a5c3bbcae9581836cc5d3fde7a034d4032e519f9 WHIRLPOOL 89ed9064014a715a892388b5dbe3c4b577a5a813580be4fd2bd604672354f258b00a619980ba1369aeaceff6a77c6d370cc2b6bf3c17d2cd73a5c8fc9dcad1e8
|
||||
DIST VBoxGuestAdditions_5.0.32.iso 58433536 SHA256 4d60a243373ce2b61fe26bcaeb9e300482b16c3407c4c94f02a16f8fd0539319 SHA512 ffae693070a7b401792f67318e3389ec78079634a84834b874bf076400ffeb2f35f3e0b219186a8e51bd969db71285544d12b30c34a076659df45fabde2577b6 WHIRLPOOL e95b286dbb601877814ead39dbf3d0b694005d88d9c45f793ed207f1a27a75aab832a35fc03d0d94a625c7792f194dfefb0d412103a5d7ae5336cdf8381bf902
|
||||
DIST VBoxGuestAdditions_5.0.36.iso 58433536 SHA256 285409ba6990fa105e451bfc3afe8af12185fdce03e8c3c9f864ae5ee3730a21 SHA512 86d69b1a2d9b88a5f273798258cc61882bd10db847fbbc31e79e6b1d57caf9ab8d40b9292c30dae5c8c3d4336b51787534e0c4627511b282677f99aac31bc7c0 WHIRLPOOL 82df32088b914d3f6db551c59a9f3d56f8c6a172543eb0dc7b110368b967743f7a948fa4a144a7483e2e545942af607d6bbc8e47fdaac60c335c64baa83a3e1e
|
||||
DIST VBoxGuestAdditions_5.1.16.iso 59375616 SHA256 2a327e31d5f6283d6dbdc9b32cb586848740fbefa49d96664fe463f88828cfab SHA512 a19a43030d1f624d849f418029e5b8baf931a31e404cc88406d69a0a2a309762222774c5b1c44752e4cc231047a6bb2b386447d8b78d3848f85eff7c02b0e774 WHIRLPOOL 8ca7ce9899e588301bc7f39cdf3bb3233c994b387736cfdee0513fc5a53a69814999b94d1b53ac59488373888567402e738a5509d5b287cc554d0bc51491c0a6
|
||||
DIST VBoxGuestAdditions_5.0.38.iso 58468352 SHA256 5cc053a8a82cc6280b2ff813d7c8c793a8d75511af21408c847eae21d4efff1b SHA512 576d2f9c1700ad7c79e6e5d2439b805cf41e27b6db6a08435940b83d790a1cfca59487ca9c3e6d40cc75607e80721c57de85aba1c19c31782f0f3f81927851af WHIRLPOOL d7817a4cf8a09ddeea074ff254bd29285e13a3b8cc505d9fba50e41e27d17392ea7ab6d55e2b17fabf784a742fcb101b9a0d77375544d49683612c4d97c0eaed
|
||||
DIST VBoxGuestAdditions_5.1.18.iso 59381760 SHA256 f2951b49f48a560fbc1afe9d135d1f3f82a3e158b9002278d05d978428adca8a SHA512 4b96a69e104cbc666b2f58a9da524b9002f56d79d37bac299948619c8f41a3796e9e41c1c395c51bd3ea1f0aa406852cc1cf48d40cffaf55e0d7508df44b9c46 WHIRLPOOL 7fa55a76c356ba468280d19cf4bbd00eabcd27ad990bcb86385b445b2e2fd551e1544ad09190d0daa4a6fdfc282c9eb6624f2a7a4f87af42c969a258f3fa71f2
|
||||
DIST VBoxGuestAdditions_5.1.20.iso 59424768 SHA256 8f1aa5ffda9f9cfb1dd5faa1fafd909763a1f6204cce2045e0912a2583ba75e9 SHA512 87e484451d5dcf326a435289b8e1f73eca40fd7a7862318b2f2c7620acf9667f6b8a8e6c950ac5323b526e27e8bb5eac8f4f3ac8589865b74fc491db5f6aa797 WHIRLPOOL b678fabcc312c8f0d10945ee378aa6f992ce7b382fb00b5a03ec0cffc43672a5706914ae7ac98fdde44065e2c0db6ba6217aec0f0d9a2c2beabe19d43974cfeb
|
||||
EBUILD virtualbox-additions-5.0.16.ebuild 729 SHA256 32db0039995150763a90c5aa94f785d353eb3fdaf442954498e4376577e6af4a SHA512 58df95a7406656febd05a66193749bc031f6e445169aa1ef1dd8d80877b3e179d229e66268b84d79b5db726b222281a2cf6cfd521dac62aa5f7b406e7bacbaaf WHIRLPOOL 53b93b7090c16d6622fcc493d2e2f60b9c214c290c54999f7b10a8636b16faf8c5639c7c2301685ac81d767fc844ed693562cb8a0650eb4742555f4c14fa39e2
|
||||
EBUILD virtualbox-additions-5.0.32.ebuild 727 SHA256 1e501e13744d4e6f88df06a96b2c8e3e9bf42494823d0f43d76a9cc3a8653b5e SHA512 7b86aa30735d2282551667ff47ffeb1fb2fb10af9ba05315c73407dc19ac4b9a7e2dca6515b748ab89f6546d5b5a7c206a0e53ab421ed949c404394e6be9999d WHIRLPOOL a3fc7569a9d161dd8268219ada0133900703ba7750749a4c040ef8c56a5c1dde457293a3d557b7d562dd5907092c066f5c2e9125e845ce020fb1bad3e19e30b5
|
||||
EBUILD virtualbox-additions-5.0.36.ebuild 729 SHA256 61c88f26ab87df99dc629b03b70b51b7f1eed1e0aa69c3d0df777e9b9a5e2a63 SHA512 b3c4774741bc62a014e57f26de9cb0ee4366d8ad31a6ffa51101085e591af034f44e1de156227719d7bf8bf12120528524380b0c782777f2bc98b0e8e11cd0b8 WHIRLPOOL 0c1b2e689884a7e848edcd89782cd277e4700fa8de297256362582b7e14b45e26880c49b7d5e75c8139ad92c31d7a88ee54ae19f3dbf1f97c8cc696fca5eb541
|
||||
EBUILD virtualbox-additions-5.1.16.ebuild 729 SHA256 61c88f26ab87df99dc629b03b70b51b7f1eed1e0aa69c3d0df777e9b9a5e2a63 SHA512 b3c4774741bc62a014e57f26de9cb0ee4366d8ad31a6ffa51101085e591af034f44e1de156227719d7bf8bf12120528524380b0c782777f2bc98b0e8e11cd0b8 WHIRLPOOL 0c1b2e689884a7e848edcd89782cd277e4700fa8de297256362582b7e14b45e26880c49b7d5e75c8139ad92c31d7a88ee54ae19f3dbf1f97c8cc696fca5eb541
|
||||
EBUILD virtualbox-additions-5.0.38.ebuild 729 SHA256 61c88f26ab87df99dc629b03b70b51b7f1eed1e0aa69c3d0df777e9b9a5e2a63 SHA512 b3c4774741bc62a014e57f26de9cb0ee4366d8ad31a6ffa51101085e591af034f44e1de156227719d7bf8bf12120528524380b0c782777f2bc98b0e8e11cd0b8 WHIRLPOOL 0c1b2e689884a7e848edcd89782cd277e4700fa8de297256362582b7e14b45e26880c49b7d5e75c8139ad92c31d7a88ee54ae19f3dbf1f97c8cc696fca5eb541
|
||||
EBUILD virtualbox-additions-5.1.18.ebuild 729 SHA256 61c88f26ab87df99dc629b03b70b51b7f1eed1e0aa69c3d0df777e9b9a5e2a63 SHA512 b3c4774741bc62a014e57f26de9cb0ee4366d8ad31a6ffa51101085e591af034f44e1de156227719d7bf8bf12120528524380b0c782777f2bc98b0e8e11cd0b8 WHIRLPOOL 0c1b2e689884a7e848edcd89782cd277e4700fa8de297256362582b7e14b45e26880c49b7d5e75c8139ad92c31d7a88ee54ae19f3dbf1f97c8cc696fca5eb541
|
||||
EBUILD virtualbox-additions-5.1.20.ebuild 729 SHA256 61c88f26ab87df99dc629b03b70b51b7f1eed1e0aa69c3d0df777e9b9a5e2a63 SHA512 b3c4774741bc62a014e57f26de9cb0ee4366d8ad31a6ffa51101085e591af034f44e1de156227719d7bf8bf12120528524380b0c782777f2bc98b0e8e11cd0b8 WHIRLPOOL 0c1b2e689884a7e848edcd89782cd277e4700fa8de297256362582b7e14b45e26880c49b7d5e75c8139ad92c31d7a88ee54ae19f3dbf1f97c8cc696fca5eb541
|
||||
MISC ChangeLog 12973 SHA256 c01cf221d3a72c12b6f4526817677e3732bea376c0339dae1ce8e16d0145eeaf SHA512 86fa4502c0c0d26b272b7722447f00284ea6ada45da15cb40c5a3b343adadfacf21ed04b523c47b85b00027dae92152406f17c7d80f631b0a22e74261c752318 WHIRLPOOL b5aa77c9775595b3838d5ab483be1dbbe117e043937d43d8a0300973a6b250ba8eb985c0c2b4fe5ed51081f4bcf68a572fd4eeb88c041a334ae15d44481931fb
|
||||
MISC ChangeLog-2015 14897 SHA256 473cf57fa6397e2f4eee401dd5898dc5bb6e679e9644e5160cce29bfbc38d9e2 SHA512 f61bae9bbe7227be61a03e552e059075cd71975fec28534010a53befcd792495d58795737c390e6f491f79101fbe109da24842f1de86887311cf4f565a5132de WHIRLPOOL ec5abe39985968607a37e9d5b28bfc73b641041247b7ab388beb2af3d03bc83195dd91bd21a403d3fc15cdf2a20be1dd7fe16302fae362987fad3751b13bd8fc
|
||||
MISC metadata.xml 407 SHA256 a07752ac478a75b8186129fcab7d7fc7b239adf7a03d52a275a1d61c66b54aa6 SHA512 e28c65e666d3f78cc8752c3f8af0d7e5494b4a2f93fdc98cf71110424aa9a72b68ee40aa299c46a7048d375a1f52bd0f03efd12d5e88226a4934989e7634afc2 WHIRLPOOL 38d004ad7163b0ba06c7b86c4e02612a94ff449f1d8a0be61fe705bd1a4bd8c88c8cab27fd5103110663f7b0de9f131b204aa92b7c3584cef93f0bde957c7248
|
||||
|
@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils
|
||||
|
||||
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="http://www.virtualbox.org/"
|
||||
SRC_URI="http://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
|
||||
}
|
@ -0,0 +1,287 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator
|
||||
|
||||
MAIN_PV="$(get_version_component_range 1-3)"
|
||||
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
|
||||
MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
|
||||
MY_PV="${MY_PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
else
|
||||
MY_PV="${MAIN_PV}"
|
||||
fi
|
||||
VBOX_BUILD_ID="$(get_version_component_range 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="http://www.virtualbox.org/"
|
||||
SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
|
||||
x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
|
||||
http://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="mirror"
|
||||
|
||||
if [[ "${PV}" != *beta* ]] ; then
|
||||
SRC_URI+="
|
||||
sdk? ( http://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? (
|
||||
x11-libs/libXcursor
|
||||
media-libs/libsdl[X]
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXfixes
|
||||
media-libs/libpng
|
||||
x11-libs/libXi
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXft
|
||||
media-libs/freetype
|
||||
media-libs/fontconfig
|
||||
x11-libs/libXext
|
||||
dev-libs/glib
|
||||
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 * || die
|
||||
|
||||
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
|
||||
dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
|
||||
dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
|
||||
dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
|
||||
dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
|
||||
dosym /opt/VirtualBox/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 "${D}"/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 "${D}"/opt/VirtualBox/${each}
|
||||
done
|
||||
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
|
||||
dosym /opt/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 "${D}"/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 /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
|
||||
dosym /opt/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 "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
|
||||
# move udev scripts into ${udevdir} (bug #372491)
|
||||
mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
|
||||
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_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() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,13 +1,15 @@
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.16-105871.tar.gz 16896587 SHA256 c234e158c49f4f92c38e41918c117d756a81236ff1030a896e44faf88284ecc7 SHA512 39a7c6726e57c89a970e771f80369617c95e154498174deed025ca953e85197981215dd1250317285213a8e9bf6b7140e06311bd6df464613bfe90a37ef1c3c8 WHIRLPOOL 8bdf4a499e8d2d463249fb98ea35ee3a91d81004418e171396c0a26d91f3de9eda6fe632a1d85df58e1de1c32c5c939a365277ad836c685f83600277bd7282bf
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.32-112930.tar.gz 18966317 SHA256 3a0c45eb2471566787def7d73f8c01b03a806e5b2042c21911c2142dafdf9a44 SHA512 138b1ee971f396cdde58874c220e9e1d791561dad4e5a5cf14e8bc7aca40d851e3017ef179645cc235c0cf2848dc5e4f500a0ef8865c997371043bf02836acbc WHIRLPOOL 27733c658f1a6cbe31950b89e51b5a18dc5deeaac3a907e302e041e1aa2bea5b013fde83e4c6b7d5c120a022ce4d89355fc54cac9fe7a79ee716c011c638fd3d
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.36-114008.tar.gz 19050365 SHA256 160765cc0375a1901ff18f887ee8469d5175257b036e81da59ba0b8278da8d4d SHA512 f65b08a69b83b64eef7e72f3b9cecab054cf0232d0578b36388f33c50e7f96c4c05b1b673f146c4894824099030740eb821eecc2982d64fd3d8b6d370b7dea12 WHIRLPOOL 0e1361ae7edc7d6e0f9e4d215ed8286235ec7fac6b9c5dda6c0f6a452def67b9f82ee30ae87d8b71376cba984986c69fc9d41c1f8a026e7c19c1172e43e62cd5
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.16-113841.tar.gz 19559112 SHA256 a838711616bf015be192c99b2282731321d062ea061a51bd78676ed47b1fc709 SHA512 5482194ee33d405b34426b83bfe31d3ff8de5c90d8aca4a49805d796b5dc782e3d769d6eea85318f60b8943afea094cb01fae8ebaee886a3132789f334a7b759 WHIRLPOOL 1badb7d1dc6a147106befc9e50e3a76525693643d8ed8b616dc9f9435c99e4679a170fa2e22b12b45260aba8ca64e8ca8465800b730b990abe0868928d312043
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.38-114632.tar.gz 19050467 SHA256 92933bbbe483f517bf5d5b6b661432c926fe24c1360ad63c15172d7ba08f980a SHA512 59e7fba83a7033d893c56b343f40cc1047732a84e6772a60321cd01e21459c7c2b797bc8ac3f856f447419e805b153b7d14d5743c8e0a2a47207ff6808a0c05d WHIRLPOOL 40c30f57c9881bd05b4dcff41af865a3e280fef1ccd97ea00701b34d4511f87e2cb1e6c31fbadba95dd416ddc8fa37c6598ffd950c354d2b227ca2abbbe8e152
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.18-114002.tar.gz 19558758 SHA256 996f783996a597d3936fc5f1ccf56edd31ae1f8fb4d527009647d9a2c8c853cd SHA512 2e034440d3e29592383c4b15e594ddee8cf319cb67a7c6a4f2df277ccfbd82ee7d7e010ca0a123db9d1876053dfd4729184749dae079f8211a58a21d4fb74b4e WHIRLPOOL 0a0464ac902c98dcf6e4ee432eda3a0b174aea5489952a26338b18ee431e2859e709f2b2a9c72bd3dd842f495f1d02c7627430462a5e2374773062159c243301
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.20-114628.tar.gz 19559512 SHA256 51e85e3792a5a435d88368a52a363321acdd913f4fb3c55cd623911d447ad148 SHA512 177f22d9667b469329ec8bfc39bc5ec3acec5f00559f89d44755ab37f06ce3955aeb1f7dc4dc8ac78f5b6d3c3220baa0125c88b1eff4ebfc442e7af52055a6e2 WHIRLPOOL 9c9d2d58e1469f814b87251722f3a6337e029c97d68c3f66e983816904df007bd71d5b94aefdf0074cf328dc4049b9123833a352ad05b723c80b97f441c93cb2
|
||||
EBUILD virtualbox-extpack-oracle-5.0.16.105871.ebuild 1087 SHA256 cff6609341f4064691b4064cc669f869a15eafa2f96eea9e984d550f11867c74 SHA512 a5aadb7c8e8b910b5000f0b60c5cb6439a2305c3a3d424dc95ef959b5ba3e064c6f6895718d405671fe14c178e00408d2dd81db60a624fe25115d45c138506ab WHIRLPOOL a63a6617cc68c9d6d68a67ff639dd7903536243b4c61ceeadb6292a013895b867c752dad464444f636f3d9459dc7552206be178c1f10406c6a4131345c9b7c4e
|
||||
EBUILD virtualbox-extpack-oracle-5.0.32.112930.ebuild 1085 SHA256 6a7d0f369c7dcbc946b6e8042008144c2cf916e345920760460606bf11d04c1f SHA512 a018d8881652c86d254cb87b68bd134d51930009f815001a6e06a3f40539305dcc3846395f8f59312506a74a9e517c0bb63c1a22d53be60b14a999f66617b79a WHIRLPOOL cb02913b59882c0c81e3cfcabca8d12bf2744c379a22230a0bd0308ed721921d0f641f819aa94aa0bfa253dffe8ff74264f2835ceedc668e45025c0da55c954d
|
||||
EBUILD virtualbox-extpack-oracle-5.0.36.114008.ebuild 1087 SHA256 7d2d78d2681ba512d69ff1d96ae0d1dd1df8ad7765f5d1901a7e0e20ede0a459 SHA512 dcf3ae05bd9bad1806fed11baa6a182971f2dfd448b7b015cd5191d984dc1f8335b206030feac3fc64e1e21a9d55ab1ad5c4f6d9ed806cb25770c92f1eb110d9 WHIRLPOOL abe34a8136c4955c1318b2cc190f5c779d7f5de472df469faf307311d4628e461103bec9d7206cce79fb9a441e876c09f3cb48931babb1a116eccd6aa0bfd64d
|
||||
EBUILD virtualbox-extpack-oracle-5.1.16.113841.ebuild 1087 SHA256 7d2d78d2681ba512d69ff1d96ae0d1dd1df8ad7765f5d1901a7e0e20ede0a459 SHA512 dcf3ae05bd9bad1806fed11baa6a182971f2dfd448b7b015cd5191d984dc1f8335b206030feac3fc64e1e21a9d55ab1ad5c4f6d9ed806cb25770c92f1eb110d9 WHIRLPOOL abe34a8136c4955c1318b2cc190f5c779d7f5de472df469faf307311d4628e461103bec9d7206cce79fb9a441e876c09f3cb48931babb1a116eccd6aa0bfd64d
|
||||
EBUILD virtualbox-extpack-oracle-5.0.38.114632.ebuild 1087 SHA256 7d2d78d2681ba512d69ff1d96ae0d1dd1df8ad7765f5d1901a7e0e20ede0a459 SHA512 dcf3ae05bd9bad1806fed11baa6a182971f2dfd448b7b015cd5191d984dc1f8335b206030feac3fc64e1e21a9d55ab1ad5c4f6d9ed806cb25770c92f1eb110d9 WHIRLPOOL abe34a8136c4955c1318b2cc190f5c779d7f5de472df469faf307311d4628e461103bec9d7206cce79fb9a441e876c09f3cb48931babb1a116eccd6aa0bfd64d
|
||||
EBUILD virtualbox-extpack-oracle-5.1.18.114002.ebuild 1087 SHA256 7d2d78d2681ba512d69ff1d96ae0d1dd1df8ad7765f5d1901a7e0e20ede0a459 SHA512 dcf3ae05bd9bad1806fed11baa6a182971f2dfd448b7b015cd5191d984dc1f8335b206030feac3fc64e1e21a9d55ab1ad5c4f6d9ed806cb25770c92f1eb110d9 WHIRLPOOL abe34a8136c4955c1318b2cc190f5c779d7f5de472df469faf307311d4628e461103bec9d7206cce79fb9a441e876c09f3cb48931babb1a116eccd6aa0bfd64d
|
||||
EBUILD virtualbox-extpack-oracle-5.1.20.114628.ebuild 1087 SHA256 7d2d78d2681ba512d69ff1d96ae0d1dd1df8ad7765f5d1901a7e0e20ede0a459 SHA512 dcf3ae05bd9bad1806fed11baa6a182971f2dfd448b7b015cd5191d984dc1f8335b206030feac3fc64e1e21a9d55ab1ad5c4f6d9ed806cb25770c92f1eb110d9 WHIRLPOOL abe34a8136c4955c1318b2cc190f5c779d7f5de472df469faf307311d4628e461103bec9d7206cce79fb9a441e876c09f3cb48931babb1a116eccd6aa0bfd64d
|
||||
MISC ChangeLog 14467 SHA256 65ad667aabd9d63515672a1cd94c0c09252741c0e874b41de5870a09e87437c9 SHA512 b386b1b603bca9aa43637c0e6349a2681ada7ce2b8bcfba437e235ec1bce1a9c95d34474578b84464da7194181948f49e51dfa70d1e8ed504b6bff41cfe85b94 WHIRLPOOL 4ebcffb027e96febc927fcfe7e3ae74ece5c9220a88e56bdf66495652107d168601a3bb7f4235754bbfa4349eb3f19d6d02915c690cf586b2bca83e501f3d185
|
||||
MISC ChangeLog-2015 15802 SHA256 209e7f9dafc2f1ff1a37ce56665ebdc1d928a9c5bfae300c4ebea676c194c940 SHA512 765eb86a6b38b0dfc553e67175aa32608acb984a6b82b2dfc90ae2266492b90c4b5daec355e9e5b50283178ca3539d7e71d535327caca33fe5b7ce47a700f7c5 WHIRLPOOL 3698a1a132418be5858896f513e26b7d1c3acd5991e8c8a3f802d7972e755e64702c5d4f4fcacdf70cf86759450f7b335f58b30b190093184be7939671260965
|
||||
MISC metadata.xml 407 SHA256 a07752ac478a75b8186129fcab7d7fc7b239adf7a03d52a275a1d61c66b54aa6 SHA512 e28c65e666d3f78cc8752c3f8af0d7e5494b4a2f93fdc98cf71110424aa9a72b68ee40aa299c46a7048d375a1f52bd0f03efd12d5e88226a4934989e7634afc2 WHIRLPOOL 38d004ad7163b0ba06c7b86c4e02612a94ff449f1d8a0be61fe705bd1a4bd8c88c8cab27fd5103110663f7b0de9f131b204aa92b7c3584cef93f0bde957c7248
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils multilib versionator
|
||||
|
||||
MAIN_PV="$(get_version_component_range 1-3)"
|
||||
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
|
||||
MY_PV="${MAIN_PV}_$(get_version_component_range 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="$(get_version_component_range 4)"
|
||||
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
|
||||
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
|
||||
|
||||
DESCRIPTION="PUEL extensions for VirtualBox"
|
||||
HOMEPAGE="http://www.virtualbox.org/"
|
||||
SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="PUEL"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
RESTRICT="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
|
||||
}
|
@ -0,0 +1,219 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils 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="http://www.virtualbox.org/"
|
||||
SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2"
|
||||
|
||||
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
|
||||
x11-proto/glproto )
|
||||
sys-apps/dbus
|
||||
!!x11-drivers/xf86-input-virtualbox"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-util/kbuild-0.1.9998_pre20131130
|
||||
>=dev-lang/yasm-0.6.2
|
||||
sys-devel/bin86
|
||||
sys-libs/pam
|
||||
sys-power/iasl
|
||||
X? ( x11-proto/renderproto )
|
||||
!X? ( x11-proto/xproto )"
|
||||
PDEPEND="X? ( ~x11-drivers/xf86-video-virtualbox-${PV} )"
|
||||
|
||||
BUILD_TARGETS="all"
|
||||
BUILD_TARGET_ARCH="${ARCH}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
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=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}"
|
||||
enewgroup vboxguest
|
||||
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
|
||||
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
|
||||
enewgroup vboxsf
|
||||
}
|
||||
|
||||
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 "${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...
|
||||
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 limitations in check_gcc()
|
||||
sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \
|
||||
-i configure || die
|
||||
|
||||
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"' \
|
||||
>> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||
>> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
|
||||
# VBoxClient autostart file
|
||||
insinto /etc/xdg/autostart
|
||||
doins "${FILESDIR}"/vboxclient.desktop
|
||||
|
||||
# sample xorg.conf
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins "${FILESDIR}"/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 ""
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# 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=6
|
||||
|
||||
inherit eutils linux-mod user
|
||||
|
||||
MY_P=vbox-kernel-module-src-${PV}
|
||||
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||
HOMEPAGE="http://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"
|
||||
BUILD_TARGET_ARCH="${ARCH}"
|
||||
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup vboxusers
|
||||
|
||||
CONFIG_CHECK="!TRIM_UNUSED_KSYMS"
|
||||
ERROR_TRIM_UNUSED_KSYMS="The kernel option CONFIG_TRIM_UNUSED_KSYMS removed kernel symbols that are needed by ${PN} to load correctly."
|
||||
|
||||
linux-mod_pkg_setup
|
||||
|
||||
BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if kernel_is -ge 2 6 33 ; then
|
||||
# evil patch for new kernels - header moved
|
||||
grep -lR linux/autoconf.h * | xargs sed -i -e 's:<linux/autoconf.h>:<generated/autoconf.h>:'
|
||||
fi
|
||||
|
||||
if use pax_kernel && kernel_is -ge 3 0 0 ; then
|
||||
epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
insinto /usr/lib/modules-load.d/
|
||||
doins "${FILESDIR}"/virtualbox.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
linux-mod_pkg_postinst
|
||||
elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\","
|
||||
elog "\"vboxnetadp\" and \"vboxpci\" to:"
|
||||
elog " /etc/conf.d/modules"
|
||||
}
|
@ -0,0 +1,436 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 toolchain-funcs udev
|
||||
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=VirtualBox-${MY_PV}
|
||||
SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.0.32-patches-01.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||
HOMEPAGE="http://www.virtualbox.org/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="alsa debug doc headless java libressl lvm pam pulseaudio +opengl python +qt4 +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=
|
||||
sys-libs/zlib
|
||||
!headless? (
|
||||
media-libs/libsdl:0[X,video]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
opengl? ( virtual/opengl media-libs/freeglut )
|
||||
qt4? (
|
||||
dev-qt/qtgui:4
|
||||
dev-qt/qtcore:4
|
||||
opengl? ( dev-qt/qtopengl:4 )
|
||||
x11-libs/libXinerama
|
||||
)
|
||||
)
|
||||
java? ( >=virtual/jre-1.6:= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
udev? ( >=virtual/udev-171 )
|
||||
vnc? ( >=net-libs/libvncserver-0.9.9 )"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-util/kbuild-0.1.9998_pre20131130
|
||||
>=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/jre-1.6:= )
|
||||
pam? ( sys-libs/pam )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
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"
|
||||
|
||||
REQUIRED_USE="
|
||||
java? ( sdk )
|
||||
python? ( sdk )
|
||||
vboxwebsrv? ( java )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if ! use headless && ! use qt4 ; then
|
||||
einfo "No USE=\"qt4\" selected, this build will not include"
|
||||
einfo "any Qt frontend."
|
||||
elif use headless && use qt4 ; then
|
||||
einfo "You selected USE=\"headless qt4\", 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
|
||||
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
|
||||
|
||||
# Remove pointless GCC version limitations in check_gcc()
|
||||
sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \
|
||||
-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
|
||||
|
||||
#if ! gcc-specs-pie ; then
|
||||
rm "${WORKDIR}/patches/050_${PN}-5.0.2-nopie.patch" || die
|
||||
#fi
|
||||
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
use alsa || myconf+=( --disable-alsa )
|
||||
use debug && myconf+=( --build-debug )
|
||||
use doc || myconf+=( --disable-docs )
|
||||
use java || myconf+=( --disable-java )
|
||||
use lvm || myconf+=( --disable-devmapper )
|
||||
use opengl || myconf+=( --disable-opengl )
|
||||
use pulseaudio || myconf+=( --disable-pulse )
|
||||
use python || myconf+=( --disable-python )
|
||||
use vboxwebsrv && myconf+=( --enable-webservice )
|
||||
use vnc && myconf+=( --enable-vnc )
|
||||
if ! use headless ; then
|
||||
use qt4 || myconf+=( --disable-qt4 )
|
||||
else
|
||||
myconf+=( --build-headless --disable-opengl )
|
||||
fi
|
||||
if use amd64 && ! has_multilib_profile ; then
|
||||
myconf+=( --disable-vmmraw )
|
||||
fi
|
||||
# not an autoconf script
|
||||
./configure \
|
||||
--with-gcc="$(tc-getCC)" \
|
||||
--with-g++="$(tc-getCXX)" \
|
||||
--disable-dbus \
|
||||
--disable-kmods \
|
||||
${myconf[@]} \
|
||||
|| die "configure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
source ./env.sh || die
|
||||
|
||||
MAKEJOBS=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+')
|
||||
MAKELOAD=$(echo ${MAKEOPTS} | egrep -o '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+') #'
|
||||
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
|
||||
|
||||
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 right libdir
|
||||
sed -i \
|
||||
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
"${D}"/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 in any case.
|
||||
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 "${D}"${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
|
||||
|
||||
# VRDPAuth only works with this (bug #351949)
|
||||
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||
|
||||
# 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 "${D}"${vbox_inst_path}/VBoxSDL
|
||||
|
||||
for each in vboxsdl VBoxSDL ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
if use opengl && use qt4 ; then
|
||||
vbox_inst VBoxTestOGL
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VBoxTestOGL
|
||||
fi
|
||||
|
||||
if use qt4 ; then
|
||||
vbox_inst VirtualBox 4750
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VirtualBox
|
||||
|
||||
for each in virtualbox VirtualBox ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r nls
|
||||
|
||||
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
|
||||
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 "${D}${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||
java-pkg_regso "${D}${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
|
||||
|
||||
if use doc ; then
|
||||
dodoc UserManual.pdf
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if use udev ; then
|
||||
udevadm control --reload-rules \
|
||||
&& udevadm trigger --subsystem-match=usb
|
||||
fi
|
||||
|
||||
if ! use headless && use qt4 ; 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 "IMPORTANT!"
|
||||
elog "If you upgrade from app-emulation/virtualbox-ose make sure to run"
|
||||
elog "\"env-update\" as root and logout and relogin as the user you wish"
|
||||
elog "to run ${PN} as."
|
||||
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() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
From 6932b9a17c4f64c13f7060895d46334bc7022430 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 7 Aug 2012 01:29:01 -0400
|
||||
Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa
|
||||
|
||||
If mesa had been built with shared glapi, glAccum is not available in
|
||||
libOSMesa without explicitly linking to libGL. In addition, in
|
||||
mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to
|
||||
libglapi if mesa was built with shared glapi, see
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=399813
|
||||
And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and
|
||||
libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832
|
||||
---
|
||||
configure.ac | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index de807d2..a2e8684 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1233,7 +1233,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
|
||||
|
||||
if test "x$with_osmesa" != "xno"
|
||||
then
|
||||
- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then
|
||||
+ osmesa_save_CC=$CC
|
||||
+ CC=$CXX
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ CC=$osmesa_save_CC
|
||||
+ fi
|
||||
WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"],
|
||||
[libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.])
|
||||
fi
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -0,0 +1,615 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
themes? ( staging )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? (
|
||||
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||
)
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
themes? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
x11-libs/cairo[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
)
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use staging || use d3d9; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use staging; then
|
||||
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
|
||||
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
|
||||
|
||||
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
|
||||
einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
if use d3d9; then
|
||||
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
|
||||
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $? || die "Failed to apply Wine-Staging patches"
|
||||
fi
|
||||
if use d3d9; then
|
||||
if use staging; then
|
||||
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
|
||||
else
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
fi
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with themes gtk3)
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine register --staging ${P} || die
|
||||
fi
|
||||
if use d3d9; then
|
||||
eselect wine register --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine deregister --staging ${P} || die
|
||||
fi
|
||||
if use d3d9; then
|
||||
eselect wine deregister --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
From 6932b9a17c4f64c13f7060895d46334bc7022430 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 7 Aug 2012 01:29:01 -0400
|
||||
Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa
|
||||
|
||||
If mesa had been built with shared glapi, glAccum is not available in
|
||||
libOSMesa without explicitly linking to libGL. In addition, in
|
||||
mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to
|
||||
libglapi if mesa was built with shared glapi, see
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=399813
|
||||
And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and
|
||||
libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832
|
||||
---
|
||||
configure.ac | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index de807d2..a2e8684 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1233,7 +1233,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
|
||||
|
||||
if test "x$with_osmesa" != "xno"
|
||||
then
|
||||
- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then
|
||||
+ osmesa_save_CC=$CC
|
||||
+ CC=$CXX
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ CC=$osmesa_save_CC
|
||||
+ fi
|
||||
WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"],
|
||||
[libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.])
|
||||
fi
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -0,0 +1,549 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? (
|
||||
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||
)
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use d3d9; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use d3d9; then
|
||||
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
|
||||
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use d3d9; then
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use d3d9; then
|
||||
eselect wine register --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
else
|
||||
if use d3d9; then
|
||||
eselect wine deregister --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
From 6932b9a17c4f64c13f7060895d46334bc7022430 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 7 Aug 2012 01:29:01 -0400
|
||||
Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa
|
||||
|
||||
If mesa had been built with shared glapi, glAccum is not available in
|
||||
libOSMesa without explicitly linking to libGL. In addition, in
|
||||
mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to
|
||||
libglapi if mesa was built with shared glapi, see
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=399813
|
||||
And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and
|
||||
libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832
|
||||
---
|
||||
configure.ac | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index de807d2..a2e8684 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1233,7 +1233,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
|
||||
|
||||
if test "x$with_osmesa" != "xno"
|
||||
then
|
||||
- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then
|
||||
+ osmesa_save_CC=$CC
|
||||
+ CC=$CXX
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ CC=$osmesa_save_CC
|
||||
+ fi
|
||||
WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"],
|
||||
[libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.])
|
||||
fi
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -0,0 +1,586 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
themes? ( staging )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
themes? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
x11-libs/cairo[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
)
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use staging; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, and STAGING_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use staging; then
|
||||
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
|
||||
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
|
||||
|
||||
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
|
||||
einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $? || die "Failed to apply Wine-Staging patches"
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with themes gtk3)
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine register --staging ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine deregister --staging ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
From 6932b9a17c4f64c13f7060895d46334bc7022430 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 7 Aug 2012 01:29:01 -0400
|
||||
Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa
|
||||
|
||||
If mesa had been built with shared glapi, glAccum is not available in
|
||||
libOSMesa without explicitly linking to libGL. In addition, in
|
||||
mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to
|
||||
libglapi if mesa was built with shared glapi, see
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=399813
|
||||
And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and
|
||||
libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832
|
||||
---
|
||||
configure.ac | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index de807d2..a2e8684 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1233,7 +1233,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
|
||||
|
||||
if test "x$with_osmesa" != "xno"
|
||||
then
|
||||
- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then
|
||||
+ osmesa_save_CC=$CC
|
||||
+ CC=$CXX
|
||||
+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS -lm $X_EXTRA_LIBS])
|
||||
+ CC=$osmesa_save_CC
|
||||
+ fi
|
||||
WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"],
|
||||
[libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.])
|
||||
fi
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -0,0 +1,507 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.6.4 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
DIST anthy.i 3170 SHA256 3615639f5cd9bf2adcbc2bac8d3ae968646df1d9d2ba987d80442d5ad99ecdf9 SHA512 400d67c2f0ffbdb3eab241646922d549ec4a42ae5b33714a91b864f4b5dfdf0d9a0d28cb6dcdffa55eb9633651ceae034bb547d7a5c41d9b8d352e955773e069 WHIRLPOOL 9be409df613530658c68bc7491e1dd258f5f1ef1d09895a3557a9e63c3ced5083c1ecd9e274536c9afbc98031c353c05c73304bb4354aaf8e21a1c15de39b8b6
|
||||
DIST ibus-anthy-1.5.4.tar.gz 592595 SHA256 4c0a8b88a2c547e72173a7d682d82797f6c65fe712abe5f3b89495d4eec7b031 SHA512 8478e9ea14472d0153cc7a35feae4edea791476dc98cfc266b598f915376d267bd5db48ea0a676209d7a6fa680628116a30fec59afaf696477cfaa14082aad8d WHIRLPOOL f4aec300dc5cff62f81a3ae64ac2d46768e3fbaa579e14abac8bd87e0801155e8258f6f3d66d7015122e929cd2e0f48183aeb37245b3046afa3d80b8ce42d58c
|
||||
DIST ibus-anthy-1.5.9.tar.gz 765672 SHA256 ddf0c52ef769c79cf04ceea8860b4bec54d681b7537db39730e6d67c06721af9 SHA512 2f57db784ddbd4ea57afba245dc532fe4ee8c9fea5fc7df9b3ca26600816ef4c0626b4ebdbbd976826c391890216af587863707caa26c3926a6278cc6b720ef6 WHIRLPOOL 990b15bad9ed2089f7ee6a4b807dabf9001f184a935aeec40ce12f2fa0b9449c55b087444873684b7be2c41ef13f0faa5035913e458707c716df89a7762f2075
|
||||
EBUILD ibus-anthy-1.5.4.ebuild 1398 SHA256 5e92d3d26159c12d8b1447d82dd8732c69ce6cc0826661eeef661e31449771c8 SHA512 3843831d400ac1b23e23252aa6dd0d728220385a1e9a6a432a7e632b12a58511ed53ba758e132198a96b6bbfcb91a0a0013a706b4e8ba70113f1b03216cefafb WHIRLPOOL 227f6bdb8d0e15960741d743420286110dc2096fb0b8dd2f33925d5fba44b48970c4b9148885e52a4f1e7d9997c6049be4648680bce57a2294cf305ce917dcf8
|
||||
EBUILD ibus-anthy-1.5.9.ebuild 1019 SHA256 1c9f30c96041a92612ae1ea2174313905bc7491a724238a2edd803ed3baf1121 SHA512 a165ec805d2623f522c3c15fb754234749ec9a9a5482fa1b3eb2fdabdc136ca448f90fa83c715fe26947817d3e19d01d57a0d9abdab2c68edacf59884fd8f62c WHIRLPOOL ae4478812bd52490d34b61e05397f1a7a2fe04c2854ac3ca5917384cbc0b2bef5c7397f4e28233b540584781e6ba06775c572cb8d9373fe8a97f6dc8f390317a
|
||||
EBUILD ibus-anthy-1.5.4.ebuild 1436 SHA256 9b9839cf35d49da0b1e293acdabf49551ee17986607c06ab9a2a853d92638eee SHA512 a05e3a23d7feb45f458ba24ae280f28c384c75011325ea96754430394ce278c4852603ad38eb517877be5051fe213bc35dc139e18f1f815cea09110edc825f9a WHIRLPOOL 837d1978419838231a86eb50f598e83ae592df495b831bc2a32c04b1f9a9d0c609e7321011cfaddbd932bbde1439e4fb802b4d3eb9af5acc170e76b1c7f6792e
|
||||
EBUILD ibus-anthy-1.5.9.ebuild 1057 SHA256 5855325f882a3b10212511df1126445f7dd6c98ae5373f4a089f99ec3ab077bd SHA512 a2e794326a4ce890692a0990e021af98e260fe38919d04de0bf17f420a3b4211e8e6ac6cba5daf6d13e46e98dd406c21495b59b0a85a10f2b7e73e6200092cb6 WHIRLPOOL 593d814ed4792324c03c60856cb7057f05b685c7530fed9aee322d115b830c79c4b0231e234a0848920f5164c56e9a1919fc60d42ae8528f23e1e227a5458667
|
||||
MISC ChangeLog 3880 SHA256 583d3bb387655c483d644e5dc1f355c8ffb5cd2f5ec0523ea584cfd283bb310e SHA512 e4eba3bc6840433db6ff18b488f44eb407d414d529514d521f879aac8ef87796a60cba6e7b7eab4fc8d5b6f7a28be0f8c58658823c748babd8fe0835ae19292b WHIRLPOOL 2d6d4e9bad32f29ebe7329a9c298afe435e2f62c797762dfb6c77017c7e65305e7c75a4e18a3a4808f6c41cec4dfe0acc4861ddd8950a84a2e6a513a2fc1ef63
|
||||
MISC ChangeLog-2015 8073 SHA256 a0870a23ed5f282e3497da56929cb55a70611c3ca4a2d15de90690a8b5faa258 SHA512 b96158b593cae00999caff796bea4145a0104bbf11b4b38190c66761b3f540374e3e9ca41b85517f218592566e6c028196dbfd20ccfb86c15ab862e108dcacb0 WHIRLPOOL 4b3a1fe0b51eb2a166a3ab57a68dd46f5b0376bc706b216e328a4296735c0b0da5aca7693a869dea16d06bec286518603670b159138c689385520d69e8364aec
|
||||
MISC metadata.xml 521 SHA256 d8f0ae9be6965c429dbf995a074f5955924a31e98ce0a876b436261588bae4a9 SHA512 0ec6323233489f891544f6f6db974f92626cacb10b4f8b9a4c316928d50926a39d4e45fb70a9db22e01d9308cf8cdd3ddaf7e0c6a6ef72d9bc96b4a1a424b176 WHIRLPOOL fea15eb77b43bc5381fc16a7f131f1b77689c42320b520eaa958264f3033c36652397b6bdb0573ebd6939cbb8c1f12b3bf51018c3869233253774ac4b341fdc8
|
||||
|
@ -1,6 +1,6 @@
|
||||
AUX ibus-handwrite-link.patch 310 SHA256 4c5cacf2ecc327a96b9bdc66edb111133bbc0e9b6ed7b350b523ad9371eeb728 SHA512 dbf7011d6c7c74bae81803b8f6ee4e6de69ec7ce28acfc44a1af94280e9a83a3c4c3ab3569e4c796efb19f8194aa0dd7834adc7622ae93c605557ce5272c34c0 WHIRLPOOL c092904e77bfe8e4b1f3364d780980996b813ab5d5c0ebd0357a3035b23f07c76343b89885b94f03a8b55772c9bc7b9f6779da042b0baaf2a7c58f23e16d247c
|
||||
DIST ibus-handwrite-2.1.4.tar.bz2 237980 SHA256 fa4ec0624e1ca904d8026fda75a26f0edd3ac6c781c28c03262e4c6ec52ceb34 SHA512 fca7129edb7433e7ea6df1ce67b3f27285fe102cc029a7a1bdb8ba0402407bd81724d1b14667d342ef41491acff03e9c152b748e4fee5387f315d4673c2964e6 WHIRLPOOL 13facb5d7c4a34586202cc1d6b46eb857aaf3649fb64ca44a5b367135860217c554d0cf48656096ac43cc3411b0466c9b2a468d9e2dc99ddac4d7729ff0ad6d9
|
||||
EBUILD ibus-handwrite-2.1.4-r1.ebuild 971 SHA256 b1b53424040187f43d2bbc55181b111b8b21ffe9c153bb0c8889e2624a7e11e1 SHA512 b4c7018ce6f28b862f60ac54cb0dc90f3de980aeecc5c4919c3ed93334d16696554b06fdacf700ed9b740b996796a128cbe81fbb99dfb14f87faa1f1fda91ef9 WHIRLPOOL a4379a20e8588e80a084cd5c1743e082f5db26c8b9e5575d35835f7ea8acac2af524fd6153e8a7d335179506b6510ca4f97ee60a6493eb5834d17725ceddf740
|
||||
EBUILD ibus-handwrite-2.1.4-r1.ebuild 986 SHA256 b22e5828b9ad7a6a1e18a493aaa680b3ea32feb06fa26eb9cfcc34ccd5b36602 SHA512 061bfd9c3a3ad4704ca6090faef5c7a827eaffda828df2d5955d066a221003c6ba9e4d5db532ed7f35e0e968d1ee5cc6fd43d4e50c2b09e1626ef182327ab30b WHIRLPOOL 02989cfb7acada16dc33b328142f8b6844b210d00503d0e4ec56df25a487120f1f4805e904c238d9223f898ad012de5b4302fe1c50c75f66eeeaced26606dac2
|
||||
MISC ChangeLog 3211 SHA256 2e2a7c24a3732a3750f66e5711cbe1f2a673d97fb882d1a328d587ca7e8644bf SHA512 3684f0a9b90ed56f1381961643a2b11a20f2f898c5ca665395b0fc72da0d1b43ec9c44306574908df09f838a81c74697bb1335a127562d389614a47a55599621 WHIRLPOOL 1702edfce951d0005098237297b4d1a9766c75b1589ea044afacd42a6cca7252ba079382226544fe84cce3561d59d20f82365d79046a62b736090affbf684569
|
||||
MISC ChangeLog-2015 1149 SHA256 de479bf35a1fc8e0fae62de9ab03574ac0177b98955c55cdbc62803c5353a781 SHA512 84713ac14897f38445fcd7a3a6a79be683ff8f5187f3a756a0287e068fe366c95f1394eeaa02295e1c2a51353ffbedd5184ed87faad81e1cc3782e1bc7fa6dc7 WHIRLPOOL 9739372b0d3a11206d8bb114391892ba5552d410270d0c8aaeaee4f94dff79ddeab7cd354c26569031cc14ca7b744f8684605b8b6c6e462046af2c880de51a8f
|
||||
MISC metadata.xml 319 SHA256 bcefb6630252dceab9f96fd1b8900770978d380361c5533306725410d5dbbf40 SHA512 04afc698da2cbc0326680ae7393edc6115e3c05656046bfba1c097b4928a076dba8866c8f453777847898d86909fba8a48404a7b10301f7ab3d4fd7e4a97a4b2 WHIRLPOOL e8ca7182286c2cc05faac81fb4adc6d9794b94d98279f3ad5084cc715835c73047aadfc468bb502de94fa8b06fae7dfe85ed71644eb07ff1654392bb8753b056
|
||||
|
@ -1,7 +1,7 @@
|
||||
DIST ibus-libpinyin-1.6.92.tar.gz 1686249 SHA256 e611cff47b84345e1f60b8e94f74811bcfdf53b6ef7436b5cb5aff47eea743a3 SHA512 b4af0083c9c1dd4273c75372acf5d74ce317effdf56d8a0de8a3e3cd24f40b1b2dba91786d0a1cd72c9d7867b9ae630c4f69b04b378529dca8be0869e91d322d WHIRLPOOL 5dd8493bbbaa0f3d189a825bd4237a56276e88b8da91e75c1e3d49c1c1b2050ee2f9aaa4524ea00418690d8ff2085d6b6f686e60752e838f2515ca9d780347ef
|
||||
DIST ibus-libpinyin-1.7.4.tar.gz 1692228 SHA256 4627eab10ded24bd1a95ee56a2f7bd6a82deb94435aea674267fc40febd66f81 SHA512 d94f495e74650830f759889112df8b749d6e28192ed866f6bd132b16e16cda59d97aabc2762596bbe337a3deeb30ccd680ad370c28c1932ab05c6a40d8e1c265 WHIRLPOOL 1227c7f96565c001a90bced8aa4f847cfbe9bfae6810641e76472c437a29cdb539d2b316add9850270fa4eb2436761375f9d436749c8f06a573206ddba02064c
|
||||
EBUILD ibus-libpinyin-1.6.92.ebuild 1060 SHA256 b9e63347a144df4e931deac9a2b7e571acc9ffae9a7bbe2fc2ccbadfd12e4b38 SHA512 1591896a6c257def67f7f8b4e7aaa709620e52db812780e4b8c443ce42169b7eaafd02749e1f203afc8645b099fa03334cc0c97a73e08b0a216fd0d1470833d6 WHIRLPOOL d254fdad52cf9f74d288ee0fb2916286b0326d0b646e04c0136e8c891247854bdfa2c580157eb00c2450df94d68d5095ff2eaab3ce6a079a07c70ae82b139510
|
||||
EBUILD ibus-libpinyin-1.7.4.ebuild 1103 SHA256 147b52fffb3c6d1b06a41904b13f2873e2fdefdeb722be053acfab1f0cc0935a SHA512 b584368183b5dee0b9e75625f279744b08d5d4d43cc5c844446b003da2b938fba1da09b53944289dd11a016a071c91592c20521d55550654793797cca163cb8b WHIRLPOOL 0531609e78279e2a6442278b5304f23f399904e7dcfe4225f6fe538b1bb1ad956610636ba70a1101f6f5317341593a1f6a00549b513016e6dcd54c8c92dde763
|
||||
EBUILD ibus-libpinyin-1.6.92.ebuild 1102 SHA256 7409542ad9d6024bab31ec2b4e2e36aa13c7a974cecd7973281f2c0f059bd677 SHA512 62c4a11abc55a54e40e735c39908efe02ed1035c60e0e360f120e58f7e1f4226c6f430e22e4b11c992c40f9dd4fed785f0dbd1e501227815a2bd1326256abeb4 WHIRLPOOL 447fb18c6483023f2bb6c1cd40d9466e3184d39d02acd6c164a6644a439c89ec5dba50e8dad2a8ebe768f053f477d798f3ac19ff58e0fbabbee5c10652798cf0
|
||||
EBUILD ibus-libpinyin-1.7.4.ebuild 1145 SHA256 b8b7bc45b5ee1b1ec8ddd46e85e75084c79b38a04109218a8baae1fd33e398d8 SHA512 6f25d7ab250465b28c754809a5df1f623e9c69a2ed2232d30161ba6b399e64726e1bc264038d01db30635bf5a9cd1ff16a9a7157b30c25618f92a723e65c51c7 WHIRLPOOL cea1f53a8b9135db06814a83c5ccf4dacc00d14d17c9c3a461435550c0ca19ce07925f559fd3d6344d8b374c50853fc0d068c1ab29f36133dd01121b21492cf7
|
||||
MISC ChangeLog 3275 SHA256 e43b2a4093041c42d23dae5336f159fc0dd02cb3d3efd2320c79d82e6c09e8a5 SHA512 36465f9a79f9df02b68bbdf8d75bd1dbda0f0e3913d8de36bfe891f75792db61e77165b9addd022c1b6f4459f9e41db5ece77c407e3db0d774b8b4fcab375c1e WHIRLPOOL a232887a912f284d13d80088cfef2a6b7413084225ca3d940ec9532d8e7c57895712fd22b5cd1ee7f846e44d95c0824fe0beecb744967f4ec18a887e1971f997
|
||||
MISC ChangeLog-2015 612 SHA256 dcd73351a2d701a45f6f85c36bbee140283059083a35377e17919216b654bba5 SHA512 4076a12d878ccb804eec45983597f1d260b9ab795cb0a3e425643720841efa9e799ba9a033dc39ed146a019f8ee39b8a23135b187da911fb802b3dcc25eabad7 WHIRLPOOL c60fdb85d5ae37f002d228576f257700963cf08f16a7fa0c3f335de5a51020135d41325d68e010df25aff8688c6f21ad1019320ac35470a4d0ee9f6103971db5
|
||||
MISC metadata.xml 882 SHA256 ed43a4da2d3221a1e680ed161e67ad2528c6681f3dc5ed31ce9fa8358e0785ea SHA512 3d6d892c7ea60d67bf905c07bf963d6ea97c968246d0af2fd8eaa3f3a6a9e0a27ea454a183d6a30b3c695acb63f54f9f24caa74032d52fd6d721d4a69a391a52 WHIRLPOOL 5c66c932a8ec94153cc81a468b700569c0905ca3b58edcf543014bdd3fb9d3f86d24910e3f7a465a4e010d1a1c18e619f0a4f1011f2371836d4e29f1a152568c
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue