commit:     d0a744ad78402965b915e40addf6b249c5d668d2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 26 15:38:39 2025 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Mar 26 15:38:39 2025 +0000
URL:        https://gitweb.gentoo.org/proj/eselect.git/commit/?id=d0a744ad

Remove obsolete modules

* modules/esd.eselect:
* modules/mesa.eselect:
* modules/miniaudicle.eselect:
* modules/opengl.eselect:
* man/opengl.eselect.5:
* modules/xvmc.eselect: Remove; the corresponding Gentoo packages
have been treecleaned.
* modules/myspell.eselect:
* modules/tbirddict.eselect: Remove; never packaged.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ChangeLog                   |  10 +
 man/opengl.eselect.5        |  69 -----
 modules/esd.eselect         | 149 ----------
 modules/mesa.eselect        | 220 ---------------
 modules/miniaudicle.eselect | 143 ----------
 modules/myspell.eselect     | 649 --------------------------------------------
 modules/opengl.eselect      | 270 ------------------
 modules/tbirddict.eselect   | 378 --------------------------
 modules/xvmc.eselect        | 198 --------------
 9 files changed, 10 insertions(+), 2076 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ebecbcf..fa3bb7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2025-03-26  Ulrich Müller  <[email protected]>
 
+       * modules/esd.eselect:
+       * modules/mesa.eselect:
+       * modules/miniaudicle.eselect:
+       * modules/opengl.eselect:
+       * man/opengl.eselect.5:
+       * modules/xvmc.eselect: Remove; the corresponding Gentoo packages
+       have been treecleaned.
+       * modules/myspell.eselect:
+       * modules/tbirddict.eselect: Remove; never packaged.
+
        * modules/awk.eselect:
        * modules/fontconfig.eselect:
        * modules/iptables.eselect:

diff --git a/man/opengl.eselect.5 b/man/opengl.eselect.5
deleted file mode 100644
index c1b2793..0000000
--- a/man/opengl.eselect.5
+++ /dev/null
@@ -1,69 +0,0 @@
-.\" Copyright 2005-2009 Gentoo Foundation
-.\" Distributed under the terms of the GNU General Public License v2
-.\"
-.TH opengl.eselect 5 "November 2009" "Gentoo Linux" eselect
-.SH NAME
-opengl.eselect \- The OpenGL management module for Gentoo's eselect
-.SH SYNOPSIS
-.B eselect opengl
-.RB [ help | usage | version ]
-.br
-.B eselect opengl list
-.br
-.B eselect opengl set
-.RI [ options ]
-.I implementation
-.br
-.B eselect opengl show
-.SH DESCRIPTION
-.B eselect
-is Gentoo's configuration and management tool.  It features modules
-that care for the individual administrative tasks.
-.SH ACTION: LIST
-.B eselect opengl list
-.br
-Display a numbered list of all available OpenGL implementations.
-The currently active implementation is highlighted by a '*'.
-
-# eselect opengl list
-.br
-Available OpenGL implementations:
-  [1]   ati *
-  [2]   xfree
-  [3]   xorg\-x11
-.SH ACTION: SHOW
-.B eselect opengl show
-.br
-Show your system's currently active OpenGL implementation.
-
-# eselect opengl show
-.br
-ati
-.SH ACTION: SET
-.B eselect opengl set
-.RI [ options ]
-.I implementation
-.br
-Set your system's currently active OpenGL implementation to 
-.IR implementation .
-.br
-Extra options:
-.TP
-.B \-\-use\-old
-If an implementation is already set, use that one.
-.TP
-.BI \-\-prefix =value
-Set the source prefix to
-.I value
-(defaults to
-.BR /usr ).
-.TP
-.BI \-\-dst\-prefix =value
-Set the destination prefix to
-.I value
-(defaults to
-.BR /usr ).
-.SH AUTHOR
-Danny van Dyk <[email protected]>
-.SH SEE ALSO
-.BR eselect (1)

