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 -}
