aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Junghans <ottxor@gentoo.org>2013-03-10 19:50:04 -0600
committerChristoph Junghans <ottxor@gentoo.org>2013-03-10 19:50:04 -0600
commit7fa887fc34cfb4937abc8b034f3ec909404a1a2a (patch)
treee8d2f8d3d25cf0f2e6d3c48786d251c18c46dc3a
parentxvmc.eselect: added fix for intel-i815 (bug #393027) (diff)
downloadeselect-7fa887fc34cfb4937abc8b034f3ec909404a1a2a.tar.gz
eselect-7fa887fc34cfb4937abc8b034f3ec909404a1a2a.tar.bz2
eselect-7fa887fc34cfb4937abc8b034f3ec909404a1a2a.zip
xvmc.eselect: added prefix support (bug #434518)
-rw-r--r--modules/xvmc.eselect42
1 files changed, 24 insertions, 18 deletions
diff --git a/modules/xvmc.eselect b/modules/xvmc.eselect
index 15f8bd0..7213fcc 100644
--- a/modules/xvmc.eselect
+++ b/modules/xvmc.eselect
@@ -8,18 +8,24 @@ MAINTAINER="cardoe@gentoo.org"
SVN_DATE='$Date$'
VERSION=$(svn_date_to_version "${SVN_DATE}" )
+get_libname() {
+ [[ $(uname) == "Darwin" ]] \
+ && echo ${1:+.}${1}.dylib \
+ || echo .so${1:+.}${1}
+}
+
XVMCLIBS=(
-"libXvMCNVIDIA_dynamic.so.1"
-"libXvMC.so.1"
-"libviaXvMC.so.1"
-"libviaXvMCPro.so.1"
-"libchromeXvMC.so.1"
-"libchromeXvMCPro.so.1"
-"libXvMCVIA.so"
-"libXvMCVIAPro.so"
-"libI810XvMC.so.1"
-"/usr/lib/libIntelXvMC.so"
-"libAMDXvBA.so.1" )
+"libXvMCNVIDIA_dynamic$(get_libname 1)"
+"libXvMC$(get_libname 1)"
+"libviaXvMC$(get_libname 1)"
+"libviaXvMCPro$(get_libname 1)"
+"libchromeXvMC$(get_libname 1)"
+"libchromeXvMCPro$(get_libname 1)"
+"libXvMCVIA$(get_libname)"
+"libXvMCVIAPro$(get_libname)"
+"libI810XvMC$(get_libname 1)"
+"/usr/lib/libIntelXvMC$(get_libname)"
+"libAMDXvBA$(get_libname 1)" )
XVMCPRETTY=(
"nvidia"
"xorg-x11"
@@ -36,7 +42,7 @@ XVMCPRETTY=(
get_implementation_indices() {
local ret n
for (( n = 0; n < ${#XVMCLIBS[@]}; ++n )); do
- [[ -e "${ROOT}/usr/lib/${XVMCLIBS[n]##*/}" ]] && ret+=($n)
+ [[ -e "${EROOT}/usr/lib/${XVMCLIBS[n]##*/}" ]] && ret+=($n)
done
echo ${ret[@]}
@@ -44,8 +50,8 @@ get_implementation_indices() {
get_current_implementation_index() {
local n
- if [[ -f "${ROOT}/etc/X11/XvMCConfig" ]]; then
- local current=$(< "${ROOT}/etc/X11/XvMCConfig")
+ if [[ -f "${EROOT}/etc/X11/XvMCConfig" ]]; then
+ local current=$(< "${EROOT}/etc/X11/XvMCConfig")
for (( n = 0; n < ${#XVMCLIBS[@]}; ++n )); do
if [[ "${XVMCLIBS[n]}" = "${current}" ]]; then
echo "${n}"
@@ -59,11 +65,11 @@ get_current_implementation_index() {
set_new_implementation() {
echo -n "Switching to ${XVMCPRETTY[$1]} XvMC implementation..."
- touch "${ROOT}/etc/X11/XvMCConfig" 2>&1 > /dev/null
+ touch "${EROOT}/etc/X11/XvMCConfig" 2>&1 > /dev/null
if [[ $? -eq 0 ]]; then
- echo "${XVMCLIBS[$1]}" > "${ROOT}/etc/X11/XvMCConfig"
- chmod 644 "${ROOT}/etc/X11/XvMCConfig"
- chown 0:0 "${ROOT}/etc/X11/XvMCConfig"
+ echo "${XVMCLIBS[$1]}" > "${EROOT}/etc/X11/XvMCConfig"
+ chmod 644 "${EROOT}/etc/X11/XvMCConfig"
+ [[ ${EROOT} == "/" ]] && chown 0:0 "${EROOT}/etc/X11/XvMCConfig"
echo " done"
else
echo " failed!"