diff --git a/modules/esd.eselect b/modules/esd.eselect
deleted file mode 100644
index 561e343..0000000
--- a/modules/esd.eselect
+++ /dev/null
@@ -1,149 +0,0 @@
-# -*-eselect-*-  vim: ft=eselect
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-DESCRIPTION="Select esound daemon or wrapper"
-MAINTAINER="[email protected]"
-VERSION="20100127"
-
-# find a list of esd symlink targets, best first
-find_targets() {
-       for f in \
-               "${EROOT}/usr/bin/esound-esd" \
-               "${EROOT}/usr/bin/esdcompat"
-       do
-               if [[ -f ${f} ]] ; then
-                       echo $(basename ${f} )
-               fi
-       done
-}
-
-# try to remove the esd symlink
-remove_symlink() {
-       rm "${EROOT}/usr/bin/esd" &>/dev/null
-}
-
-# set the esd symlink
-set_symlink() {
-       target=${1}
-       if is_number "${target}" && [[ ${target} -ge 1 ]] ; then
-               targets=( $(find_targets ) )
-               target=${targets[$(( ${target} - 1 ))]}
-       fi
-       if [[ -f ${EROOT}/usr/bin/${target} ]] ; then
-               remove_symlink
-               ln -s "${EROOT}/usr/bin/${target}" "${EROOT}/usr/bin/esd" \
-                       || die "Couldn't set ${target} symlink"
-       else
-               die -q  "Target \"${1}\" doesn't appear to be valid!"
-       fi
-}
-
-### show action ###
-
-describe_show() {
-       echo "Show the current ESoundD implementation"
-}
-
-do_show() {
-       [[ -z "${@}" ]] || die -q "Too many parameters"
-
-       write_list_start "Current ESounD implementation:"
-       if [[ -L ${EROOT}/usr/bin/esd ]] ; then
-               write_kv_list_entry \
-                       "$(basename "$(canonicalise "${EROOT}/usr/bin/esd")")" 
""
-       elif [[ -e ${EROOT}/usr/bin/esd ]] ; then
-               write_kv_list_entry "(not a symlink)" ""
-       else
-               write_kv_list_entry "(unset)" ""
-       fi
-}
-
-### list action ###
-
-describe_list() {
-       echo "List available ESounD implementations"
-}
-
-do_list() {
-       [[ -z "${@}" ]] || die -q "Too many parameters"
-
-       local targetname_esound_esd="ESounD original"
-       local targetname_esdcompat="PulseAudio"
-
-       local i targets
-       targets=( $(find_targets ) )
-       for (( i = 0; i < ${#targets[@]}; i++ )); do
-               targetname="targetname_${targets[${i}]/-/_}"
-               if [[ ${targets[i]} = \
-                       $(basename "$(canonicalise "${EROOT}/usr/bin/esd")") ]]
-               then
-                       targets[i]=$(highlight_marker "${!targetname}")
-               else
-                       targets[i]="${!targetname}"
-               fi
-       done
-       write_list_start "Available ESounD implementations:"
-       write_numbered_list -m "(none found)" "${targets[@]}"
-}
-
-### set action ###
-
-describe_set() {
-       echo "Set a new ESounD implementation provider"
-}
-
-describe_set_options() {
-       echo "target : Target name or number (from 'list' action)"
-}
-
-describe_set_parameters() {
-       echo "<target>"
-}
-
-do_set() {
-       if [[ -z "${1}" ]] ; then
-               die -q "You didn't give me a provider name"
-
-       elif [[ -n "${2}" ]] ; then
-               die -q "Too many parameters"
-
-       elif [[ -L ${EROOT}/usr/bin/esd ]] ; then
-               if ! remove_symlink ; then
-                       die -q "Can't remove existing provider"
-               elif ! set_symlink "${1}" ; then
-                       die -q "Can't set new provider"
-               fi
-
-       elif [[ -e ${EROOT}/usr/bin/esd ]] ; then
-               die -q "Sorry, ${EROOT}/usr/bin/esd confuses me"
-
-       else
-               set_symlink "${1}" || die -q "Can't set a new provider"
-       fi
-}
-
-### update action ###
-
-describe_update() {
-       echo "Automatically update the ESounD provider"
-}
-
-describe_update_options() {
-       echo "--if-unset : Do not override existing implementation"
-}
-
-do_update() {
-       [[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) 
|| \
-               die -q "Usage error"
-
-       if [[ -L ${EROOT}/usr/bin/esd ]] ; then
-               [[ ${1} == "--if-unset" ]] && return
-               remove_symlink || die -q "Can't remove existing link"
-       fi
-       if [[ -e ${EROOT}/usr/bin/esd ]] ; then
-               die -q "Can't set a new provider"
-       elif ! [[ -z $(find_targets ) ]] ; then
-               set_symlink 1 || die -q "Can't set a new provider"
-       fi
-}

diff --git a/modules/mesa.eselect b/modules/mesa.eselect
deleted file mode 100644
index 09157d7..0000000
--- a/modules/mesa.eselect
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-DESCRIPTION="Manage the OpenGL driver architecture used by media-libs/mesa"
-MAINTAINER="[email protected]"
-SVN_DATE='$Date: $'
-VERSION=$(svn_date_to_version "${SVN_DATE}" )
-EBUILD_VERSION="0.0.10"
-
-MESA_CONF_DIR="${EROOT}/usr/share/mesa"
-MESA_DIR_64="${EROOT}/usr/lib/mesa"
-DRI_DIR_64="${EROOT}/usr/lib/dri"
-MESA_DIR_32="${EROOT}/usr/lib32/mesa"
-DRI_DIR_32="${EROOT}/usr/lib32/dri"
-
-# receives a filename of the driver as argument, outputs the architecture 
(classic or gallium)
-drivername_to_architecture() {
-       local drivername=$1
-       local driver
-       local implementation
-       local comp
-       for driver in ${MESA_IMPLEMENTATIONS}; do
-               for implementation in classic gallium; do
-                       comp=$(get_drivername ${driver} ${implementation})
-                       # check if the driver name matches the parameter
-                       if [[ ${drivername} == ${comp} ]]; then
-                               echo ${implementation}
-                               exit 0
-                       fi
-               done
-       done
-}
-
-# receives chipset family and driver architecture as argument, outputs the 
driver's filename
-get_drivername() {
-       local family=$1
-       local architecture=$2
-       echo ${MESA_DRIVERS[${family},${architecture}driver]}
-}
-
-# receives the chipset family as argument, outputs the currently selected 
architecture for that family
-get_current_implementation() {
-       local family=$1
-       local implementation
-       local drivername
-       # the symlink is named the same as the classic driver
-       local current=$(get_drivername ${family} classic)
-
-       if [[ -L ${DRI_DIR}/${current} ]]; then
-               for implementation in classic gallium; do
-                       drivername=$(get_drivername ${family} ${implementation})
-                       # read the symlink which points to the actual driver 
file
-                       if [[ $(readlink ${DRI_DIR}/${current}) == 
"../mesa/${drivername}" && -f "${MESA_DIR}/${drivername}" ]]; then
-                               echo $(drivername_to_architecture ${drivername})
-                       fi
-               done
-       elif [[ -f ${DRI_DIR}/${current} ]]; then
-               # if it is a file, assume classic
-               echo "classic"
-       fi
-}
-
-# receives a family as argument, outputs all installed implementations
-get_implementations() {
-       local ret
-       local family=$1
-       local implementation
-       local drivername
-       # check which driver files exist in MESA_DIR
-       for implementation in classic gallium; do
-               drivername=$(get_drivername ${family} ${implementation})
-               if [[ -f ${MESA_DIR}/${drivername} || -L 
${MESA_DIR}/${drivername} ]]; then
-                       ret+="${implementation} "
-               fi
-       done
-       echo ${ret}
-}
-
-### show action ###
-describe_show() {
-       echo "Print the current OpenGL driver."
-}
-
-doshow_helper() {
-       local current
-       local driver
-
-       for driver in ${MESA_IMPLEMENTATIONS}; do
-               current=$(get_current_implementation ${driver})
-               if [[ -n ${current} ]]; then
-                       echo -n "${multiarch}${driver} "
-                       echo ${current}
-               fi
-       done
-       return 0
-}
-
-do_show() {
-       source "${MESA_CONF_DIR}"/eselect-mesa.conf || die "Failed to source 
config"
-       if [[ -d "${MESA_DIR_32}" && -d "${DRI_DIR_32}" ]]; then
-               MESA_DIR=${MESA_DIR_64} DRI_DIR=${DRI_DIR_64} multiarch="64bit 
" doshow_helper
-               MESA_DIR=${MESA_DIR_32} DRI_DIR=${DRI_DIR_32} multiarch="32bit 
" doshow_helper
-       else
-               MESA_DIR=${MESA_DIR_64} DRI_DIR=${DRI_DIR_64} doshow_helper
-       fi
-}
-
-### list action ###
-describe_list() {
-       echo "List the available OpenGL drivers."
-}
-
-dolist_helper() {
-       local driver
-       local available
-
-       # assemble the list of drivers with the installed implementations
-       for driver in ${MESA_IMPLEMENTATIONS}; do
-               write_list_start 
"${multiarch}${MESA_DRIVERS[${driver},description]}"
-               available=( $(get_implementations ${driver}) )
-               for (( i = 0 ; i < ${#available[@]} ; i = i + 1 )); do
-                       if [[ ${available[${i}]} == 
$(get_current_implementation ${driver}) ]]; then
-                               available[${i}]=$(highlight_marker 
"${available[${i}]}")
-                       fi
-               done
-               write_numbered_list "${available[@]}"
-       done
-}
-
-do_list() {
-       source "${MESA_CONF_DIR}"/eselect-mesa.conf || die "Failed to source 
config"
-       if [[ -d "${MESA_DIR_32}" && -d "${DRI_DIR_32}" ]]; then
-               MESA_DIR=${MESA_DIR_64} DRI_DIR=${DRI_DIR_64} multiarch="64bit 
" dolist_helper
-               MESA_DIR=${MESA_DIR_32} DRI_DIR=${DRI_DIR_32} multiarch="32bit 
" dolist_helper
-       else
-               MESA_DIR=${MESA_DIR_64} DRI_DIR=${DRI_DIR_64} dolist_helper
-       fi
-}
-
-### set action ###
-describe_set() {
-       echo "Select the OpenGL driver."
-}
-
-describe_set_parameters() {
-       echo "[32bit|64bit] [--auto|<family> <architecture>]"
-}
-
-describe_set_options() {
-       echo "32bit, 64bit : (optional) Apply changes to 32 bit or 64 bit 
multilib only"
-       echo "--auto : Sets all drivers which are not already set"
-       echo "<family> : The chipset family, or sw for software renderer"
-       echo "<architecture> : The driver architecture"
-}
-
-doset_helper() {
-       if [[ "$1" == --auto ]]; then
-               local driver
-               for driver in ${MESA_IMPLEMENTATIONS}; do
-                       local implementations=( $(get_implementations 
${driver}) )
-                       # prefer default implementation if installed
-                       if [[ ${implementations[1]} == 
${MESA_DRIVERS[${driver},default]} ]]; then
-                               implementations=${implementations[1]}
-                       fi
-                       # set the implementation if it is not already set
-                       if [[ -n ${implementations} && ! -n 
$(get_current_implementation ${driver}) ]]; then
-                               doset_helper ${driver} ${implementations}
-                       fi
-               done
-               return 0
-       elif [[ ${#} != 2 ]] ; then
-               die -q "Usage: set $(describe_set_parameters)"
-       fi
-
-       local family=$(echo $1 | tr '[:upper:]' '[:lower:]')
-       local architecture=$(echo $2 | tr '[:upper:]' '[:lower:]')
-
-       # architecture may be specified by its name or its index
-       if is_number "${architecture}"; then
-               # numeric index, find the architecture's name
-               local implementations=( $(get_implementations ${family} 
${architecture}) )
-               [[ ${architecture} -ge 1 && ${architecture} -le 
${#implementations[@]} ]] \
-                       || die -q "Number out of range: ${architecture}"
-               architecture=${implementations[architecture-1]}
-       fi
-
-       local symlink=$(get_drivername ${family} classic)
-       local target=$(get_drivername ${family} ${architecture})
-
-       if [[ ! -n ${symlink} || ! -n ${target} ]]; then
-               write_warning_msg "Invalid selection: ${multiarch}${family} 
${architecture}."
-       elif [[ -e ${DRI_DIR}/${symlink} && ! -L ${DRI_DIR}/${symlink} ]]; then
-               die -q "Unable to update ${DRI_DIR}/${symlink} - not a symlink"
-       elif [[ -f ${MESA_DIR}/${target} ]]; then
-               echo "Switching ${multiarch}${family} to ${architecture}"
-               ln -s -f ../mesa/${target} ${DRI_DIR}/${symlink}
-       fi
-}
-
-do_set() {
-       source "${MESA_CONF_DIR}"/eselect-mesa.conf || die "Failed to source 
config"
-       if [[ $1 == "64bit" ]]; then
-               if [[ -d "${MESA_DIR_64}" && -d "${DRI_DIR_64}" ]]; then
-                       MESA_DIR=${MESA_DIR_64} DRI_DIR=${DRI_DIR_64} 
multiarch="$1 " doset_helper $2 $3
-               fi
-       elif [[ $1 == "32bit" ]]; then
-               if [[ -d "${MESA_DIR_32}" && -d "${DRI_DIR_32}" ]]; then
-                       MESA_DIR=${MESA_DIR_32} DRI_DIR=${DRI_DIR_32} 
multiarch="$1 " doset_helper $2 $3
-               else
-                       write_warning_msg "The 32bit parameter is intended for 
multilib systems only"
-               fi
-       else
-               if [[ -d "${MESA_DIR_32}" && -d "${DRI_DIR_32}" ]]; then
-                       MESA_DIR=${MESA_DIR_64} DRI_DIR=${DRI_DIR_64} 
multiarch="64bit " doset_helper $1 $2
-                       MESA_DIR=${MESA_DIR_32} DRI_DIR=${DRI_DIR_32} 
multiarch="32bit " doset_helper $1 $2
-               else
-                       MESA_DIR=${MESA_DIR_64} DRI_DIR=${DRI_DIR_64} 
doset_helper $1 $2
-               fi
-       fi              
-}

diff --git a/modules/miniaudicle.eselect b/modules/miniaudicle.eselect
deleted file mode 100644
index 256873a..0000000
--- a/modules/miniaudicle.eselect
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-DESCRIPTION="Manage /usr/bin/miniAudicle audio engine"
-MAINTAINER="[email protected]"
-
-# find a list of miniAudicle symlink targets, best first
-find_targets() {
-       local f
-       for f in \
-                       ${ROOT}/usr/bin/miniAudicle-alsa \
-                       ${ROOT}/usr/bin/miniAudicle-jack \
-                       ${ROOT}/usr/bin/miniAudicle-oss \
-               ; do
-               if [[ -f ${f} ]] ; then
-                       echo $(basename ${f} )
-               fi
-       done
-}
-
-# try to remove the miniAudicle symlink
-remove_symlinks() {
-       rm -f "${ROOT}"/usr/bin/miniAudicle &>/dev/null
-}
-
-# set the miniAudicle symlink
-set_symlinks() {
-       local target="${1}" targets
-       if is_number "${target}" && [[ ${target} -ge 1 ]] ; then
-               targets=( $(find_targets ) )
-               target=${targets[$(( ${target} - 1 ))]}
-       fi
-       if [[ -f "${ROOT}/usr/bin/${target}" ]] ; then
-               remove_symlinks
-
-               # it's not okay if these fail
-               ln -s "${ROOT}/usr/bin/${target}" "${ROOT}/usr/bin/miniAudicle" 
|| \
-                       die "Couldn't set ${target} /usr/bin/miniAudicle 
symlink"
-       else
-               die -q  "Target \"${1}\" doesn't appear to be valid!"
-       fi
-}
-
-### show action ###
-
-describe_show() {
-       echo "Show the current miniAudicle audio engine"
-}
-
-do_show() {
-       [[ -z "${@}" ]] || die -q "Too many parameters"
-
-       write_list_start "Current miniAudicle audio engine:"
-       if [[ -L "${ROOT}/usr/bin/miniAudicle" ]] ; then
-               write_kv_list_entry "$(basename $(canonicalise 
${ROOT}/usr/bin/miniAudicle ) )" ""
-       elif [[ -e "${ROOT}/usr/bin/miniAudicle" ]] ; then
-               write_kv_list_entry "(not a symlink)" ""
-       else
-               write_kv_list_entry "(unset)" ""
-       fi
-}
-
-### list action ###
-
-describe_list() {
-       echo "List available miniAudicle audio engines"
-}
-
-do_list() {
-       [[ -z "${@}" ]] || die -q "Too many parameters"
-
-       local i targets
-       targets=( $(find_targets ) )
-       write_list_start "Available miniAudicle audio engines:"
-       for (( i = 0 ; i < ${#targets[@]} ; i = i + 1 )) ; do
-               [[ ${targets[${i}]} == $(basename $(canonicalise 
${ROOT}/usr/bin/miniAudicle- ) ) ]] && \
-                       targets[${i}]=$(highlight_maker "${targets[${i}]}")
-       done
-       write_numbered_list -m "(none found)" "${targets[@]}"
-}
-
-### set action ###
-
-describe_set() {
-       echo "Set a new miniAudicle audio engines"
-}
-
-describe_set_options() {
-       echo "target : Target name or number (from 'list' action)"
-}
-
-describe_set_parameters() {
-       echo "<target>"
-}
-
-do_set() {
-       if [[ -z "${1}" ]] ; then
-               die -q "You didn't give me an audio engine"
-
-       elif [[ -n "${2}" ]] ; then
-               die -q "Too many parameters"
-
-       elif [[ -L "${ROOT}/usr/bin/miniAudicle" ]] ; then
-               if ! remove_symlinks ; then
-                       die -q "Can't remove existing provider"
-               elif ! set_symlinks "${1}" ; then
-                       die -q "Can't set new provider"
-               fi
-
-       elif [[ -e "${ROOT}/usr/bin/miniAudicle" ]] ; then
-               die -q "Sorry, ${ROOT}/usr/bin/miniAudicle confuses me"
-
-       else
-               set_symlinks "${1}" || die -q "Can't set a new audio engine"
-       fi
-}
-
-### update action ###
-
-describe_update() {
-       echo "Automatically update the audio engine"
-}
-
-describe_update_options() {
-       echo "--if-unset : Do not override existing audio engine"
-}
-
-do_update() {
-       [[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) 
|| \
-               die -q "Usage error"
-
-       if [[ -L "${ROOT}/usr/bin/miniAudicle" ]] ; then
-               [[ ${1} == "--if-unset" ]] && return
-               remove_symlinks || die -q "Can't remove existing link"
-       fi
-       if [[ -e "${ROOT}/usr/bin/miniAudicle" ]] ; then
-               die -q "Can't set a new provider"
-       elif ! [[ -z $(find_targets ) ]] ; then
-               set_symlinks 1 || die -q "Can't set a new provider"
-       fi
-}
-
-# vim: set ft=eselect :

diff --git a/modules/myspell.eselect b/modules/myspell.eselect
deleted file mode 100644
index 6a5eb78..0000000
--- a/modules/myspell.eselect
+++ /dev/null
@@ -1,649 +0,0 @@
-# -*-eselect-*-  vim: ft=eselect
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-DESCRIPTION="Manage the configuration of myspell/hunspell dictionaries for 
applications"
-MAINTAINER="[email protected]"
-SVN_DATE='$Date$'
-VERSION=$(svn_date_to_version "${SVN_DATE}" )
-
-inherit config
-
-MYSPELL_BASE="/usr/share/myspell"
-MYSPELL_LIST="dictionary.lst"
-MYSPELL_CFG="/etc/eselect/myspell"
-VALID_OPTIONS=""
-
-############################################################################
-# COMMON: Help text for option --app
-myspell_describe_option_app() {
-       echo "--app=<app name>: the application to be processed (defaults to 
all known applications)"
-}
-
-
-############################################################################
-# UTILITY: DISPLAY_LANGS
-# display a heading (indented 4 spaces) and a wrapped list of
-# language codes (indented 6 spaces)
-myspell_display_langs() {
-       local count lang
-       echo "    $1:"
-       shift
-       if [[ $1 == "" ]]; then
-               echo "      (none)"
-       else
-               count=0
-               for lang in $*; do
-                       [[ ${count} == 0 ]] && printf "     "
-                       printf " %s" ${lang}
-                       ((count = count+1))
-                       [[ ${count} == 22 ]] && printf "\n" && count=0
-               done
-               [[ ${count} == 0 ]] || printf "\n"
-       fi
-}
-
-############################################################################
-# UTILITY: PROCESS_ARGS
-myspell_process_args() {
-       local arg
-       while [[ -n $1 ]]; do
-               arg=$1
-               shift
-               if [[ "--" == ${arg:0:2} ]]; then
-                       opt=${arg/=*}
-                       value=${arg/*=}
-                       [[ ${value} == ${arg} ]] && value="set"
-                       # sanitise opt to lowercase letters only (this also 
removes the leading '--')
-                       # to ensure the user hasn't passed anything nasty. 
value doesn't need to
-                       # be santised as it's not used
-                       opt=${opt//[^a-z]}
-                       has ${opt} ${VALID_OPTIONS} ||
-                               die -q "Option ${opt} is not valid for the 
selected action"
-                       export OPTION_${opt}=${value}
-               else
-                       [[ -n ${PARAMETER} ]] &&
-                               die -q "Syntax error - only one parameter may 
be supplied; already have ${PARAMETER} so ${arg} cannot be accepted."
-                       PARAMETER=${arg}
-               fi
-       done
-}
-
-############################################################################
-# UTILITY: MYSPELL_SET_FIELDS
-# set array "fields" to the elements of $1, separated by $2.
-# This saves having to muck about with IFS all over the place.
-myspell_set_fields() {
-       local old_IFS
-       old_IFS="${IFS}"
-       IFS=$2
-       fields=($1)
-       IFS="${old_IFS}"
-}
-
-############################################################################
-# UTILITY: MYSPELL_GET_LANG
-# dictionary names are <class>-<lang>
-myspell_get_lang() {
-       local fields
-       myspell_set_fields "${P}" "-"
-       echo ${fields[1]}
-}
-
-############################################################################
-# UTILITY: MYSPELL_LOAD_CFG
-myspell_load_cfg() {
-       local item fields
-       APP_DIRECTORY=$(load_config ${MYSPELL_CFG}/${app} "DIRECTORY" ||\
-               die -q "Failed to load DIRECTORY from config file 
${MYSPELL_CFG}/${app}")
-       APP_OPTIONS=$(load_config ${MYSPELL_CFG}/${app} "OPTIONS" ||\
-               die -q "Failed to load OPTIONS from config file 
${MYSPELL_CFG}/${app}")
-       unset ${!APP_OPTION_*}
-       myspell_set_fields "${APP_OPTIONS}" ","
-       for item in ${fields[@]}; do
-               export APP_OPTION_${item//[-\.]/_}="set"
-       done
-}
-
-############################################################################
-# UTILITY: MYSPELL_GET_SUFFIXES
-# return suffixes for dictionary type; spelling dictionary,
-# hyphenation dictionary and thesaurus.
-myspell_get_suffixes() {
-       case $1 in
-               DICT) echo ".aff .dic" ;;
-               HYPH) echo ".dic" ;;
-               THES) echo ".dat .idx" ;;
-       esac
-}
-
-############################################################################
-# UTILITY: MYSPELL_CREATE_DICTLIST
-# Create OpenOffice.org-style dictionary list file if it does not exist
-myspell_create_dictlist() {
-       local dir lst
-       dir=$1
-       lst=$2
-       [[ -f ${dir}/${lst} ]] && return
-       # Ensure dictionary area exists
-       [[ -d ${dir} ]] || mkdir -p ${dir}
-       touch ${dir}/${lst} ||
-               die -q "Unable to create ${dir}/${lst}"
-       # Format of dictionary.lst files is from OOo standard
-       # dictionary.lst file:
-       cat > ${dir}/${lst} <<EOF
-# List of All Dictionaries to be Loaded by OpenOffice
-# ---------------------------------------------------
-# Each Entry in the list have the following space delimited fields
-#
-# Field 0: Entry Type "DICT" - spellchecking dictionary
-#                     "HYPH" - hyphenation dictionary
-#                     "THES" - thesaurus files
-#
-# Field 1: Language code from Locale "en" or "de" or "pt" ...
-#
-# Field 2: Country Code from Locale "US" or "GB" or "PT"
-#
-# Field 3: Root name of file(s) "en_US" or "hyph_de" or "th_en_US"
-#          (do not add extensions to the name)
-
-EOF
-}
-
-# Format of MYSPELL_[SPELLING|HYPHENATION|THESAURUS]_DICTIONARIES:
-#
-# Field 0: Language code
-# Field 1: Country code
-# Field 2: Root name of dictionary files
-# Field 3: Description
-# Field 4: Archive filename
-#
-# This format is from the available.lst, hyphavail.lst and
-# thesavail.lst files on the openoffice.org repository.
-
-############################################################################
-# UTILITY: MYSPELL_CALC_BASENAME
-# myspell_calc_basename <name> <dictionary type>
-# replace _ in between language and country with -
-myspell_calc_basename() {
-       local bn
-       if [[ -n ${APP_OPTION_dashnames} ]]; then
-               case $2 in
-                       DICT)
-                               # Replace first occurrence
-                               echo ${1/_/-} ;;
-                       HYPH)
-                               # Replace second occurrence - by replacing 
first then
-                               # second, then putting first back.
-                               bn=${1/_/-}
-                               bn=${bn/_/-}
-                               echo ${bn/-/_} ;;
-                       THES)
-                               # Replace second occurrence - by replacing 
first then
-                               # second, then putting first back.
-                               bn=${1/_/-}
-                               bn=${bn/_/-}
-                               echo ${bn/-/_} ;;
-               esac
-       else
-               echo ${1}
-       fi
-}
-
-
-
-############################################################################
-# ACTION: LIST
-
-describe_list() {
-       echo "List the available dictionaries"
-}
-
-do_list() {
-       local known_langs dict dictlist listn
-       write_list_start "Installed dictionary sources that can be used:"
-       listn=1
-       # myspell dictionary source
-       dictlist=$(ls ${MYSPELL_BASE}/${MYSPELL_LIST}.* 2> /dev/null)
-       if [[ -n ${dictlist} ]]; then
-               write_numbered_list_entry ${listn} "myspell"
-               known_langs=""
-               for dict in ${MYSPELL_BASE}/${MYSPELL_LIST}.*; do
-                       known_langs="${known_langs} 
${dict/${MYSPELL_BASE}\/${MYSPELL_LIST}.}"
-               done
-               myspell_display_langs "Installed language codes" ${known_langs}
-               (( listn = ${listn} + 1 ))
-       fi
-       # show none if no sources found
-       [[ ${listn} == "1" ]] && echo "  (none)"
-}
-
-
-############################################################################
-# ACTION: SHOW
-describe_show() {
-       echo "Show which dictionaries are configured for applications"
-}
-describe_show_options() {
-       myspell_describe_option_app;
-}
-myspell_show() {
-       local app lang myspell_sources direct_sources listn
-       write_list_start "Configured myspell dictionaries"
-       listn=0
-       for app in $*; do
-               (( listn = ${listn} + 1 ))
-
-               myspell_load_cfg ${app}
-               write_numbered_list_entry ${listn} "Application ${app}"
-               if [[ ! -d ${APP_DIRECTORY} ]]; then
-                       echo "    (none - directory ${APP_DIRECTORY} missing)"
-                       continue
-               fi
-
-               if [[ -n ${APP_OPTION_dictionary_lst} ]]; then
-
-                       # Configured dictionaries are those in the 
dictionary.lst file
-                       if [[ ! -f ${APP_DIRECTORY}/dictionary.lst ]]; then
-                               echo "    (none - dictionary list 
${APP_DIRECTORY}/dictionary.lst missing)"
-                               continue
-                       fi
-                       lang=""
-                       myspell_sources=""
-                       direct_sources=""
-                       while read entry; do
-                               fields=(${entry})
-                               [[ ${fields[0]:0:1} == "#" ]] && continue
-                               lang=${fields[1]}
-                               for suffix in $(myspell_get_suffixes 
${fields[0]}); do
-                                       if [[ -h 
${APP_DIRECTORY}/${fields[3]}${suffix} ]]; then
-                                               src=$(canonicalise 
${APP_DIRECTORY}/${fields[3]}${suffix})
-                                               if [[ ${src/${MYSPELL_BASE}} != 
${src} ]]; then
-                                                       has ${lang} 
${myspell_sources} ||
-                                                               
myspell_sources="${myspell_sources} ${lang}"
-                                               else
-                                                       write_warning_msg 
"unrecognised link to ${src} ignored"
-                                               fi
-                                       else
-                                               has ${lang} ${direct_sources} ||
-                                                       
direct_sources="${direct_sources} ${lang}"
-                                       fi
-                               done
-                       done <<-EOF
-                               $(sort --key=2 ${APP_DIRECTORY}/dictionary.lst)
-                       EOF
-
-               else
-
-                       # Configured dictionaries are those that are softlinked 
in the directory
-                       lang=""
-                       myspell_sources=""
-                       direct_sources=""
-                       for dic in ${APP_DIRECTORY}/*.dic; do
-                               lang=$(basename ${dic})
-                               lang=${lang/-*}
-                               lang=${lang/.*}
-                               if [[ -h ${dic} ]]; then
-                                       src=$(canonicalise ${dic})
-                                       if [[ ${src/${MYSPELL_BASE}} != ${src} 
]]; then
-                                               has ${lang} ${myspell_sources} 
||
-                                                       
myspell_sources="${myspell_sources} ${lang}"
-                                       else
-                                               write_warning_msg "unrecognised 
link to ${src} ignored"
-                                       fi
-                               else
-                                       has ${lang} ${direct_sources} ||
-                                               
direct_sources="${direct_sources} ${lang}"
-                               fi
-                       done
-
-               fi
-
-               [[ -n ${myspell_sources} ]] &&
-                       myspell_display_langs "Configured language codes linked 
from ${MYSPELL_BASE}" ${myspell_sources}
-
-               [[ -n ${direct_sources} ]] &&
-                       myspell_display_langs "Language codes installed 
directly in ${APP_DIRECTORY}" ${direct_sources}
-
-       done
-
-       # show none if no sources found
-       [[ ${listn} == "1" ]] && echo "  (none)"
-}
-
-do_show() {
-       local apps
-       VALID_OPTIONS="app"
-       myspell_process_args "$@"
-       [[ -n ${OPTION_app} ]] && apps=${OPTION_app} || apps=$(ls 
${MYSPELL_CFG})
-       myspell_show ${apps}
-}
-
-
-############################################################################
-# ACTION: INSTALL
-describe_install() {
-       echo "Configure eselect-myspell for an application (for use by ebuilds 
in postinst)"
-}
-
-describe_install_parameters() {
-       echo "<application>"
-}
-
-describe_install_options() {
-       echo "application: the application to configure"
-       echo "--directory=<directory>: the directory the application uses for 
dictionaries"
-       echo "--options={options}: comma-separated list of things the 
application needs in its dictionary directory; one or more of:"
-       echo "  all-softlinks: soft links from the spelling, hyphenation and 
thesaurus dictionaries in ${MYSPELL_BASE}"
-       echo "  spelling-softlinks: soft links from just the spelling 
dictionaries in ${MYSPELL_BASE}"
-       echo "  dictionary.lst: OpenOffice dictionary.lst database file"
-       echo "  dashnames: soft links will separate language and country by '-' 
instead of '_' (e.g. en-US instead of en_US)"
-}
-
-do_install() {
-       VALID_OPTIONS="directory options"
-       myspell_process_args "$@"
-       [[ -z ${PARAMETER} ]] && die -q "No application name specified"
-
-       store_config ${MYSPELL_CFG}/${PARAMETER} "DIRECTORY" 
"${OPTION_directory-none}" ||
-               die -q "Unable to write to ${MYSPELL_CFG}/${PARAMETER}"
-
-       store_config ${MYSPELL_CFG}/${PARAMETER} "OPTIONS" 
"${OPTION_options-none}" ||
-               die -q "Unable to write to ${MYSPELL_CFG}/${PARAMETER}"
-
-       myspell_update ${PARAMETER}
-}
-
-
-############################################################################
-# ACTION: SET
-describe_set() {
-       echo "Configure a dictionary for use with application(s)"
-}
-
-describe_set_parameters() {
-       echo "<dictionary>"
-}
-
-describe_set_options() {
-       echo "dictionary: <class>-<lang> e.g. myspell-en"
-       myspell_describe_option_app;
-}
-myspell_set() {
-       local dict app dir options dlang dictlst lfilen linkfilebase filen 
entry fields suffix alreadyexists
-       dict=$1
-       shift
-       dlang=${dict/*-}
-       dictlst="${MYSPELL_LIST}.${dlang}"
-       # check for myspell dictionary data file
-       [[ -f ${MYSPELL_BASE}/${dictlst} ]] ||
-               die -q "Dictionary ${dict} not found in ${MYSPELL_BASE}"
-
-       for app in $*; do
-               #echo "setting dictionary ${dict} for application ${app}"
-               myspell_load_cfg ${app}
-
-               # Ensure dictionary area exists
-               if [[ ! -d ${APP_DIRECTORY} ]]; then
-                       mkdir -p ${APP_DIRECTORY} || write_error_msg \
-                               "Failed to create dictionary directory 
${APP_DIRECTORY} for application ${app}."
-                       continue
-               fi
-
-               if [[ -n ${APP_OPTION_dictionary_lst} ]]; then
-                       # Create OOo dictionary list file if it doesn't already 
exist
-                       myspell_create_dictlist ${APP_DIRECTORY} ${MYSPELL_LIST}
-               fi
-
-               alreadyexists=""
-               # Check for already existing files
-               while read entry; do
-                       fields=(${entry})
-                       [[ ${fields[0]:0:1} == "#" ]] && continue
-
-                       if [[ -n ${APP_OPTION_all_softlinks} || \
-                                       ( -n ${APP_OPTION_spelling_softlinks} 
&& "DICT" == ${fields[0]} ) ]]; then
-
-                               # Work out softlink base name
-                               linkfilebase=$(myspell_calc_basename 
${fields[3]} ${fields[0]})
-
-                               # Check whether files exist for given base name
-                               for suffix in $(myspell_get_suffixes 
${fields[0]}); do
-                                       lfilen="${linkfilebase}${suffix}"
-                                       if [[ ! -h ${APP_DIRECTORY}/${lfilen} 
]] &&
-                                          [[ -f ${APP_DIRECTORY}/${lfilen} ]]; 
then
-                                               has ${lfilen} ${alreadyexists} 
||
-                                                       
alreadyexists="${alreadyexists} ${lfilen}"
-                                       fi
-                               done # next file suffix
-
-                       fi # dictionary type is to be softlinked
-
-               done < ${MYSPELL_BASE}/${dictlst}
-               # Warn user about existing files
-               if [[ -n ${alreadyexists} ]]; then
-                       write_warning_msg \
-                               "Files${alreadyexists} in ${APP_DIRECTORY} 
already exist." \
-                               "Remove them manually and re-run eselect 
myspell to put them" \
-                                       "under eselect myspell management."
-                       continue
-               fi
-
-               # Clear out any existing entry
-               myspell_unset ${dict} ${app}
-
-               # Install new entry
-               while read entry; do
-
-                       fields=(${entry})
-                       [[ ${fields[0]:0:1} == "#" ]] && continue
-
-                       # Setup dictionary.lst entry unless it's already there
-                       if [[ -n ${APP_OPTION_dictionary_lst} ]]; then
-                               grep "^${fields[0]} ${fields[1]} ${fields[2]} 
${fields[3]}$" \
-                                       ${APP_DIRECTORY}/${MYSPELL_LIST} > 
/dev/null 2>&1 ||
-                                               echo "${entry}" >> 
${APP_DIRECTORY}/${MYSPELL_LIST}
-                       fi # dictionary.lst is to be maintained
-
-                       # Setup softlinks
-                       if [[ -n ${APP_OPTION_all_softlinks} || \
-                                       ( -n ${APP_OPTION_spelling_softlinks} 
&& "DICT" == ${fields[0]} ) ]]; then
-
-                               # Work out softlink base name
-                               linkfilebase=$(myspell_calc_basename 
${fields[3]} ${fields[0]})
-
-                               # Remove old softlinks and install new ones
-                               for suffix in $(myspell_get_suffixes 
${fields[0]}); do
-                                       filen="${fields[3]}${suffix}"
-                                       lfilen="${linkfilebase}${suffix}"
-                                       # remove old softlink *** shouldn't be 
necessary with unset called above!
-                                       if [[ -h ${APP_DIRECTORY}/${lfilen} ]]; 
then
-                                               rm -f 
${APP_DIRECTORY}/${lfilen} ||
-                                                       write_error_msg "Failed 
to remove ${APP_DIRECTORY}/${lfilen}"
-                                       fi
-                                       # install new softlink
-                                       if [[ ! -f ${APP_DIRECTORY}/${lfilen} 
]]; then
-                                               ln -s ${MYSPELL_BASE}/${filen} 
${APP_DIRECTORY}/${lfilen} ||
-                                                       write_error_msg "Failed 
to create symlink from ${MYSPELL_BASE}/${filen} to ${APP_DIRECTORY}/${lfilen}"
-                                       fi
-                               done # next file suffix
-
-                       fi # dictionary is to be softlinked
-
-               done < ${MYSPELL_BASE}/${dictlst}
-
-       done # next app
-}
-
-do_set() {
-       local apps
-       VALID_OPTIONS="app"
-       myspell_process_args "$@"
-       [[ -z ${PARAMETER} ]] && die -q "Dictionary parameter missing"
-       [[ -n ${OPTION_app} ]] && apps=${OPTION_app} || apps=$(ls 
${MYSPELL_CFG})
-       myspell_set ${PARAMETER} ${apps}
-}
-
-
-############################################################################
-# ACTION: UNSET
-describe_unset() {
-       echo "Unconfigure a dictionary from an application"
-}
-
-describe_unset_parameters() {
-       echo "<dictionary>"
-}
-
-describe_unset_options() {
-       echo "dictionary: <class>-<lang> e.g. myspell-en"
-       myspell_describe_option_app;
-}
-
-myspell_unset() {
-       local dict app dlang dclass suffix lfilen linkfilebase dictlst entry 
fields
-       dict=$1
-       shift
-       for app in $*; do
-               #echo "unsetting dictionary ${dict} from application ${app}"
-               myspell_load_cfg ${app}
-               [[ -d ${APP_DIRECTORY} ]] || continue
-
-               if [[ -n ${APP_OPTION_dictionary_lst} ]]; then
-                       [[ -f  ${APP_DIRECTORY}/${MYSPELL_LIST} ]] || continue
-               fi
-
-               dlang=${dict/*-}
-               dclass=${dict/-*}
-               dictlst="${MYSPELL_LIST}.${dlang}"
-               notmyfiles=""
-
-               # Remove softlinks and entries in dictionary.lst - uses
-               # dictionary.<lang>.lst from /usr/share/myspell
-               if [[ -f ${MYSPELL_BASE}/${dictlst} ]]; then
-                       while read entry; do
-                               fields=(${entry})
-                               [[ ${fields[0]:0:1} == "#" ]] && continue
-                               [[ ${fields[3]} == "" ]] && continue
-
-                               # Remove entry from dictionary.lst
-                               if [[ -n ${APP_OPTION_dictionary_lst} ]]; then
-                                       sed -i -e "/^${fields[0]} ${fields[1]} 
${fields[2]} ${fields[3]}$/ { d }" \
-                                               
${APP_DIRECTORY}/${MYSPELL_LIST} ||
-                                                       die "Could not edit 
${APP_DIRECTORY}/${MYSPELL_LIST}"
-                                       # See if any other entries in 
dictionary.lst match the current
-                                       # dictionary class and filename
-                                       grep "^${fields[0]} .* ${fields[3]}$" 
${APP_DIRECTORY}/${MYSPELL_LIST} \
-                                               2>&1 > /dev/null && continue
-                               fi
-
-                               if [[ -n ${APP_OPTION_all_softlinks} || \
-                                               ( -n 
${APP_OPTION_spelling_softlinks} && "DICT" == ${fields[0]} ) ]]; then
-
-                                       # Work out softlink base name
-                                       linkfilebase=$(myspell_calc_basename 
${fields[3]} ${fields[0]})
-
-                                       # Remove relevant symlinks
-                                       for suffix in $(myspell_get_suffixes 
${fields[0]}); do
-                                               
lfilen="${linkfilebase}${suffix}"
-                                               if [[ -f 
${APP_DIRECTORY}/${lfilen} ]]; then
-                                                       if [[ -h 
${APP_DIRECTORY}/${lfilen} ]]; then
-                                                               rm -f 
${APP_DIRECTORY}/${lfilen} ||
-                                                                       die -q 
"Failed to remove ${APP_DIRECTORY}/${lfilen}"
-                                                       else
-                                                               has ${lfilen} 
${notmyfiles} ||
-                                                                       
notmyfiles="${notmyfiles} ${lfilen}"
-                                                       fi
-                                               fi
-                                       done
-
-                               fi
-
-                       done < ${MYSPELL_BASE}/${dictlst}
-
-               else
-                       write_warning_msg "source ${dict} is not installed; 
nothing changed"
-               fi
-
-               # Warn user about files that were skipped; not softlinks
-               [[ -n ${notmyfiles} ]] &&
-                       write_warning_msg \
-                               "Files ${notmyfiles} in ${APP_DIRECTORY} were 
not previously " \
-                               "installed by eselect myspell.  Remove them 
manually if you" \
-                               "are sure you do not want them."
-
-
-       done
-}
-
-do_unset() {
-       local apps
-       VALID_OPTIONS="app"
-       myspell_process_args "$@"
-       [[ -z ${PARAMETER} ]] && die -q "Dictionary parameter missing"
-       [[ -n ${OPTION_app} ]] && apps=${OPTION_app} || apps=$(ls 
${MYSPELL_CFG})
-       myspell_unset ${PARAMETER} ${apps}
-}
-
-
-############################################################################
-# ACTION: UPDATE
-describe_update() {
-       echo "Update application(s) with available dictionaries"
-}
-
-describe_update_options() {
-       myspell_describe_option_app;
-}
-
-myspell_update() {
-       local dictlsts dlang count
-       echo "Updating languages:"
-       count=0
-       dictlsts=$(ls ${MYSPELL_BASE}/${MYSPELL_LIST}.* 2> /dev/null)
-       for dictlst in ${dictlsts}; do
-               if [[ ${count} == "22" ]]; then
-                       echo
-                       count=0
-               fi
-               dlang=${dictlst/*.lst.}
-               echo -n " ${dlang}"
-               myspell_set myspell-${dlang} $*
-               (( count = ${count} + 1 ))
-       done
-       echo
-}
-
-do_update() {
-       local apps
-       VALID_OPTIONS="app"
-       myspell_process_args "$@"
-       [[ -n ${PARAMETER} ]] && apps=${PARAMETER} || apps=$(ls ${MYSPELL_CFG})
-       myspell_update ${apps}
-}
-
-############################################################################
-# ACTION: DEFAULT
-describe_default() {
-       echo "Set default dictionary for myspell apps"
-}
-
-describe_default_parameters() {
-       echo "<dictionary>"
-}
-
-describe_default_options() {
-       :
-}
-
-do_default() {
-       VALID_OPTIONS=""
-       myspell_process_args "$@"
-       [[ -z ${PARAMETER} ]] && die -q "Dictionary parameter missing"
-       [[ -f ${MYSPELL_BASE}/${PARAMETER}.dic ]] ||
-               die -q "Dictionary ${PARAMATER} does not exist"
-       for suffix in aff dic; do
-               [[ -f ${MYSPELL_BASE}/${PARAMETER}.${suffix} ]] &&
-                       ln -sf ${MYSPELL_BASE}/${PARAMETER}.${suffix} 
${MYSPELL_BASE}/default.${suffix}
-       done
-}

diff --git a/modules/opengl.eselect b/modules/opengl.eselect
deleted file mode 100644
index bdb387b..0000000
--- a/modules/opengl.eselect
+++ /dev/null
@@ -1,270 +0,0 @@
-# -*-eselect-*-  vim: ft=eselect
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-#
-# Author:  Martin Schlemmer <[email protected]>
-# Further modifications by Michał Górny <[email protected]>
-# Further modifications by Tomáš Chvátal <[email protected]>
-# Further modifications by Donnie Berkholz <[email protected]>
-# Further modifications based off submissions to bug #54984 <[email protected]>
-# Further modifications by Jeremy Huddleston <[email protected]>
-# Made into eselect module by Jeremy Huddleston <[email protected]>
-
-inherit multilib package-manager config
-
-# Eselect data
-DESCRIPTION="Manage the OpenGL implementation used by your system"
-MAINTAINER="[email protected]"
-SVN_DATE='$Date$'
-VERSION=$(svn_date_to_version "${SVN_DATE}" )
-EBUILD_VERSION="1.3.1"
-
-# Our data
-ENV_FILE="${EROOT}/etc/env.d/000opengl"
-XORGD_FILE="${EROOT}/etc/X11/xorg.conf.d/20opengl.conf"
-PREFIX="${EROOT}/usr"
-DST_PREFIX="${EROOT}/usr"
-unset IGNORE_MISSING
-
-get_current_implementation() {
-       local ret
-       local ldpath=$(load_config "${ENV_FILE}" LDPATH)
-       local opengl_profile=$(load_config "${ENV_FILE}" OPENGL_PROFILE)
-
-       if [[ -n ${opengl_profile} ]] ; then
-               ret="${opengl_profile}"
-       elif [[ -n ${ldpath} ]] ; then
-               ret="${ldpath%%:*}"
-               ret="${ret##*opengl/}"
-               ret="${ret%/lib*}"
-       fi
-
-       echo ${ret}
-}
-
-get_implementations() {
-       local -a ret
-       local libdir
-       local dir
-       local dir_name
-
-       for libdir in $(list_libdirs) ; do
-               [[ ${ROOT} != / ]] && libdir=${libdir#${EROOT}}
-               for dir in "${PREFIX}/${libdir}"/opengl/* ; do
-                       dir_name=$(basename "${dir}")
-                       [[ -d ${dir} && ${dir_name} != "global" ]] || continue
-                       has ${dir_name} "${ret[@]}" && continue
-                       ret+=( "${dir_name}" )
-               done
-       done
-
-       has xorg-x11 "${ret[@]}" || ret+=( xorg-x11 )
-       echo "${ret[*]}"
-}
-
-# takes list of paths
-# outputs the file contents to stderr
-write_xorg_confd() {
-       local dir
-       if [[ -n ${@} ]]; then
-               echo 'Section "Files"'
-               for dir; do
-                       echo "  ModulePath \"${dir}\""
-               done
-               echo 'EndSection'
-       fi
-}
-
-set_new_implementation() {
-       local gl_implem=$1
-       local avail_implems=$(get_implementations)
-       local libdir
-       local ldpath
-       local -a xorgmodpath
-
-       # Set a sane umask... bug #83115
-       umask 022
-
-       if ! has ${gl_implem} ${avail_implems}; then
-               die -q "Invalid opengl implementation selected."
-       fi
-
-       if [[ -z ${IGNORE_MISSING+1} && ${gl_implem} != xorg-x11 ]]; then
-               local found_libgl
-               for libdir in $(list_libdirs); do
-                       [[ ${ROOT} != / ]] && libdir=${libdir#${EROOT}}
-                       [[ -d ${PREFIX}/${libdir}/opengl && ! -h 
${PREFIX}/${libdir} ]] || continue
-                       [[ -f 
"${PREFIX}/${libdir}/opengl/${gl_implem}/lib/libGL.so" || -f 
"${PREFIX}/${libdir}/opengl/${gl_implem}/.gles-only" ]] && found_libgl=yes
-               done
-
-               if [[ -z ${found_libgl} ]]; then
-                       write_error_msg "The ${gl_implem} OpenGL implementation 
doesn't seem to provide"
-                       write_error_msg "libGL.so file. This might be an effect 
of breakage introduced"
-                       write_error_msg "by a prioprietary driver installer. 
Please re-merge the package"
-                       write_error_msg "providing your OpenGL implementation."
-                       die -q "Selected OpenGL implementation incomplete."
-               fi
-       fi
-
-       echo -n "Switching to ${gl_implem} OpenGL interface..."
-       if [[ -f ${ENV_FILE} ]] ; then
-               rm -f "${ENV_FILE}" || die -q "Failed to remove ${ENV_FILE}"
-       fi
-       if [[ -f ${XORGD_FILE} ]] ; then
-               rm -f "${XORGD_FILE}" || die -q "Failed to remove ${ENV_FILE}"
-       fi
-
-       for libdir in $(list_libdirs); do
-               # Set libdir correctly to EROOT
-               [[ ${ROOT} != / ]] && libdir=${libdir#${EROOT}}
-
-               # First make sure we have an opengl directory and this
-               # is a real lib dir, not a symlink
-               [[ -d ${PREFIX}/${libdir}/opengl && ! -h ${PREFIX}/${libdir} ]] 
|| continue
-
-               # Check if opengl implementation directory exists
-               # and use xorg-x11 as fallback (mesa)
-               # If even mesa is not around then simply die
-               if [[ -d ${PREFIX}/${libdir}/opengl/${gl_implem} ]] ; then
-                       # we need this relative to ROOT
-                       
ldpath=${ldpath:+${ldpath}:}${PREFIX#${ROOT}}/${libdir}/opengl/${gl_implem}/lib
-                       if [[ -d 
${PREFIX}/${libdir}/opengl/${gl_implem}/extensions ]]; then
-                               xorgmodpath+=(
-                                       
"${PREFIX#${ROOT}}/${libdir}/opengl/${gl_implem}"
-                               )
-                       fi
-               fi
-               # We need the global module path too
-               if [[ -d ${PREFIX}/${libdir}/xorg/modules ]]; then
-                       xorgmodpath+=(
-                               "${PREFIX#${ROOT}}/${libdir}/xorg/modules"
-                       )
-               fi
-       done
-
-       store_config ${ENV_FILE} LDPATH "${ldpath}"
-       store_config ${ENV_FILE} OPENGL_PROFILE "${gl_implem}"
-
-       mkdir -p "${XORGD_FILE%/*}" || die
-       write_xorg_confd "${xorgmodpath[@]}" >${XORGD_FILE}
-
-       do_action env update &> /dev/null
-
-       echo " done"
-}
-
-### show action ###
-describe_show() {
-       echo "Print the current OpenGL implementation."
-}
-
-do_show() {
-       local current=$(get_current_implementation)
-
-       if [[ -n ${current} ]] ; then
-               echo ${current}
-               return 0
-       else
-               echo "(none)"
-               return 2
-       fi
-}
-
-### list action ###
-describe_list() {
-       echo "List the available OpenGL implementations."
-}
-
-do_list() {
-       local targets=( $(get_implementations) )
-       local i
-
-       write_list_start "Available OpenGL implementations:"
-       for (( i = 0; i < ${#targets[@]}; i++ )); do
-               [[ ${targets[i]} = $(get_current_implementation) ]] \
-                       && targets[i]=$(highlight_marker "${targets[i]}")
-       done
-       write_numbered_list -m "(none found)" "${targets[@]}"
-}
-
-### set action ###
-describe_set() {
-       echo "Select the OpenGL implementation."
-}
-
-describe_set_parameters() {
-       echo "<target>"
-}
-
-describe_set_options() {
-       echo "<target> : The profile to activate"
-       echo "--use-old : If an implementation is already set, use that one 
instead"
-       echo "--prefix=<val> : Set the source prefix (default: /usr)"
-       echo "--dst-prefix=<val> : Set the destination prefix (default: /usr)"
-       echo "--ignore-missing : Ignore missing files when setting a new 
implementation"
-}
-
-do_set() {
-       local action="error"
-       local current=$(get_current_implementation)
-       local available=$(get_implementations)
-       local new
-       local opt
-
-       while [[ ${#@} -gt 0 ]] ; do
-               opt=$1
-               shift
-               case ${opt} in
-                       --use-old)
-                               if [[ -n ${current} ]] && has ${current} 
${available}; then
-                                       action="old-implementation"
-                               fi
-                       ;;
-                       --prefix=*)
-                               PREFIX=${ROOT}${opt#*=}
-                               available=$(get_implementations)
-                       ;;
-                       --dst-prefix=*)
-                               DST_PREFIX=${ROOT}${opt#*=}
-                       ;;
-                       --ignore-missing)
-                               IGNORE_MISSING=1
-                       ;;
-                       *)
-                               if [[ ${action} != "old-implementation" ]] ; 
then
-                                       action="set-implementation"
-                               fi
-
-                               if is_number ${opt} ; then
-                                       targets=( $(get_implementations) )
-                                       new=${targets[$(( ${opt} - 1 ))]}
-                                       if [[ -z ${new} ]] ; then
-                                               die -q "Unrecognized option: 
${opt}"
-                                       fi
-                               elif has ${opt} ${available}; then
-                                       new="${opt}"
-                               else
-                                       die -q "Unrecognized option: ${opt}"
-                               fi
-                       ;;
-               esac
-       done
-
-       case ${action} in
-               old-implementation)
-                       set_new_implementation ${current}
-                       return $?
-               ;;
-               set-implementation)
-                       if [[ -n ${new} ]] ; then
-                               set_new_implementation ${new}
-                               return $?
-                       else
-                               die -q "Please specify an implementation to set"
-                       fi
-               ;;
-               *)
-                       die -q "Invalid usage of set action."
-               ;;
-       esac
-}

diff --git a/modules/tbirddict.eselect b/modules/tbirddict.eselect
deleted file mode 100644
index 6a8d609..0000000
--- a/modules/tbirddict.eselect
+++ /dev/null
@@ -1,378 +0,0 @@
-# -*-eselect-*-  vim: ft=eselect
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-DESCRIPTION="Manage the configuration of dictionaries for Mozilla Thunderbird"
-MAINTAINER="[email protected]"
-SVN_DATE='$Date$'
-VERSION=$(svn_date_to_version "${SVN_DATE}" )
-
-# TODO
-# 1) implement eselect tbirddict unset direct-<lang>
-# 2) make eselect tbirddict unset myspell-<lang> abort cleanly if not 
installed from
-# myspell
-
-# Supports myspell(hunspell) dictionaries; designed to be extensible to
-# manage other classes of dictionaries should they become applicable
-# to Mozilla Thunderbird.
-
-# Base directory where Mozilla Thunderbird stores its dictionary information.
-# The --base option can be set to override this; for example in the -bin 
package
-# which uses /opt/thunderbird or multilib which uses
-# /usr/$(get_libdir)/thunderbird.
-TBIRDDICT_DICTBASE="/usr/lib/mozilla-thunderbird/components/myspell"
-MYSPELL_DICTLIST_BASE="dictionary.lst"
-
-DICT_CLASSES="myspell"
-
-MYSPELL_BASE="/usr/share/myspell"
-
-# return suffixes for dictionary type; spelling dictionary,
-# hyphenation dictionary and thesaurus.
-tbirddict_get_myspell_suffixes() {
-       case $1 in
-               DICT) echo ".aff .dic" ;;
-               HYPH) echo ".dic" ;;
-               THES) echo ".dat .idx" ;;
-       esac
-}
-
-# display a heading (indented 4 spaces) and a wrapped list of
-# language codes (indented 6 spaces)
-tbirddict_display_langs() {
-       local count lang
-       echo "    $1:"
-       shift
-       if [[ $1 == "" ]]; then
-               echo "      (none)"
-       else
-               count=0
-               for lang in $*; do
-                       [[ ${count} == 0 ]] && printf "     "
-                       printf " %s" ${lang}
-                       ((count = count+1))
-                       [[ ${count} == 22 ]] && printf "\n" && count=0
-               done
-               [[ ${count} == 0 ]] || printf "\n"
-       fi
-}
-
-# Format of dictionary.lst files is from OpenOffice.org standard
-# dictionary.lst file:
-
-# List of All Dictionaries to be Loaded by OpenOffice
-# ---------------------------------------------------
-# Each Entry in the list have the following space delimited fields
-#
-# Field 0: Entry Type "DICT" - spellchecking dictionary
-#                     "HYPH" - hyphenation dictionary
-#                     "THES" - thesaurus files
-#
-# Field 1: Language code from Locale "en" or "de" or "pt" ...
-#
-# Field 2: Country Code from Locale "US" or "GB" or "PT"
-#
-# Field 3: Root name of file(s) "en_US" or "hyph_de" or "th_en_US"
-#          (do not add extensions to the name)
-
-tbirddict_describe_options() {
-       echo "--basedir <libdir>: Thunderbird installation directory, e.g. 
/opt/thunderbird or /usr/lib/thunderbird"
-}
-
-# Process options
-# Notes:
-# 1) this dies if it sees an option it doesn't understand.
-# 2) Copy and consume (shift) parameters before calling this, otherwise it
-#    considers extra parameters as potential options.
-tbirddict_process_options() {
-       while [[ -n $1 && "--" != ${1:0:2} ]]; do
-               shift
-       done
-       while [[ "--" == ${1:0:2} ]]; do
-               if [[ "--basedir" == $1 ]]; then
-                       shift
-                       TBIRDDICT_DICTBASE="$1/components/myspell"
-                       shift
-               elif [[ "--" == $1 ]]; then
-                       break
-               else
-                       die -q "Unknown parameter ${1}"
-               fi
-       done
-}
-
-
-### show action
-
-## {{{ show stuff
-describe_show() {
-       echo "Show which dictionaries are configured for use with Mozilla
-       Thunderbird."
-}
-
-describe_show_options() {
-       tbirddict_describe_options
-}
-
-do_show() {
-       local lang myspell_sources listn suffix
-       tbirddict_process_options $*
-       write_list_start "Mozilla Thunderbird configured dictionaries"
-       if [[ ! -d ${TBIRDDICT_DICTBASE} ]]; then
-               echo "  (none)"
-               return
-       fi
-       listn=1
-       lang=""
-       myspell_sources=""
-       direct_sources=""
-       for dic in ${TBIRDDICT_DICTBASE}/*.dic; do
-               lang=$(basename ${dic})
-               lang=${lang/-*}
-               lang=${lang/.*}
-               if [[ -h ${dic} ]]; then
-                       src=$(canonicalise ${dic})
-                       if [[ ${src/${MYSPELL_BASE}} != ${src} ]]; then
-                               has ${lang} ${myspell_sources} ||
-                                       myspell_sources="${myspell_sources} 
${lang}"
-                       else
-                               write_warning_msg "unrecognised link to ${src} 
ignored"
-                       fi
-               else
-                       has ${lang} ${direct_sources} ||
-                               direct_sources="${direct_sources} ${lang}"
-               fi
-       done
-       if [[ -n ${myspell_sources} ]]; then
-               write_numbered_list_entry ${listn} "myspell"
-               tbirddict_display_langs "Configured language codes from 
${MYSPELL_BASE}" ${myspell_sources}
-               (( listn = ${listn} + 1 ))
-       fi
-       if [[ -n ${direct_sources} ]]; then
-               write_numbered_list_entry ${listn} "direct"
-               tbirddict_display_langs "Language codes installed directly in 
${TBIRDDICT_DICTBASE}" ${direct_sources}
-               (( listn = ${listn} + 1 ))
-       fi
-       # show none if no sources found
-       [[ ${listn} == "1" ]] && echo "  (none)"
-}
-## }}}
-
-
-### list action
-
-## {{{ list stuff
-describe_list() {
-       echo "List the dictionaries that can be configured for use with 
OpenOffice."
-}
-
-do_list() {
-       local known_langs dict dictlist listn
-       write_list_start "Installed dictionary sources that can be set:"
-       listn=1
-       # myspell dictionary source
-       dictlist=$(ls ${MYSPELL_BASE}/${MYSPELL_DICTLIST_BASE}.* 2> /dev/null)
-       if [[ -n ${dictlist} ]]; then
-               write_numbered_list_entry ${listn} "myspell"
-               known_langs=""
-               for dict in ${MYSPELL_BASE}/${MYSPELL_DICTLIST_BASE}.*; do
-                       known_langs="${known_langs} 
${dict/${MYSPELL_BASE}\/${MYSPELL_DICTLIST_BASE}.}"
-               done
-               tbirddict_display_langs "Installed language codes" 
${known_langs}
-               (( listn = ${listn} + 1 ))
-       fi
-       # show none if no sources found
-       [[ ${listn} == "1" ]] && echo "  (none)"
-}
-## }}}
-
-
-### unset action
-
-## {{{ unset stuff
-describe_unset() {
-       echo "Unconfigure a dictionary from use with Mozilla Thunderbird."
-}
-
-describe_unset_parameters() {
-       echo "<dictionary>"
-}
-
-describe_unset_options() {
-       echo "dictionary: <class>-<lang> e.g. myspell-en"
-       tbirddict_describe_options
-}
-
-do_unset() {
-       local dict dlang dclass suffix filen dictlst entry fields
-       tbirddict_process_options $*
-       # Check thunderbird dictionary area exists
-       [[ -d ${TBIRDDICT_DICTBASE} ]] || return
-       dict=$1
-       dlang=${dict/*-}
-       dclass=${dict/-*}
-       dictlst="${MYSPELL_DICTLIST_BASE}.${dlang}"
-       case ${dclass} in
-       myspell)
-               # Remove softlinks and entries in dictionary.lst - uses
-               # dictionary.<lang>.lst from /usr/share/myspell
-               if [[ -f ${MYSPELL_BASE}/${dictlst} ]]; then
-                       while read entry; do
-                               fields=(${entry})
-                               [[ ${fields[0]:0:1} == "#" ]] && continue
-                               [[ ${fields[3]} == "" ]] && continue
-                               [[ ${fields[0]} == "DICT" ]] || continue
-                               mozfilen=${fields[3]/_/-}
-                               # If remove relevant symlinks
-                               for suffix in $(tbirddict_get_myspell_suffixes 
DICT); do
-                                       filen="${mozfilen}${suffix}"
-                                       [[ -f ${TBIRDDICT_DICTBASE}/${filen} ]] 
&&
-                                       if [[ -h ${TBIRDDICT_DICTBASE}/${filen} 
]]; then
-                                               rm -f 
${TBIRDDICT_DICTBASE}/${filen} ||
-                                               die "Failed to remove 
${TBIRDDICT_DICTBASE}/${filen}"
-                                       else
-                                               has ${filen} ${notmyfiles} ||
-                                                       
notmyfiles="${notmyfiles} ${filen}"
-                                       fi
-                               done
-                       done < ${MYSPELL_BASE}/${dictlst}
-               else
-                       write_warning_msg "source ${dict} is not installed; 
nothing changed"
-               fi
-               ;;
-       direct)
-               write_warning_msg \
-                       "eselect tbirddict does not manage files installed 
directly to " \
-                       "${TBIRDDICT_DICTBASE}.  Remove them manually."
-               ;;
-       *)
-               die "Unknown dictionary class ${dclass}"
-               ;;
-       esac
-}
-## }}}
-
-### set action
-
-## {{{ set stuff
-describe_set() {
-       echo "Configure a dictionary for use with Mozilla Thunderbird."
-}
-
-describe_set_parameters() {
-       echo "<dictionary>"
-}
-
-describe_set_options() {
-       echo "dictionary: <class>-<lang> e.g. myspell-en"
-       tbirddict_describe_options
-}
-
-do_set() {
-       local dict dlang dclass filen dictlst entry fields suffix
-       tbirddict_process_options $*
-       dict=$1
-       dlang=${dict/*-}
-       dclass=${dict/-*}
-       dictlst="${MYSPELL_DICTLIST_BASE}.${dlang}"
-       alreadyexists=""
-       case ${dclass} in
-       myspell)
-               # Set new entries & links
-               [[ -f ${MYSPELL_BASE}/${dictlst} ]] ||
-                       die "Dictionary ${dict} not found in ${MYSPELL_BASE}"
-               # Check for already existing files
-               while read entry; do
-                       fields=(${entry})
-                       [[ ${fields[0]:0:1} == "#" ]] && continue
-                       [[ ${fields[0]} == "DICT" ]] || continue
-                       mozfilen=${fields[3]/_/-}
-                       for suffix in $(tbirddict_get_myspell_suffixes 
${fields[0]}); do
-                               filen="${mozfilen}${suffix}"
-                               if [[ ! -h ${TBIRDDICT_DICTBASE}/${filen} ]] &&
-                                  [[ -f ${TBIRDDICT_DICTBASE}/${filen} ]]; then
-                                       has ${filen} ${alreadyexists} ||
-                                               alreadyexists="${alreadyexists} 
${filen}"
-                               fi
-                       done
-               done < ${MYSPELL_BASE}/${dictlst}
-               if [[ -n ${alreadyexists} ]]; then
-                       write_warning_msg \
-                               "Files${alreadyexists} in ${TBIRDDICT_DICTBASE} 
already exist." \
-                               "Remove them manually and re-run eselect 
tbirddict to put them" \
-                               "under eselect management."
-               else
-                       # Clear out any existing entry
-                       do_unset ${dict}
-                       while read entry; do
-                               fields=(${entry})
-                               [[ ${fields[0]:0:1} == "#" ]] && continue
-                               [[ ${fields[0]} == "DICT" ]] || continue
-                               mozfilen=${fields[3]/_/-}
-                               for suffix in $(tbirddict_get_myspell_suffixes 
DICT); do
-                                       filen="${mozfilen}${suffix}"
-                                       if [[ -h ${TBIRDDICT_DICTBASE}/${filen} 
]]; then
-                                               rm -f 
${TBIRDDICT_DICTBASE}/${filen} ||
-                                                       die "Failed to remove 
${TBIRDDICT_DICTBASE}/${filen}"
-                                       fi
-                                       if [[ ! -f 
${TBIRDDICT_DICTBASE}/${filen} ]]; then
-                                               ln -s 
${MYSPELL_BASE}/${fields[3]}${suffix} ${TBIRDDICT_DICTBASE}/${filen} ||
-                                                       die "Failed to create 
symlink from ${MYSPELL_BASE}/${filen} to ${TBIRDDICT_DICTBASE}/${filen}"
-                                       else
-                                               has ${filen} ${alreadyexists} ||
-                                                       
alreadyexists="${alreadyexists} ${filen}"
-                                       fi
-                               done
-                       done < ${MYSPELL_BASE}/${dictlst}
-               fi
-               ;;
-       direct)
-               write_warning_msg "eselect tbirddict does not manage files 
installed directly to ${TBIRDDICT_DICTBASE}."
-               ;;
-       *)
-               die "Unknown dictionary class ${dict}"
-               ;;
-       esac
-}
-## }}}
-
-
-### update action
-
-## {{{ update stuff
-describe_update() {
-       echo "(Re)build Mozilla Thunderbird dictionary configuration."
-}
-
-describe_update_parameters() {
-       echo "[<class>]"
-}
-
-describe_update_options() {
-       echo "class: type of dictionary (e.g. ${DICT_CLASSES/ /, }) - omit to 
update everything"
-       tbirddict_describe_options
-}
-
-do_update() {
-       local dlang class dictlst classes
-       tbirddict_process_options $*
-       # <class> is an optional parameter
-       classes=$1
-       [[ -z ${classes} || "--" == ${classes:0:2} ]] &&
-               classes=${DICT_CLASSES}
-       for class in ${classes}; do
-               case ${class} in
-               myspell)
-                       dictlsts=$(ls 
${MYSPELL_BASE}/${MYSPELL_DICTLIST_BASE}.* 2> /dev/null)
-                       for dictlst in ${dictlsts}; do
-                               dlang=${dictlst/*.lst.}
-                               do_set ${class}-${dlang}
-                       done
-                       ;;
-               *)
-                       die "Unknown dictionary class ${class}"
-                       ;;
-               esac
-       done
-}
-## }}}

diff --git a/modules/xvmc.eselect b/modules/xvmc.eselect
deleted file mode 100644
index eefd566..0000000
--- a/modules/xvmc.eselect
+++ /dev/null
@@ -1,198 +0,0 @@
-# -*-eselect-*-  vim: ft=eselect
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-DESCRIPTION="Manage the XvMC implementation used by your system"
-MAINTAINER="{cardoe,ottxor}@gentoo.org"
-VERSION="0.4"
-
-init_XVMC_vars() {
-       get_libname() {
-               case ${OSTYPE} in
-                       darwin*) echo ${1:+.}${1}.dylib ;;
-                       *) echo .so${1:+.}${1} ;;
-               esac
-       }
-
-       XVMCLIBS=(
-               "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"
-               "via"
-               "via-pro"
-               "openchrome"
-               "openchrome-pro"
-               "unichrome"
-               "unichrome-pro"
-               "intel-i810"
-               "intel-i915/i965"
-               "ati"
-       )
-}
-
-get_implementation_indices() {
-       local ret n
-       for (( n = 0; n < ${#XVMCLIBS[@]}; ++n )); do
-               [[ -e "${EROOT}/usr/lib/${XVMCLIBS[n]##*/}" ]] && ret+=($n)
-       done
-
-       echo ${ret[@]}
-}
-
-get_current_implementation_index() {
-       local n
-       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}"
-                               return
-                       fi
-               done
-       fi
-
-       echo "-1"
-}
-
-set_new_implementation() {
-       echo -n "Switching to ${XVMCPRETTY[$1]} XvMC implementation..."
-       touch "${EROOT}/etc/X11/XvMCConfig" 2>&1 > /dev/null
-       if [[ $? -eq 0 ]]; then
-               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!"
-               echo "Insufficient privileges"
-       fi
-}
-
-### list action
-
-## {{{ list stuff
-describe_list() {
-       echo "List Available XvMC implementations"
-}
-
-do_list() {
-       local output n
-       init_XVMC_vars
-       local avail=( $(get_implementation_indices) )
-       local current=$(get_current_implementation_index)
-       write_list_start \
-               "Available XvMC implementations ($(highlight '*') is current):"
-
-       for n in "${avail[@]}"; do
-               output[n]=${XVMCPRETTY[n]}
-               [[ ${current} -eq ${n} ]] \
-                       && output[n]=$(highlight_marker "${output[n]}")
-       done
-       write_numbered_list -m "(none found)" "${output[@]}"
-
-       return 0
-}
-## }}}
-
-### show action
-
-## {{{ show stuff
-describe_show() {
-       echo "Print the current XvMC implementation."
-}
-
-do_show() {
-       init_XVMC_vars
-       local current=$(get_current_implementation_index)
-       write_list_start "Current XvMC implementation:"
-
-       if [[ ${current} -ne -1 ]]; then
-               echo "${XVMCPRETTY[current]}"
-               return 0
-       else
-               echo "(none)"
-               return 2
-       fi
-}
-## }}}
-
-### set action
-
-## {{{ set stuff
-describe_set() {
-       echo "Select the XvMC implementation"
-}
-
-describe_set_parameters() {
-       echo "<target>"
-}
-
-describe_set_options() {
-       echo "<target> : XvMC implementation to activate"
-       echo "--use-old : If an implementation is already set, use that one 
instead"
-}
-
-do_set() {
-       init_XVMC_vars
-       local current=$(get_current_implementation_index)
-       local avail=( $(get_implementation_indices) )
-       local n new action
-
-       while [[ ${#@} -gt 0 ]]; do
-               local opt=${1}
-               shift
-               case ${opt} in
-                       --use-old)
-                               if [[ ${current} -gt -1 ]]; then
-                                       (( ${current} < ${#XVMCPRETTY[@]} )) && 
action="old-implementation"
-                               fi
-                               ;;
-                       *)
-                               [[ -z ${action} ]] && 
action="set-implementation"
-
-                               if is_number ${opt} ; then
-                                       new=${avail[opt - 1]}
-                                       if [[ -z ${new} ]]; then
-                                               die -q "Unrecognized option: 
${opt}"
-                                       fi
-                               elif has ${opt} ${XVMCPRETTY[@]}; then
-                                       for (( n = 0; n < ${#XVMCPRETTY[@]}; 
++n )); do
-                                               [[ "${XVMCPRETTY[n]}" = 
"${opt}" ]] && new=${n}
-                                       done
-                               else
-                                       die -q "Unrecognized option: ${opt}"
-                               fi
-                               ;;
-               esac
-       done
-
-       case ${action} in
-               old-implementation)
-                       set_new_implementation ${current}
-                       return $?
-               ;;
-               set-implementation)
-                       if [[ -n ${new} ]]; then
-                               set_new_implementation ${new}
-                               return $?
-                       else
-                               die -q "Please specify an implementation to set"
-                       fi
-               ;;
-               *)
-                       die -q "Invalid usage of set action."
-       esac
-}

Reply via email to