| # Copyright 1999-2020 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=5 |
| |
| inherit eutils multilib |
| |
| DESCRIPTION="Utility to switch between OpenGL implementations" |
| HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" |
| |
| # Source: |
| # http://www.opengl.org/registry/api/glext.h |
| # http://www.opengl.org/registry/api/glxext.h |
| GLEXT="85" |
| GLXEXT="34" |
| |
| MIRROR="https://dev.gentoo.org/~mattst88/distfiles" |
| SRC_URI="https://dev.gentoo.org/~mgorny/dist/opengl.eselect-${PV}.xz" |
| # ${MIRROR}/${P}.tar.xz" |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="*" |
| IUSE="" |
| |
| DEPEND="app-arch/xz-utils" |
| RDEPEND=">=app-admin/eselect-1.2.4" |
| |
| S=${WORKDIR} |
| |
| pkg_preinst() { |
| # we may be moving the config file, so get it early |
| OLD_IMPL=$(eselect opengl show) |
| } |
| |
| pkg_postinst() { |
| local shopt_save=$(shopt -p nullglob) |
| shopt -s nullglob |
| local opengl_dirs=( "${EROOT}"/usr/lib*/opengl ) |
| ${shopt_save} |
| if [[ -n ${opengl_dirs[@]} ]]; then |
| # delete broken symlinks |
| find "${opengl_dirs[@]}" -xtype l -delete |
| # delete empty leftover directories (they confuse eselect) |
| find "${opengl_dirs[@]}" -depth -type d -empty -exec rmdir -v {} + |
| fi |
| |
| if [[ -n "${OLD_IMPL}" && "${OLD_IMPL}" != '(none)' ]] ; then |
| eselect opengl set "${OLD_IMPL}" |
| fi |
| if [[ -f ${EROOT}/etc/env.d/03opengl ]]; then |
| # remove the old file, moved now |
| rm -vf "${EROOT}"/etc/env.d/03opengl |
| fi |
| } |
| |
| src_prepare() { |
| # don't die on Darwin users |
| if [[ ${CHOST} == *-darwin* ]] ; then |
| sed -i -e 's/libGL\.so/libGL.dylib/' opengl.eselect-${PV} || die |
| fi |
| } |
| |
| src_install() { |
| insinto "/usr/share/eselect/modules" |
| newins opengl.eselect-${PV} opengl.eselect |
| # doman opengl.eselect.5 |
| } |