blob: 05a799ee119048d0511ec23b0ba141243177bbed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-opengl/eselect-opengl-1.0.3.ebuild,v 1.7 2006/03/28 18:35:46 vapier Exp $
inherit multilib
DESCRIPTION="Utility to change the OpenGL interface being used"
HOMEPAGE="http://www.gentoo.org/"
# Source:
# http://oss.sgi.com/projects/ogl-sample/ABI/glext.h
# http://oss.sgi.com/projects/ogl-sample/ABI/glxext.h
GLEXT="29"
GLXEXT="11"
SRC_URI="mirror://gentoo/glext.h-${GLEXT}.bz2
mirror://gentoo/glxext.h-${GLXEXT}.bz2
mirror://gentoo/opengl.eselect-${PV}.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
IUSE=""
RESTRICT="multilib-pkg-force"
DEPEND="app-arch/bzip2"
RDEPEND=">=app-admin/eselect-1.0_rc1"
S=${WORKDIR}
src_unpack() {
unpack ${A}
mv opengl.eselect-${PV} opengl.eselect
mv glext.h-${GLEXT} glext.h
mv glxext.h-${GLXEXT} glxext.h
# Small bugfix
sed -i 's/ACTION/action/' opengl.eselect
}
pkg_preinst() {
# It needs to be before 04multilib
[ -f "${ROOT}/etc/env.d/09opengl" ] && mv ${ROOT}/etc/env.d/09opengl ${ROOT}/etc/env.d/03opengl
OABI="${ABI}"
for ABI in $(get_install_abis); do
if [ -e "${ROOT}/usr/$(get_libdir)/opengl/xorg-x11/lib/libMesaGL.so" ]; then
einfo "Removing libMesaGL.so from xorg-x11 profile. See bug #47598."
rm -f ${ROOT}/usr/$(get_libdir)/opengl/xorg-x11/lib/libMesaGL.so
fi
if [ -e "${ROOT}/usr/$(get_libdir)/libMesaGL.so" ]; then
einfo "Removing libMesaGL.so from /usr/$(get_libdir). See bug #47598."
rm -f ${ROOT}/usr/$(get_libdir)/libMesaGL.so
fi
for f in ${ROOT}/usr/$(get_libdir)/libGL.so.* ${ROOT}/usr/$(get_libdir)/libGLcore.so.* ${ROOT}/usr/$(get_libdir)/libnvidia-tls* ${ROOT}/usr/$(get_libdir)/tls/libnvidia-tls* ; do
[[ -e ${f} ]] && rm -f ${f}
done
done
ABI="${OABI}"
unset OABI
}
pkg_postinst() {
local impl="$(eselect opengl show)"
if [[ -n "${impl}" ]] ; then
eselect opengl set "${impl}"
fi
}
src_install() {
insinto /usr/share/eselect/modules
doins opengl.eselect
# MULTILIB-CLEANUP: Fix this when FEATURES=multilib-pkg is in portage
local MLTEST=$(type dyn_unpack)
if has_multilib_profile && [ "${MLTEST/set_abi}" = "${MLTEST}" ]; then
OABI="${ABI}"
for ABI in $(get_install_abis); do
# Install default glext.h
insinto /usr/$(get_libdir)/opengl/global/include
doins ${WORKDIR}/glext.h || die
doins ${WORKDIR}/glxext.h || die
done
ABI="${OABI}"
unset OABI
else
# Install default glext.h
insinto /usr/$(get_libdir)/opengl/global/include
doins ${WORKDIR}/glext.h || die
doins ${WORKDIR}/glxext.h || die
fi
}
|