diff options
author | George Shapovalov <george@gentoo.org> | 2008-02-07 18:03:40 +0000 |
---|---|---|
committer | George Shapovalov <george@gentoo.org> | 2008-02-07 18:03:40 +0000 |
commit | c0403084828a41a6a221b4e4c44c1eb98125f05e (patch) | |
tree | 811b986a0ba057003a4571433744ebe4030a3d8e /app-admin | |
parent | adjusted comments to reflect present standing on #192505 (diff) | |
download | gentoo-2-c0403084828a41a6a221b4e4c44c1eb98125f05e.tar.gz gentoo-2-c0403084828a41a6a221b4e4c44c1eb98125f05e.tar.bz2 gentoo-2-c0403084828a41a6a221b4e4c44c1eb98125f05e.zip |
pulled obsolete versions
(Portage version: 2.1.4.1)
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/eselect-gnat/ChangeLog | 12 | ||||
-rw-r--r-- | app-admin/eselect-gnat/eselect-gnat-0.9.ebuild | 25 | ||||
-rw-r--r-- | app-admin/eselect-gnat/eselect-gnat-1.0-r1.ebuild | 24 | ||||
-rw-r--r-- | app-admin/eselect-gnat/eselect-gnat-1.0.ebuild | 25 | ||||
-rw-r--r-- | app-admin/eselect-gnat/eselect-gnat-1.1-r1.ebuild | 32 | ||||
-rw-r--r-- | app-admin/eselect-gnat/eselect-gnat-1.1.ebuild | 32 | ||||
-rw-r--r-- | app-admin/eselect-gnat/eselect-gnat-1.3.ebuild | 32 | ||||
-rw-r--r-- | app-admin/eselect-gnat/files/gnat-common-1.3.bash | 218 | ||||
-rw-r--r-- | app-admin/eselect-gnat/files/gnat-common.bash | 187 | ||||
-rw-r--r-- | app-admin/eselect-gnat/files/gnat.eselect-0.9 | 300 | ||||
-rw-r--r-- | app-admin/eselect-gnat/files/gnat.eselect-1.0 | 306 | ||||
-rw-r--r-- | app-admin/eselect-gnat/files/gnat.eselect-1.0-r1 | 308 | ||||
-rw-r--r-- | app-admin/eselect-gnat/files/gnat.eselect-1.1 | 207 | ||||
-rw-r--r-- | app-admin/eselect-gnat/files/gnat.eselect-1.1-r1 | 207 |
14 files changed, 11 insertions, 1904 deletions
diff --git a/app-admin/eselect-gnat/ChangeLog b/app-admin/eselect-gnat/ChangeLog index 032f4b5450b5..a201b7588302 100644 --- a/app-admin/eselect-gnat/ChangeLog +++ b/app-admin/eselect-gnat/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for app-admin/eselect-gnat # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/ChangeLog,v 1.21 2008/02/05 18:30:52 opfer Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/ChangeLog,v 1.22 2008/02/07 18:03:39 george Exp $ + + 07 Feb 2008; George Shapovalov <george@gentoo.org> + -files/gnat.eselect-0.9, -files/gnat.eselect-1.0, + -files/gnat.eselect-1.0-r1, -files/gnat.eselect-1.1, + -files/gnat.eselect-1.1-r1, -files/gnat-common-1.3.bash, + -files/gnat-common.bash, -eselect-gnat-0.9.ebuild, + -eselect-gnat-1.0.ebuild, -eselect-gnat-1.0-r1.ebuild, + -eselect-gnat-1.1.ebuild, -eselect-gnat-1.1-r1.ebuild, + -eselect-gnat-1.3.ebuild: + pulled obsolete versions 05 Feb 2008; Christian Faulhammer <opfer@gentoo.org> eselect-gnat-1.3-r1.ebuild: diff --git a/app-admin/eselect-gnat/eselect-gnat-0.9.ebuild b/app-admin/eselect-gnat/eselect-gnat-0.9.ebuild deleted file mode 100644 index 4c34b2a45281..000000000000 --- a/app-admin/eselect-gnat/eselect-gnat-0.9.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/eselect-gnat-0.9.ebuild,v 1.2 2007/12/11 23:46:45 george Exp $ - -inherit eutils - -DESCRIPTION="gnat module for eselect." -HOMEPAGE="http://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -MODULEDIR="/usr/share/eselect/modules" - -src_install() { - dodir ${MODULEDIR} - insinto ${MODULEDIR} - doins "${FILESDIR}"/gnat.eselect-${PVR} - mv "${D}${MODULEDIR}"/gnat.eselect-${PVR} "${D}${MODULEDIR}"/gnat.eselect -} diff --git a/app-admin/eselect-gnat/eselect-gnat-1.0-r1.ebuild b/app-admin/eselect-gnat/eselect-gnat-1.0-r1.ebuild deleted file mode 100644 index d816830bb4a0..000000000000 --- a/app-admin/eselect-gnat/eselect-gnat-1.0-r1.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/eselect-gnat-1.0-r1.ebuild,v 1.2 2007/12/11 23:46:45 george Exp $ - -inherit eutils - -DESCRIPTION="gnat module for eselect." -HOMEPAGE="http://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -MODULEDIR="/usr/share/eselect/modules" - -src_install() { - dodir ${MODULEDIR} - insinto ${MODULEDIR} - newins "${FILESDIR}"/gnat.eselect-${PVR} gnat.eselect -} diff --git a/app-admin/eselect-gnat/eselect-gnat-1.0.ebuild b/app-admin/eselect-gnat/eselect-gnat-1.0.ebuild deleted file mode 100644 index 75c99dbed1f5..000000000000 --- a/app-admin/eselect-gnat/eselect-gnat-1.0.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/eselect-gnat-1.0.ebuild,v 1.2 2007/12/11 23:46:45 george Exp $ - -inherit eutils - -DESCRIPTION="gnat module for eselect." -HOMEPAGE="http://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -MODULEDIR="/usr/share/eselect/modules" - -src_install() { - dodir ${MODULEDIR} - insinto ${MODULEDIR} - doins "${FILESDIR}"/gnat.eselect-${PVR} - mv "${D}${MODULEDIR}"/gnat.eselect-${PVR} "${D}${MODULEDIR}"/gnat.eselect -} diff --git a/app-admin/eselect-gnat/eselect-gnat-1.1-r1.ebuild b/app-admin/eselect-gnat/eselect-gnat-1.1-r1.ebuild deleted file mode 100644 index b3185899477b..000000000000 --- a/app-admin/eselect-gnat/eselect-gnat-1.1-r1.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/eselect-gnat-1.1-r1.ebuild,v 1.1 2007/12/11 23:46:45 george Exp $ - -inherit eutils - -DESCRIPTION="gnat module for eselect." -HOMEPAGE="http://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -MODULEDIR="/usr/share/eselect/modules" - -# NOTE!! -# This path is duplicated in gnat-eselect module, -# adjust in both locations! -LIBDIR="/usr/share/gnat/lib" - -src_install() { - dodir ${MODULEDIR} - insinto ${MODULEDIR} - newins "${FILESDIR}"/gnat.eselect-${PVR} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - doins "${FILESDIR}"/gnat-common.bash -} diff --git a/app-admin/eselect-gnat/eselect-gnat-1.1.ebuild b/app-admin/eselect-gnat/eselect-gnat-1.1.ebuild deleted file mode 100644 index 263c4abcf7c9..000000000000 --- a/app-admin/eselect-gnat/eselect-gnat-1.1.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/eselect-gnat-1.1.ebuild,v 1.2 2007/12/11 23:46:45 george Exp $ - -inherit eutils - -DESCRIPTION="gnat module for eselect." -HOMEPAGE="http://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -MODULEDIR="/usr/share/eselect/modules" - -# NOTE!! -# This path is duplicated in gnat-eselect module, -# adjust in both locations! -LIBDIR="/usr/share/gnat/lib" - -src_install() { - dodir ${MODULEDIR} - insinto ${MODULEDIR} - newins "${FILESDIR}"/gnat.eselect-${PVR} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - doins "${FILESDIR}"/gnat-common.bash -} diff --git a/app-admin/eselect-gnat/eselect-gnat-1.3.ebuild b/app-admin/eselect-gnat/eselect-gnat-1.3.ebuild deleted file mode 100644 index fa7dc69224f0..000000000000 --- a/app-admin/eselect-gnat/eselect-gnat-1.3.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/eselect-gnat-1.3.ebuild,v 1.1 2007/12/26 22:03:13 george Exp $ - -inherit eutils - -DESCRIPTION="gnat module for eselect." -HOMEPAGE="http://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -MODULEDIR="/usr/share/eselect/modules" - -# NOTE!! -# This path is duplicated in gnat-eselect module, -# adjust in both locations! -LIBDIR="/usr/share/gnat/lib" - -src_install() { - dodir ${MODULEDIR} - insinto ${MODULEDIR} - newins "${FILESDIR}"/gnat.eselect-${PVR} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - newins "${FILESDIR}"/gnat-common-${PVR}.bash gnat-common.bash -} diff --git a/app-admin/eselect-gnat/files/gnat-common-1.3.bash b/app-admin/eselect-gnat/files/gnat-common-1.3.bash deleted file mode 100644 index 8d96b50c111f..000000000000 --- a/app-admin/eselect-gnat/files/gnat-common-1.3.bash +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/files/gnat-common-1.3.bash,v 1.1 2007/12/26 22:03:13 george Exp $ - -# -# Original Author: George Shapovalov <george@gentoo.org> -# Purpose: Contains common vars/locations and functions for use by gnat.eclass, -# gnat.eselect and gnatbuild.eclass. -# -# NOTE!!! -# This code should just define vars (try to limit these!) and simple functions. -# No bash extensions!! -# That is, no portage or eclass constructs are allowed! -# - - - -# ---------------------------------- -# Globals - -# Environmantal stuff (for env update) -SPECSDIR="/usr/share/gnat/eselect" -ENVDIR="/etc/env.d" -MARKER="55gnat-" - -# User configurable settings -SETTINGSDIR="/etc/ada" -PRIMELIST="${SETTINGSDIR}/primary_compilers" - -## Lib install locations -## -## Gnat profile dependent files go under under ${LibTop}/${Gnat_Profile}/${PN} -## and common files go unde SpecsDir, DataDir -#PREFIX=/usr -## Replace %LIBDIR% below with $(get_libdir) in eclasses and ebuilds (top level Ok, inherit multilib) -## or $(profile2libdir ${profile}) in this code, eselect module or anywhere -## outside portage (as profile will be available only during actual execution, this only should -## be done inside corresponding functions). -#AdalibSpecsDir=${PREFIX}/include/ada -#AdalibDataDir=${PREFIX}/share/ada -#AdalibLibTop=${PREFIX}/%LIBDIR%/ada - - -# ------------------------------------ -# Helpers -# - -# get_all_profile_components splits gnat profile and returns pace separated list of its components: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> x86_64-pc-linux-gnu gcc 4.1 -# args: -# $1 - the string to split -get_all_profile_components() { - local GnatSLOT=${1##*-} - local remainder=${1%-*} - local GnatPkg=${remainder##*-} - remainder=${remainder%-gnat-*} - echo "${remainder} ${GnatPkg} ${GnatSLOT}" -} - -# similar to above, returns only SLOT component: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> 4.1 -# args: -# $1 - the string to extract the slot from -get_gnat_SLOT() { - echo "${1##*-}" -} - -# returns only Pkg component: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> gcc -# args: -# $1 - the string to extract the slot from -get_gnat_Pkg() { - local remainder=${1%-*} - echo "${remainder##*-}" -} - -# returns only Arch component: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> x86_64-pc-linux-gnu -# args: -# $1 - the string to extract the slot from -get_gnat_Arch() { - echo ${1%-gnat-*} -} - - - -## ------------------------------------------- -# gnat profile and lib detection functions - - -# create a list of all gnat env.d files -# for now use trivial implementation - store name of active profile in the -# env file name, so it gets called 55gnat-${ARCH}-${PN}-${SLOT} -get_env_list() { - for fn in ${ENVDIR}/${MARKER}*; do - echo $(basename ${fn}) - done -} - - - -# find all installed compilers and return a list -find_all_compilers() { - [[ ! -d ${SPECSDIR} ]] && exit - for fn in ${SPECSDIR}/*; do - [[ ! -d ${fn} ]] && echo $(basename ${fn}); - done -} - -# find installed primary compilers and return a list -find_primary_compilers() { - [[ ! -f ${PRIMELIST} ]] && exit - for fn in $(cat ${PRIMELIST}); do - [[ -f ${SPECSDIR}/${fn} ]] && echo ${fn}; - done -} - -# find installed libs and return a list -find_all_libs() { - [[ ! -d ${SPECSDIR} ]] && exit - for fn in ${SPECSDIR}/*; do - [[ -d ${fn} ]] && echo $(basename ${fn}); - done -} - -# find libs that have been built for a given profile -# Arguments: -# $1 - gnat profile for which to detect active libs -find_libs4profile() { - libs=( $(find_all_libs) ) - - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [[ -f ${SPECSDIR}/${libs[$i]}/$1 ]] && echo "${libs[$i]}" - done -} - - - - -## ----------------------- -# main action - central part of do_set and helpers - - -# extracts values of the passed var definition from given spec file -# params: -# $1: spec file (as generated by gnabuild.eclass) -# $2: variable name -get_var_from_spec() { - local var=$(grep -e "^ *$2=" $1|cut -d= -f2) - echo ${var} -} - - -# Cycle through given libs and form a ':' separated list of settings for the given -# var. Returned string starts with ':' if there is any non-empty setting, -# otherwise returns empty string. Repeating settings are omitted, that is -# unique entry is added only first time it is encountered. No need to have some -# common dir listed many times in PATH for example. -# -# params: -# $1 - name of env var to process -# $2 - name of gnat profile -# $3.. - list of libs to check (to avoid its composition every time) -# - the list is expanded to list of args at the point of call -get_lib_var_settings() { - local envVar=$1 - local toset=$2 - #echo "get_lib_var_settings params:$@" >> /tmp/eselect-gnat.rep - if [[ "none" != ${3} ]]; then - local envString - local specLine - while [[ -n $3 ]]; do - specLine=$(get_var_from_spec ${SPECSDIR}/$3/${toset} ${envVar}) - #echo "$3:${specLine}." >> /tmp/eselect-gnat.rep - if [[ -n ${specLine} ]] && [[ ! ${envString} =~ ${specLine} ]]; then - envString="${envString}:${specLine}" - fi - shift - done - echo "${envString}" - fi -} - - - -# The action! -# Part common for do_set and do_update of gnat.eselect, also used in gnat.eclass -# to set environment during lib build and installation -# -# params: -# $1 - profile to set (toset param inside) -# $2 - envfile - -generate_envFile() { - local toset=$1 - local envfile=$2 - - local binpath="$(get_var_from_spec ${SPECSDIR}/${toset} binpath)" - local libexecpath="$(get_var_from_spec ${SPECSDIR}/${toset} libexecpath)" - local libs=( $(find_libs4profile ${toset}) ) - #echo "generate_envFile: ${libs[@]}" >> /tmp/eselect-gnat.rep - if (( 0 == ${#libs[@]} )); then - libs="none" - fi - - local MyPath="${binpath}:${libexecpath}$(get_lib_var_settings PATH ${toset} ${libs[@]})" - echo "PATH=${MyPath}" > "${envfile}" - echo "ROOTPATH=${MyPath}" >> "${envfile}" - echo "MANPATH=$(get_var_from_spec ${SPECSDIR}/${toset} manpath)$(get_lib_var_settings MANPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "INFOPATH=$(get_var_from_spec ${SPECSDIR}/${toset} infopath)$(get_lib_var_settings INFOPATH ${toset} ${libs[@]})" >> "${envfile}" - # the next three use the common base - local libBase=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath) - echo "LDPATH=${libBase}:${libBase}/adalib$(get_lib_var_settings LDPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_INCLUDE_PATH=${libBase}/adainclude$(get_lib_var_settings ADA_INCLUDE_PATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_OBJECTS_PATH=${libBase}/adalib$(get_lib_var_settings ADA_OBJECTS_PATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_PROJECT_PATH=$(get_lib_var_settings ADA_PROJECT_PATH ${toset} ${libs[@]})" >> "${envfile}" -} - diff --git a/app-admin/eselect-gnat/files/gnat-common.bash b/app-admin/eselect-gnat/files/gnat-common.bash deleted file mode 100644 index 2333b5967b57..000000000000 --- a/app-admin/eselect-gnat/files/gnat-common.bash +++ /dev/null @@ -1,187 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-gnat/files/gnat-common.bash,v 1.2 2007/09/25 21:06:55 george Exp $ - -# -# Original Author: George Shapovalov <george@gentoo.org> -# Purpose: Contains common vars/locations and functions for use by gnat.eclass, -# gnat.eselect and gnatbuild.eclass. -# -# NOTE!!! -# This eclass should just define vars (tyr to limit these!) and simple functions. -# No bash extensions!! -# That is, no portage or eclass internals are allowed! -# - - - -# ---------------------------------- -# Globals - -# Environmantal stuff (for env update) -SPECSDIR="/usr/share/gnat/eselect" -ENVDIR="/etc/env.d" -MARKER="55gnat-" - - -# ------------------------------------ -# Helpers -# - -# get_all_profile_components splits gnat profile and returns pace separated list of its components: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> x86_64-pc-linux-gnu gcc 4.1 -# args: -# $1 - the string to split -get_all_profile_components() { - local GnatSLOT=${1##*-} - local remainder=${1%-*} - local GnatPkg=${remainder##*-} - remainder=${remainder%-gnat-*} - echo "${remainder} ${GnatPkg} ${GnatSLOT}" -} - -# similar to above, returns only SLOT component: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> 4.1 -# args: -# $1 - the string to extract the slot from -get_gnat_SLOT() { - echo "${1##*-}" -} - -# returns only Pkg component: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> gcc -# args: -# $1 - the string to extract the slot from -get_gnat_Pkg() { - local remainder=${1%-*} - echo "${remainder##*-}" -} - -# returns only Arch component: -# x86_64-pc-linux-gnu-gnat-gcc-4.1 -> x86_64-pc-linux-gnu -# args: -# $1 - the string to extract the slot from -get_gnat_Arch() { - echo ${1%-gnat-*} -} - - - -## ------------------------------------------- -# gnat profile and lib detection functions - - -# create a list of all gnat env.d files -# for now use trivial implementation - store name of active profile in the -# env file name, so it gets called 55gnat-${ARCH}-${PN}-${SLOT} -get_env_list() { - for fn in ${ENVDIR}/${MARKER}*; do - echo $(basename ${fn}) - done -} - - - -# find installed compilers and return a list -find_compilers() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ ! -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find installed libs and return a list -find_all_libs() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find libs that have been built for a given profile -# Arguments: -# $1 - gnat profile for which to detect active libs -find_libs4profile() { - libs=( $(find_all_libs) ) - - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/$1 ] && echo "${libs[$i]}" - done -} - - - - -## ----------------------- -# princial action - central part of do_set and helpers - - -# extracts values of the passed var definition from given spec file -# params: -# $1: spec file (as generated by gnabuild.eclass) -# $2: variable name -get_var_from_spec() { - local var=$(grep -e "^ *$2=" $1|cut -d= -f2) - echo ${var} -} - - -# Cycle through given libs and form a ':' separated list of settings for the given -# var. Returned string starts with ':' if there is any non-empty setting, -# otherwise returns empty string -# params: -# $1 - name of env var to process -# $2 - name of gnat profile -# $3.. - list of libs to check (to avoid its composition every time) -# - the list is expanded to lest of args at the point of call -get_lib_var_settings() { - local envVar=$1 - local toset=$2 - #echo "get_lib_var_settings params:$@" >> /tmp/eselect-gnat.rep - if [[ "none" != ${3} ]]; then - local envString - local specLine - while [[ -n $3 ]]; do - specLine=$(get_var_from_spec ${SPECSDIR}/$3/${toset} ${envVar}) - #echo "$3:${specLine}." >> /tmp/eselect-gnat.rep - [[ -n ${specLine} ]] && envString="${envString}:${specLine}" - shift - done - echo "${envString}" - fi -} - - - -# The action! -# Part common for do_set and do_update of gnat.eselect, also used in gnat.eclass -# to set environment during lib build and installation -# -# params: -# $1 - profile to set (toset param inside) -# $2 - envfile - -generate_envFile() { - local toset=$1 - local envfile=$2 - - local binpath="$(get_var_from_spec ${SPECSDIR}/${toset} binpath)" - local libexecpath="$(get_var_from_spec ${SPECSDIR}/${toset} libexecpath)" - local libs=( $(find_libs4profile ${toset}) ) - #echo "generate_envFile: ${libs[@]}" >> /tmp/eselect-gnat.rep - if (( 0 == ${#libs[@]} )); then - libs="none" - fi - - local MyPath="${binpath}:${libexecpath}$(get_lib_var_settings PATH ${toset} ${libs[@]})" - echo "PATH=${MyPath}" > "${envfile}" - echo "ROOTPATH=${MyPath}" >> "${envfile}" - echo "MANPATH=$(get_var_from_spec ${SPECSDIR}/${toset} manpath)$(get_lib_var_settings MANPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "INFOPATH=$(get_var_from_spec ${SPECSDIR}/${toset} infopath)$(get_lib_var_settings INFOPATH ${toset} ${libs[@]})" >> "${envfile}" - # the next three use the common base - local libBase=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath) - echo "LDPATH=${libBase}:${libBase}/adalib$(get_lib_var_settings LDPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_INCLUDE_PATH=${libBase}/adainclude$(get_lib_var_settings ADA_INCLUDE_PATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_OBJECTS_PATH=${libBase}/adalib$(get_lib_var_settings ADA_OBJECTS_PATH ${toset} ${libs[@]})" >> "${envfile}" -} - diff --git a/app-admin/eselect-gnat/files/gnat.eselect-0.9 b/app-admin/eselect-gnat/files/gnat.eselect-0.9 deleted file mode 100644 index 8a14aa9673d2..000000000000 --- a/app-admin/eselect-gnat/files/gnat.eselect-0.9 +++ /dev/null @@ -1,300 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: gnat.eselect-0.9,v 1.2 2007/09/07 13:31:07 george Exp $ - -DESCRIPTION="Manage the installed gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2007/09/07 13:31:07 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -SPECSDIR="/usr/share/gnat/eselect" -ENVDIR="/etc/env.d" -MARKER="55gnat-" -#LibMarker="56" - -### Phylosophy -# Each gnat installs a "specs" file named ${ARCH}-${PN}-${SLOT} under ${SPECSDIR} -# Each lib creates a dir with its name under ${SPECSDIR} and populates it with -# similar specs files (same name scheme) -# Recognizing gnat specs from lib specs is then eazy - test entry for being a -# dir, then just check what gnat profiles are installed for each lib.. -# doset then creates env file that combines settings for gnat and for the -# corresponding profile of each installed lib.. - - -### Helpers - -# create a list of all gnat env.d files -# for now use trivial implementation - store name of active profile in the -# env file name, so it gets called 55gnat-${ARCH}-${PN}-${SLOT} -get_env_list() { - for fn in ${ENVDIR}/${MARKER}*; do - echo $(basename ${fn}) - done -} - -# return *the* name of the active profile, checking that we do not have multiple -# env files. -# There can be only one! -get_current_gnat() { - local profiles=( $(get_env_list) ) - - if [ ${profiles[@]} == "${MARKER}*" ]; then exit; fi - - if (( 1 == ${#profiles[@]} )); then - local active=${profiles[0]#${MARKER}} - else - die -q "${ENVDIR} contains multiple gnat profiles, please cleanup!" - fi - - if [ -f ${SPECSDIR}/${active} ]; then - echo ${active} - else - die -q "the active env.d profile does not correspond to any installed gnat!" - fi -} - -# find installed compilers and return a list -find_compilers() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ ! -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find installed libs and return a list -find_all_libs() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find libs that have been built for a given profile -# Arguments: -# $1 - gnat profile for which to detect active libs -find_libs4profile() { - libs=( $(find_all_libs) ) - - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/$1 ] && echo "${libs[$i]}" - done -} - -# check if the passed arg represents the installed gnat and return it or -# not_found -# takes args: -# $1 - list ID to check -get_name_from_list() { - compiler=$1 - - compilers=( $(find_compilers) ) - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - if [[ ${compilers[$i]} == ${compiler} ]] ; then - echo ${compiler} - return - fi - done - - echo "(not-found)" -} - - -# extracts values of the passed var definition from given spec file -# params: -# $1: spec file (as generated by gnabuild.eclass) -# $2: variable name -get_var_from_spec() { - local var=$(grep -e "^ *$2=" $1|cut -d= -f2) - echo ${var} -} - - -# Cycle through given libs and form a : separated list of settings for the given -# var. Returned string starts with ":" if there is any non-empty setting, -# otherwise returns empty string -# params: -# $1 - name of env var to process -# $2 - name of gnat profile -# $3.. - list of libs to check (to avoid its composition every time) -# - the list is expanded to lest of args at the point of call -get_lib_var_settings() { - local envVar=$1 - local toset=$2 - #echo "get_lib_var_settings params:$@" >> /tmp/eselect-gnat.rep - if [[ "none" != ${3} ]]; then - local envString - local specLine - while [[ -n $3 ]]; do - specLine=$(get_var_from_spec ${SPECSDIR}/$3/${toset} ${envVar}) - #echo "$3:${specLine}." >> /tmp/eselect-gnat.rep - [[ -n ${specLine} ]] && envString="${envString}:${specLine}" - shift - done - echo "${envString}" - fi -} - - -# removes env files (for compiler and libs) -# params: -# $1: the name of profile for which to remove env file -unset_env() { - rm -f ${ENVDIR}/${MARKER}$1 &> /dev/null -} - - -# Stuff common for do_set and do_update -# -# params: -# $1 - profile to set (toset param inside) -# $2 - envfile - -generate_envFile() { - local toset=$1 - local envfile=$2 - - local binpath="$(get_var_from_spec ${SPECSDIR}/${toset} binpath)" - local libexecpath="$(get_var_from_spec ${SPECSDIR}/${toset} libexecpath)" - local libs=( $(find_libs4profile ${toset}) ) - #echo "generate_envFile: ${libs[@]}" >> /tmp/eselect-gnat.rep - if (( 0 == ${#libs[@]} )); then - libs="none" - fi - - local MyPath="${binpath}:${libexecpath}$(get_lib_var_settings PATH ${toset} ${libs[@]})" - echo "PATH=${MyPath}" > "${envfile}" - echo "ROOTPATH=${MyPath}" >> "${envfile}" - echo "MANPATH=$(get_var_from_spec ${SPECSDIR}/${toset} manpath)$(get_lib_var_settings MANPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "INFOPATH=$(get_var_from_spec ${SPECSDIR}/${toset} infopath)$(get_lib_var_settings INFOPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "LDPATH=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath)$(get_lib_var_settings LDPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_INCLUDE_PATH=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath)/adainclude$(get_lib_var_settings ADA_INCLUDE_PATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_OBJECTS_PATH=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath)/adalib$(get_lib_var_settings ADA_OBJECTS_PATH ${toset} ${libs[@]})" >> "${envfile}" -} - -### show action ### - -describe_show() { - echo "Show the active gnat compiler/profile and installed libs" -} - -do_show() { - write_list_start "Current gnat version:" - active=$(get_current_gnat) - if [ ! -z ${active} ] ; then # not sure why [ -n ] does not do the same - write_kv_list_entry "$active" "" - libs=( $(find_libs4profile ${active}) ) - write_list_start "Active libs:" - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none set)" "" - fi -} - -### list action ### - -describe_list() { - echo "List installed gnat compilers and libs" -} - -do_list() { - compilers=( $(find_compilers ) ) - active=$(get_current_gnat) - - write_list_start "Available gnat compilers:" - - if [[ -n ${compilers[@]} ]] ; then - local i - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - linkversion=${compilers[${i}]} - - [[ $linkversion == $active ]] && \ - compilers[${i}]="${compilers[${i}]} $(highlight '*' )" - done - write_numbered_list "${compilers[@]}" - - # now the libs - libs=( $(find_all_libs) ) - write_list_start "Installed libs:" - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/${active} ] && \ - libs[${i}]="${libs[${i}]} $(highlight '*' )" - done - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none found)" "" - fi -} - - -### set action ### - -describe_set() { - echo "Set active gnat compiler" -} - -# The set action. Parameters: -# $1 - name of profile to set, obligatory, passed by eselect -# $2 - optional, name of env file to generate. Used from gnat.eclass. -do_set() { - if [[ -z ${1} ]] ; then - # no parameter - die -q "You didn't tell me which gnat to use" - fi - - local toset=$(get_name_from_list $1) - if [[ ${toset} == "(not-found)" ]] ; then - die -q "I don't recognise the selection" - fi - - # the action! - # in this implementation simply create an appropriate env file - local active=$(get_current_gnat) - if [[ -z ${2} ]] ; then - local envfile="${ENVDIR}/${MARKER}${toset}" - - # now we need to remove an old env file, which is guaranteed to - # be unique by get_current_gnat above - if [[ -n ${active} ]] ; then - unset_env ${active} - fi - # just for a good measure remove the one we are going to write - unset_env ${toset} - else - local envfile="$2" - fi - - generate_envFile ${toset} ${envfile} -} - - - -### update action ### -# -# This action regenerates the /etc/env.d file for the current profile. Basically -# the same as set, only it does not take any parameters. It should be called from ebuilds -# installing Ada libs - -describe_update() { - echo "Update active gnat profile picking up new libs." -} - -do_update() { - local toset=$(get_current_gnat) - local envfile="${ENVDIR}/${MARKER}${toset}" - generate_envFile ${toset} ${envfile} -} - -### unset action ### - -describe_unset() { - echo "Remove settings for currently active gnat" -} - -do_unset() { - local active=$(get_current_gnat) - # check whether we have any profile set before removing anything.. - if [[ -n ${active} ]] ; then - unset_env ${active} - fi -} diff --git a/app-admin/eselect-gnat/files/gnat.eselect-1.0 b/app-admin/eselect-gnat/files/gnat.eselect-1.0 deleted file mode 100644 index f41c08c9d889..000000000000 --- a/app-admin/eselect-gnat/files/gnat.eselect-1.0 +++ /dev/null @@ -1,306 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: gnat.eselect-1.0,v 1.2 2007/09/07 13:31:07 george Exp $ - -DESCRIPTION="Manage the installed gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2007/09/07 13:31:07 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -SPECSDIR="/usr/share/gnat/eselect" -ENVDIR="/etc/env.d" -MARKER="55gnat-" -#LibMarker="56" - -### Phylosophy -# Each gnat installs a "specs" file named ${ARCH}-${PN}-${SLOT} under ${SPECSDIR} -# Each lib creates a dir with its name under ${SPECSDIR} and populates it with -# similar specs files (same name scheme) -# Recognizing gnat specs from lib specs is then eazy - test entry for being a -# dir, then just check what gnat profiles are installed for each lib.. -# doset then creates env file that combines settings for gnat and for the -# corresponding profile of each installed lib.. - - -### Helpers - -# create a list of all gnat env.d files -# for now use trivial implementation - store name of active profile in the -# env file name, so it gets called 55gnat-${ARCH}-${PN}-${SLOT} -get_env_list() { - for fn in ${ENVDIR}/${MARKER}*; do - echo $(basename ${fn}) - done -} - -# return *the* name of the active profile, checking that we do not have multiple -# env files. -# There can be only one! -get_current_gnat() { - local profiles=( $(get_env_list) ) - - if [ ${profiles[@]} == "${MARKER}*" ]; then exit; fi - - if (( 1 == ${#profiles[@]} )); then - local active=${profiles[0]#${MARKER}} - else - die -q "${ENVDIR} contains multiple gnat profiles, please cleanup!" - fi - - if [ -f ${SPECSDIR}/${active} ]; then - echo ${active} - else - die -q "the active env.d profile does not correspond to any installed gnat!" - fi -} - -# find installed compilers and return a list -find_compilers() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ ! -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find installed libs and return a list -find_all_libs() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find libs that have been built for a given profile -# Arguments: -# $1 - gnat profile for which to detect active libs -find_libs4profile() { - libs=( $(find_all_libs) ) - - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/$1 ] && echo "${libs[$i]}" - done -} - -# check if the passed arg represents the installed gnat and return it or -# not_found -# takes args: -# $1 - list ID to check -get_name_from_list() { - compiler=$1 - - compilers=( $(find_compilers) ) - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - if [[ ${compilers[$i]} == ${compiler} ]] ; then - echo ${compiler} - return - fi - done - - echo "(not-found)" -} - - -# extracts values of the passed var definition from given spec file -# params: -# $1: spec file (as generated by gnabuild.eclass) -# $2: variable name -get_var_from_spec() { - local var=$(grep -e "^ *$2=" $1|cut -d= -f2) - echo ${var} -} - - -# Cycle through given libs and form a : separated list of settings for the given -# var. Returned string starts with ":" if there is any non-empty setting, -# otherwise returns empty string -# params: -# $1 - name of env var to process -# $2 - name of gnat profile -# $3.. - list of libs to check (to avoid its composition every time) -# - the list is expanded to lest of args at the point of call -get_lib_var_settings() { - local envVar=$1 - local toset=$2 - #echo "get_lib_var_settings params:$@" >> /tmp/eselect-gnat.rep - if [[ "none" != ${3} ]]; then - local envString - local specLine - while [[ -n $3 ]]; do - specLine=$(get_var_from_spec ${SPECSDIR}/$3/${toset} ${envVar}) - #echo "$3:${specLine}." >> /tmp/eselect-gnat.rep - [[ -n ${specLine} ]] && envString="${envString}:${specLine}" - shift - done - echo "${envString}" - fi -} - - -# removes env files (for compiler and libs) -# params: -# $1: the name of profile for which to remove env file -unset_env() { - rm -f ${ENVDIR}/${MARKER}$1 &> /dev/null -} - - -# Stuff common for do_set and do_update -# -# params: -# $1 - profile to set (toset param inside) -# $2 - envfile - -generate_envFile() { - local toset=$1 - local envfile=$2 - - local binpath="$(get_var_from_spec ${SPECSDIR}/${toset} binpath)" - local libexecpath="$(get_var_from_spec ${SPECSDIR}/${toset} libexecpath)" - local libs=( $(find_libs4profile ${toset}) ) - #echo "generate_envFile: ${libs[@]}" >> /tmp/eselect-gnat.rep - if (( 0 == ${#libs[@]} )); then - libs="none" - fi - - local MyPath="${binpath}:${libexecpath}$(get_lib_var_settings PATH ${toset} ${libs[@]})" - echo "PATH=${MyPath}" > "${envfile}" - echo "ROOTPATH=${MyPath}" >> "${envfile}" - echo "MANPATH=$(get_var_from_spec ${SPECSDIR}/${toset} manpath)$(get_lib_var_settings MANPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "INFOPATH=$(get_var_from_spec ${SPECSDIR}/${toset} infopath)$(get_lib_var_settings INFOPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "LDPATH=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath)$(get_lib_var_settings LDPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_INCLUDE_PATH=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath)/adainclude$(get_lib_var_settings ADA_INCLUDE_PATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_OBJECTS_PATH=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath)/adalib$(get_lib_var_settings ADA_OBJECTS_PATH ${toset} ${libs[@]})" >> "${envfile}" -} - -### show action ### - -describe_show() { - echo "Show the active gnat compiler/profile and installed libs" -} - -do_show() { - write_list_start "Current gnat version:" - active=$(get_current_gnat) - if [ ! -z ${active} ] ; then # not sure why [ -n ] does not do the same - write_kv_list_entry "$active" "" - libs=( $(find_libs4profile ${active}) ) - write_list_start "Active libs:" - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none set)" "" - fi -} - -### list action ### - -describe_list() { - echo "List installed gnat compilers and libs" -} - -do_list() { - compilers=( $(find_compilers ) ) - active=$(get_current_gnat) - - write_list_start "Available gnat compilers:" - - if [[ -n ${compilers[@]} ]] ; then - local i - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - linkversion=${compilers[${i}]} - - [[ $linkversion == $active ]] && \ - compilers[${i}]="${compilers[${i}]} $(highlight '*' )" - done - write_numbered_list "${compilers[@]}" - - # now the libs - libs=( $(find_all_libs) ) - write_list_start "Installed libs:" - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/${active} ] && \ - libs[${i}]="${libs[${i}]} $(highlight '*' )" - done - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none found)" "" - fi -} - - -### set action ### - -describe_set() { - echo "Set active gnat compiler" -} - -# The set action. Parameters: -# $1 - name of profile to set, obligatory, passed by eselect -# $2 - optional, name of env file to generate. Used from gnat.eclass. -do_set() { - if [[ -z ${1} ]] ; then - # no parameter - die -q "You didn't tell me which gnat to use" - fi - - local toset=$(get_name_from_list $1) - if [[ ${toset} == "(not-found)" ]] ; then - die -q "I don't recognise the selection" - fi - - # the action! - # in this implementation simply create an appropriate env file - local active=$(get_current_gnat) - if [[ -z ${2} ]] ; then - local envfile="${ENVDIR}/${MARKER}${toset}" - - # now we need to remove an old env file, which is guaranteed to - # be unique by get_current_gnat above - if [[ -n ${active} ]] ; then - unset_env ${active} - fi - # just for a good measure remove the one we are going to write - unset_env ${toset} - else - local envfile="$2" - fi - - generate_envFile ${toset} ${envfile} - - # force update environment - # should be replaced with "do_action env update" when #172472 gets resolved - env-update &> /dev/null -} - - - -### update action ### -# -# This action regenerates the /etc/env.d file for the current profile. Basically -# the same as set, only it does not take any parameters. It should be called from ebuilds -# installing Ada libs - -describe_update() { - echo "Update active gnat profile picking up new libs." -} - -do_update() { - local toset=$(get_current_gnat) - local envfile="${ENVDIR}/${MARKER}${toset}" - generate_envFile ${toset} ${envfile} - env-update &> /dev/null -} - -### unset action ### - -describe_unset() { - echo "Remove settings for currently active gnat" -} - -do_unset() { - local active=$(get_current_gnat) - # check whether we have any profile set before removing anything.. - if [[ -n ${active} ]] ; then - unset_env ${active} - env-update &> /dev/null - fi -} diff --git a/app-admin/eselect-gnat/files/gnat.eselect-1.0-r1 b/app-admin/eselect-gnat/files/gnat.eselect-1.0-r1 deleted file mode 100644 index d842b9569f66..000000000000 --- a/app-admin/eselect-gnat/files/gnat.eselect-1.0-r1 +++ /dev/null @@ -1,308 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: gnat.eselect-1.0-r1,v 1.2 2007/09/07 13:31:07 george Exp $ - -DESCRIPTION="Manage the installed gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2007/09/07 13:31:07 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -SPECSDIR="/usr/share/gnat/eselect" -ENVDIR="/etc/env.d" -MARKER="55gnat-" -#LibMarker="56" - -### Phylosophy -# Each gnat installs a "specs" file named ${ARCH}-${PN}-${SLOT} under ${SPECSDIR} -# Each lib creates a dir with its name under ${SPECSDIR} and populates it with -# similar specs files (same name scheme) -# Recognizing gnat specs from lib specs is then eazy - test entry for being a -# dir, then just check what gnat profiles are installed for each lib.. -# doset then creates env file that combines settings for gnat and for the -# corresponding profile of each installed lib.. - - -### Helpers - -# create a list of all gnat env.d files -# for now use trivial implementation - store name of active profile in the -# env file name, so it gets called 55gnat-${ARCH}-${PN}-${SLOT} -get_env_list() { - for fn in ${ENVDIR}/${MARKER}*; do - echo $(basename ${fn}) - done -} - -# return *the* name of the active profile, checking that we do not have multiple -# env files. -# There can be only one! -get_current_gnat() { - local profiles=( $(get_env_list) ) - - if [ ${profiles[@]} == "${MARKER}*" ]; then exit; fi - - if (( 1 == ${#profiles[@]} )); then - local active=${profiles[0]#${MARKER}} - else - die -q "${ENVDIR} contains multiple gnat profiles, please cleanup!" - fi - - if [ -f ${SPECSDIR}/${active} ]; then - echo ${active} - else - die -q "the active env.d profile does not correspond to any installed gnat!" - fi -} - -# find installed compilers and return a list -find_compilers() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ ! -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find installed libs and return a list -find_all_libs() { - [ ! -d ${SPECSDIR} ] && exit - for fn in ${SPECSDIR}/*; do - [ -d ${fn} ] && echo $(basename ${fn}); - done -} - -# find libs that have been built for a given profile -# Arguments: -# $1 - gnat profile for which to detect active libs -find_libs4profile() { - libs=( $(find_all_libs) ) - - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/$1 ] && echo "${libs[$i]}" - done -} - -# check if the passed arg represents the installed gnat and return it or -# not_found -# takes args: -# $1 - list ID to check -get_name_from_list() { - compiler=$1 - - compilers=( $(find_compilers) ) - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - if [[ ${compilers[$i]} == ${compiler} ]] ; then - echo ${compiler} - return - fi - done - - echo "(not-found)" -} - - -# extracts values of the passed var definition from given spec file -# params: -# $1: spec file (as generated by gnabuild.eclass) -# $2: variable name -get_var_from_spec() { - local var=$(grep -e "^ *$2=" $1|cut -d= -f2) - echo ${var} -} - - -# Cycle through given libs and form a : separated list of settings for the given -# var. Returned string starts with ":" if there is any non-empty setting, -# otherwise returns empty string -# params: -# $1 - name of env var to process -# $2 - name of gnat profile -# $3.. - list of libs to check (to avoid its composition every time) -# - the list is expanded to lest of args at the point of call -get_lib_var_settings() { - local envVar=$1 - local toset=$2 - #echo "get_lib_var_settings params:$@" >> /tmp/eselect-gnat.rep - if [[ "none" != ${3} ]]; then - local envString - local specLine - while [[ -n $3 ]]; do - specLine=$(get_var_from_spec ${SPECSDIR}/$3/${toset} ${envVar}) - #echo "$3:${specLine}." >> /tmp/eselect-gnat.rep - [[ -n ${specLine} ]] && envString="${envString}:${specLine}" - shift - done - echo "${envString}" - fi -} - - -# removes env files (for compiler and libs) -# params: -# $1: the name of profile for which to remove env file -unset_env() { - rm -f ${ENVDIR}/${MARKER}$1 &> /dev/null -} - - -# Stuff common for do_set and do_update -# -# params: -# $1 - profile to set (toset param inside) -# $2 - envfile - -generate_envFile() { - local toset=$1 - local envfile=$2 - - local binpath="$(get_var_from_spec ${SPECSDIR}/${toset} binpath)" - local libexecpath="$(get_var_from_spec ${SPECSDIR}/${toset} libexecpath)" - local libs=( $(find_libs4profile ${toset}) ) - #echo "generate_envFile: ${libs[@]}" >> /tmp/eselect-gnat.rep - if (( 0 == ${#libs[@]} )); then - libs="none" - fi - - local MyPath="${binpath}:${libexecpath}$(get_lib_var_settings PATH ${toset} ${libs[@]})" - echo "PATH=${MyPath}" > "${envfile}" - echo "ROOTPATH=${MyPath}" >> "${envfile}" - echo "MANPATH=$(get_var_from_spec ${SPECSDIR}/${toset} manpath)$(get_lib_var_settings MANPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "INFOPATH=$(get_var_from_spec ${SPECSDIR}/${toset} infopath)$(get_lib_var_settings INFOPATH ${toset} ${libs[@]})" >> "${envfile}" - # the next three use the common base - local libBase=$(get_var_from_spec ${SPECSDIR}/${toset} ldpath) - echo "LDPATH=${libBase}:${libBase}/adalib$(get_lib_var_settings LDPATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_INCLUDE_PATH=${libBase}/adainclude$(get_lib_var_settings ADA_INCLUDE_PATH ${toset} ${libs[@]})" >> "${envfile}" - echo "ADA_OBJECTS_PATH=${libBase}/adalib$(get_lib_var_settings ADA_OBJECTS_PATH ${toset} ${libs[@]})" >> "${envfile}" -} - -### show action ### - -describe_show() { - echo "Show the active gnat compiler/profile and installed libs" -} - -do_show() { - write_list_start "Current gnat version:" - active=$(get_current_gnat) - if [ ! -z ${active} ] ; then # not sure why [ -n ] does not do the same - write_kv_list_entry "$active" "" - libs=( $(find_libs4profile ${active}) ) - write_list_start "Active libs:" - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none set)" "" - fi -} - -### list action ### - -describe_list() { - echo "List installed gnat compilers and libs" -} - -do_list() { - compilers=( $(find_compilers ) ) - active=$(get_current_gnat) - - write_list_start "Available gnat compilers:" - - if [[ -n ${compilers[@]} ]] ; then - local i - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - linkversion=${compilers[${i}]} - - [[ $linkversion == $active ]] && \ - compilers[${i}]="${compilers[${i}]} $(highlight '*' )" - done - write_numbered_list "${compilers[@]}" - - # now the libs - libs=( $(find_all_libs) ) - write_list_start "Installed libs:" - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/${active} ] && \ - libs[${i}]="${libs[${i}]} $(highlight '*' )" - done - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none found)" "" - fi -} - - -### set action ### - -describe_set() { - echo "Set active gnat compiler" -} - -# The set action. Parameters: -# $1 - name of profile to set, obligatory, passed by eselect -# $2 - optional, name of env file to generate. Used from gnat.eclass. -do_set() { - if [[ -z ${1} ]] ; then - # no parameter - die -q "You didn't tell me which gnat to use" - fi - - local toset=$(get_name_from_list $1) - if [[ ${toset} == "(not-found)" ]] ; then - die -q "I don't recognise the selection" - fi - - # the action! - # in this implementation simply create an appropriate env file - local active=$(get_current_gnat) - if [[ -z ${2} ]] ; then - local envfile="${ENVDIR}/${MARKER}${toset}" - - # now we need to remove an old env file, which is guaranteed to - # be unique by get_current_gnat above - if [[ -n ${active} ]] ; then - unset_env ${active} - fi - # just for a good measure remove the one we are going to write - unset_env ${toset} - else - local envfile="$2" - fi - - generate_envFile ${toset} ${envfile} - - # force update environment - # should be replaced with "do_action env update" when #172472 gets resolved - env-update &> /dev/null -} - - - -### update action ### -# -# This action regenerates the /etc/env.d file for the current profile. Basically -# the same as set, only it does not take any parameters. It should be called from ebuilds -# installing Ada libs - -describe_update() { - echo "Update active gnat profile picking up new libs." -} - -do_update() { - local toset=$(get_current_gnat) - local envfile="${ENVDIR}/${MARKER}${toset}" - generate_envFile ${toset} ${envfile} - env-update &> /dev/null -} - -### unset action ### - -describe_unset() { - echo "Remove settings for currently active gnat" -} - -do_unset() { - local active=$(get_current_gnat) - # check whether we have any profile set before removing anything.. - if [[ -n ${active} ]] ; then - unset_env ${active} - env-update &> /dev/null - fi -} diff --git a/app-admin/eselect-gnat/files/gnat.eselect-1.1 b/app-admin/eselect-gnat/files/gnat.eselect-1.1 deleted file mode 100644 index e58c58d4789e..000000000000 --- a/app-admin/eselect-gnat/files/gnat.eselect-1.1 +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: gnat.eselect-1.1,v 1.1 2007/09/19 20:24:05 george Exp $ - -DESCRIPTION="Manage the talled gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2007/09/19 20:24:05 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -# "inheriting" common stuff -# this crude sourcing should be replaced by a call to function in -# libs/package-manager.bash eventually -. /usr/share/gnat/lib/gnat-common.bash - - -### Phylosophy -# Each gnat installs a "specs" file named ${ARCH}-${PN}-${SLOT} under ${SPECSDIR} -# Each lib creates a dir with its name under ${SPECSDIR} and populates it with -# similar specs files (same name scheme) -# Recognizing gnat specs from lib specs is then eazy - test entry for being a -# dir, then just check what gnat profiles are installed for each lib.. -# doset then creates env file that combines settings for gnat and for the -# corresponding profile of each installed lib.. - - -### Helpers - -# return *the* name of the active profile, checking that we do not have multiple -# env files. -# There can be only one! -get_current_gnat() { - local profiles=( $(get_env_list) ) - - if [ ${profiles[@]} == "${MARKER}*" ]; then exit; fi - - if (( 1 == ${#profiles[@]} )); then - local active=${profiles[0]#${MARKER}} - else - die -q "${ENVDIR} contains multiple gnat profiles, please cleanup!" - fi - - if [ -f ${SPECSDIR}/${active} ]; then - echo ${active} - else - die -q "the active env.d profile does not correspond to any installed gnat!" - fi -} - -# check if the passed arg represents the installed gnat and return it or -# not_found -# takes args: -# $1 - list ID to check -get_name_from_list() { - compiler=$1 - - compilers=( $(find_compilers) ) - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - if [[ ${compilers[$i]} == ${compiler} ]] ; then - echo ${compiler} - return - fi - done - - echo "(not-found)" -} - - -# removes env files (for compiler and libs) -# params: -# $1: the name of profile for which to remove env file -unset_env() { - rm -f ${ENVDIR}/${MARKER}$1 &> /dev/null -} - - -### show action ### - -describe_show() { - echo "Show the active gnat compiler/profile and installed libs" -} - -do_show() { - write_list_start "Current gnat version:" - active=$(get_current_gnat) - if [ ! -z ${active} ] ; then # not sure why [ -n ] does not do the same - write_kv_list_entry "$active" "" - libs=( $(find_libs4profile ${active}) ) - write_list_start "Active libs:" - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none set)" "" - fi -} - -### list action ### - -describe_list() { - echo "List installed gnat compilers and libs" -} - -do_list() { - compilers=( $(find_compilers ) ) - active=$(get_current_gnat) - - write_list_start "Available gnat compilers:" - - if [[ -n ${compilers[@]} ]] ; then - local i - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - linkversion=${compilers[${i}]} - - [[ $linkversion == $active ]] && \ - compilers[${i}]="${compilers[${i}]} $(highlight '*' )" - done - write_numbered_list "${compilers[@]}" - - # now the libs - libs=( $(find_all_libs) ) - write_list_start "Installed libs:" - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/${active} ] && \ - libs[${i}]="${libs[${i}]} $(highlight '*' )" - done - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none found)" "" - fi -} - - -### set action ### - -describe_set() { - echo "Set active gnat compiler" -} - -# The set action. Parameters: -# $1 - name of profile to set, obligatory, passed by eselect -# $2 - optional, name of env file to generate. Used from gnat.eclass. -do_set() { - if [[ -z ${1} ]] ; then - # no parameter - die -q "You didn't tell me which gnat to use" - fi - - local toset=$(get_name_from_list $1) - if [[ ${toset} == "(not-found)" ]] ; then - die -q "I don't recognise the selection" - fi - - # the action! - # in this implementation simply create an appropriate env file - local active=$(get_current_gnat) - if [[ -z ${2} ]] ; then - local envfile="${ENVDIR}/${MARKER}${toset}" - - # now we need to remove an old env file, which is guaranteed to - # be unique by get_current_gnat above - if [[ -n ${active} ]] ; then - unset_env ${active} - fi - # just for a good measure remove the one we are going to write - unset_env ${toset} - else - local envfile="$2" - fi - - generate_envFile ${toset} ${envfile} - - # force update environment - # should be replaced with "do_action env update" when #172472 gets resolved - env-update &> /dev/null -} - - - -### update action ### -# -# This action regenerates the /etc/env.d file for the current profile. Basically -# the same as set, only it does not take any parameters. It should be called from ebuilds -# installing Ada libs - -describe_update() { - echo "Update active gnat profile picking up new libs." -} - -do_update() { - local toset=$(get_current_gnat) - local envfile="${ENVDIR}/${MARKER}${toset}" - generate_envFile ${toset} ${envfile} - env-update &> /dev/null -} - -### unset action ### - -describe_unset() { - echo "Remove settings for currently active gnat" -} - -do_unset() { - local active=$(get_current_gnat) - # check whether we have any profile set before removing anything.. - if [[ -n ${active} ]] ; then - unset_env ${active} - env-update &> /dev/null - fi -} diff --git a/app-admin/eselect-gnat/files/gnat.eselect-1.1-r1 b/app-admin/eselect-gnat/files/gnat.eselect-1.1-r1 deleted file mode 100644 index 2ecaf5f9c799..000000000000 --- a/app-admin/eselect-gnat/files/gnat.eselect-1.1-r1 +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: gnat.eselect-1.1-r1,v 1.1 2007/12/11 23:46:46 george Exp $ - -DESCRIPTION="Manage the talled gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2007/12/11 23:46:46 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -# "inheriting" common stuff -# this crude sourcing should be replaced by a call to function in -# libs/package-manager.bash eventually -. /usr/share/gnat/lib/gnat-common.bash - - -### Phylosophy -# Each gnat installs a "specs" file named ${ARCH}-${PN}-${SLOT} under ${SPECSDIR} -# Each lib creates a dir with its name under ${SPECSDIR} and populates it with -# similar specs files (same name scheme) -# Recognizing gnat specs from lib specs is then eazy - test entry for being a -# dir, then just check what gnat profiles are installed for each lib.. -# doset then creates env file that combines settings for gnat and for the -# corresponding profile of each installed lib.. - - -### Helpers - -# return *the* name of the active profile, checking that we do not have multiple -# env files. -# There can be only one! -get_current_gnat() { - local profiles=( $(get_env_list) ) - - if [ ${profiles[@]} == "${MARKER}*" ]; then exit; fi - - if (( 1 == ${#profiles[@]} )); then - local active=${profiles[0]#${MARKER}} - else - die -q "${ENVDIR} contains multiple gnat profiles, please cleanup!" - fi - - if [ -f ${SPECSDIR}/${active} ]; then - echo ${active} - else - die -q "the active env.d profile does not correspond to any installed gnat!" - fi -} - -# check if the passed arg represents the installed gnat and return it or -# not_found -# takes args: -# $1 - list ID to check -get_name_from_list() { - compiler=$1 - - compilers=( $(find_compilers) ) - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - if [[ ${compilers[$i]} == ${compiler} ]] ; then - echo ${compiler} - return - fi - done - - echo "(not-found)" -} - - -# removes env files (for compiler and libs) -# params: -# $1: the name of profile for which to remove env file -unset_env() { - rm -f ${ENVDIR}/${MARKER}$1 &> /dev/null -} - - -### show action ### - -describe_show() { - echo "Show the active gnat compiler/profile and installed libs" -} - -do_show() { - write_list_start "Current gnat version:" - active=$(get_current_gnat) - if [ ! -z ${active} ] ; then # not sure why [ -n ] does not do the same - write_kv_list_entry "$active" "" - libs=( $(find_libs4profile ${active}) ) - write_list_start "Active libs:" - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none set)" "" - fi -} - -### list action ### - -describe_list() { - echo "List installed gnat compilers and libs" -} - -do_list() { - compilers=( $(find_compilers ) ) - active=$(get_current_gnat) - - write_list_start "Available gnat compilers:" - - if [[ -n ${compilers[@]} ]] ; then - local i - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - linkversion=${compilers[${i}]} - - [[ $linkversion == $active ]] && \ - compilers[${i}]="${compilers[${i}]} $(highlight '*' )" - done - write_numbered_list "${compilers[@]}" - - # now the libs - libs=( $(find_all_libs) ) - write_list_start "Installed libs:" - for (( i = 0 ; i < ${#libs[@]} ; i = i + 1 )) ; do - [ -f ${SPECSDIR}/${libs[$i]}/${active} ] && \ - libs[${i}]="${libs[${i}]} $(highlight '*' )" - done - write_numbered_list "${libs[@]}" - else - write_kv_list_entry "(none found)" "" - fi -} - - -### set action ### - -describe_set() { - echo "Set active gnat compiler" -} - -# The set action. Parameters: -# $1 - name of profile to set, obligatory, passed by eselect -# $2 - optional, name of env file to generate. Used from gnat.eclass. -do_set() { - if [[ -z ${1} ]] ; then - # no parameter - die -q "You didn't tell me which gnat to use" - fi - - local toset=$(get_name_from_list $1) - if [[ ${toset} == "(not-found)" ]] ; then - die -q "I don't recognise the selection" - fi - - # the action! - # in this implementation simply create an appropriate env file - local active=$(get_current_gnat) - if [[ -z ${2} ]] ; then - local envfile="${ENVDIR}/${MARKER}${toset}" - - # now we need to remove an old env file, which is guaranteed to - # be unique by get_current_gnat above - if [[ -n ${active} ]] ; then - unset_env ${active} - fi - # just for a good measure remove the one we are going to write - unset_env ${toset} - else - local envfile="$2" - fi - - generate_envFile ${toset} ${envfile} - - # force update environment - # should be replaced with "do_action env update" when #172472 gets resolved - env-update &> /dev/null -} - - - -### update action ### -# -# This action regenerates the /etc/env.d file for the current profile. Basically -# the same as set, only it does not take any parameters. It should be called from ebuilds -# installing Ada libs - -describe_update() { - echo "Update active gnat profile picking up new libs." -} - -do_update() { - local toset=$(get_current_gnat) - local envfile="${ENVDIR}/${MARKER}${toset}" - generate_envFile ${toset} ${envfile} - do_action env update &> /dev/null -} - -### unset action ### - -describe_unset() { - echo "Remove settings for currently active gnat" -} - -do_unset() { - local active=$(get_current_gnat) - # check whether we have any profile set before removing anything.. - if [[ -n ${active} ]] ; then - unset_env ${active} - do_action env update &> /dev/null - fi -} |