1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 inherit eutils multilib
8 DESCRIPTION="Utility to change the OpenGL interface being used"
9 HOMEPAGE="https://www.gentoo.org/"
12 # http://www.opengl.org/registry/api/glext.h
13 # http://www.opengl.org/registry/api/glxext.h
17 MIRROR="https://dev.gentoo.org/~mattst88/distfiles"
18 SRC_URI="https://dev.gentoo.org/~mgorny/dist/opengl.eselect-${PV}.xz"
19 # ${MIRROR}/${P}.tar.xz"
23 KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
26 DEPEND="app-arch/xz-utils"
28 >=app-admin/eselect-1.2.4
29 !<media-libs/mesa-10.3.4-r1
30 !=media-libs/mesa-10.3.5
31 !=media-libs/mesa-10.3.7-r1
32 !<x11-proto/glproto-1.4.17-r1
33 !<=x11-base/xorg-server-1.12.4-r5
34 !=x11-base/xorg-server-1.15.2-r1
35 !=x11-base/xorg-server-1.15.2-r2
36 !~x11-base/xorg-server-1.16.3
37 !=x11-base/xorg-server-1.16.4
38 !=x11-base/xorg-server-1.16.4-r3
39 !~x11-base/xorg-server-1.17.0
40 !=x11-base/xorg-server-1.17.1
41 !<x11-drivers/ati-drivers-14.9-r2
42 !=x11-drivers/ati-drivers-14.12"
47 # we may be moving the config file, so get it early
48 OLD_IMPL=$(eselect opengl show)
52 local shopt_save=$(shopt -p nullglob)
54 local opengl_dirs=( "${EROOT}"/usr/lib*/opengl )
56 if [[ -n ${opengl_dirs[@]} ]]; then
57 # delete broken symlinks
58 find "${opengl_dirs[@]}" -xtype l -delete
59 # delete empty leftover directories (they confuse eselect)
60 find "${opengl_dirs[@]}" -depth -type d -empty -exec rmdir -v {} +
63 if [[ -n "${OLD_IMPL}" && "${OLD_IMPL}" != '(none)' ]] ; then
64 eselect opengl set "${OLD_IMPL}"
66 if [[ -f ${EROOT}/etc/env.d/03opengl ]]; then
67 # remove the old file, moved now
68 rm -vf "${EROOT}"/etc/env.d/03opengl
73 # don't die on Darwin users
74 if [[ ${CHOST} == *-darwin* ]] ; then
75 sed -i -e 's/libGL\.so/libGL.dylib/' opengl.eselect-${PV} || die
80 insinto "/usr/share/eselect/modules"
81 newins opengl.eselect-${PV} opengl.eselect
82 # doman opengl.eselect.5