diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
commit | b7ebc951da8800f711142f69d9d958bde67a112d (patch) | |
tree | e318514216845acb8f2e49fff7a5cba4027e9d91 /app-eselect/eselect-gnat | |
parent | dc7cbdfa65fd814b3b9aa3c56257da201109e807 (diff) |
gentoo resync : 28.04.2019
Diffstat (limited to 'app-eselect/eselect-gnat')
-rw-r--r-- | app-eselect/eselect-gnat/Manifest | 12 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/eselect-gnat-1.3-r1.ebuild | 35 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/eselect-gnat-1.4-r1.ebuild | 38 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/eselect-gnat-1.4.ebuild | 38 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/eselect-gnat-1.5-r1.ebuild | 38 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/eselect-gnat-1.5.ebuild | 38 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/files/gnat-common-1.3-r1.bash | 222 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/files/gnat-common-1.4-r1.bash | 225 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/files/gnat-common-1.5.bash | 225 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/files/gnat.eselect-1.3 | 206 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/files/gnat.eselect-1.4 | 229 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/files/gnat.eselect-1.5 | 225 | ||||
-rw-r--r-- | app-eselect/eselect-gnat/metadata.xml | 6 |
13 files changed, 0 insertions, 1537 deletions
diff --git a/app-eselect/eselect-gnat/Manifest b/app-eselect/eselect-gnat/Manifest deleted file mode 100644 index 20ebcbffab65..000000000000 --- a/app-eselect/eselect-gnat/Manifest +++ /dev/null @@ -1,12 +0,0 @@ -AUX gnat-common-1.3-r1.bash 6725 BLAKE2B ff2ad420f428ce186f8c1dbf2b3a1957bc5054d89de630194d2a0c7a96cb801068343a44f3a8341e2e8c158bbf11c0770cb908b9fc2261455d6bebb470e67629 SHA512 431aba32979fec9ea76232ff66add372945f829c5cd4a4feea609d025a6d97b459812c9e1484fd54dce8b89d3fad2ab5f55315485be4617f53ca49b226ee28c3 -AUX gnat-common-1.4-r1.bash 6681 BLAKE2B 31bf44cab573ca1487730cd97e1d1de6c8ac53ecfe7be99b4067d9d86b7aee19b10cb5a6508f84b506ccb27e31c9e454c8e0fc74936b0ac5cd7f836784f6a4cb SHA512 590f91db9fd2c52333f0749edf94cd7d994aa1704c1e32dc00b2325daa3c605f0ea26d9b94387f443c86ac121b8d6f1fe571c173332b12998c2f27dde28a8e25 -AUX gnat-common-1.5.bash 6681 BLAKE2B 5cebcd6cdbe50a5fc650c64f57ff02e55a3a35969e1946c18f517e1962eedc1deb39e4e9342c638a91e124b9b4002f0f747bdd5b3a0b978b051e9164cef88463 SHA512 b190a7b14bc12c6f8a7e702d735e8f42f7b0bd63112ddb2cfb6738c417c146a9d4391266f390403967301eacfeec15360d17d645b87596220e35d20f6354d0d0 -AUX gnat.eselect-1.3 5246 BLAKE2B 4deeb59306907c1275fccf3563de641a4a5a452d69d987c561984a252f6170a0f8f12d743a77a280cf0f66376f3a2cf8db9888da2f26079788720813c15b8be5 SHA512 e884847e1e736be0d6c12bb11d6f203f618040cce9e9c82007f8ec3b1e2d40f78b3e75535eb6f64e6a137c63128eaeb5ccce6113adfc9cb025c078e1af709cd3 -AUX gnat.eselect-1.4 5969 BLAKE2B 95e93b34985a398788fc0da9387b5c9f92d4c3a898bb1cdf454c89777c8973f7d8a5852470a00bdd3fed9a2c267194791fc7a9d7311253b5d0381db774f52622 SHA512 a001a13f3d2b2c4488ea622021d733c8dfeb25e65e7a9576450fca08368d89da1c8314d547d0aeb6c7ce78076bd58a2a9e6b266311fe3f58cf3bf80a1fed5402 -AUX gnat.eselect-1.5 5899 BLAKE2B c3f4d8682c1d119f0113e86a37e0ec62eef77a9cae616edbf07386de7cd65776adfeabfe6e64cb4ad936792595212e6a4a2335280c9e43307bf840be44e08aea SHA512 5da16c411a85d0f3e534e4f2754b69ea43b7c7e0f830f631b63d72499b87f9c83636f003f30c2af016fb91870a35dd7cbe120d716507dae1e9bf1a1a628fa08f -EBUILD eselect-gnat-1.3-r1.ebuild 690 BLAKE2B b324d69a4cd9e0c6e319488c15239d67690e4ccd099fda39f00d5f460c4ab7c6833e4a486595beb613e2ee99db6a5d8fabe20e5f05a149fb3188e7209cdaf527 SHA512 03f464778716d4cbcf6d6fe51f155706c71c61b5df7779482d460831962e8db0d695232d508d20d9366f8a2c146a8d0ad20777b657a1cd210dade1313d338e91 -EBUILD eselect-gnat-1.4-r1.ebuild 793 BLAKE2B 3ebad57a54ffae2f9225135f6293285d3c90f7900c218fe094f6f5d86b951cf7e9ab0bb70122a45a1b109d0857febdb0db404492a1b8213a71845397aa063d52 SHA512 a3c540b99da39052188efaa890d58e0c116d5f216543e24dd6731c5749ae875fa24c1cbd15d46999b63f25dea61fb92ee5c0818a50db7bf8d821d88e97e2f41d -EBUILD eselect-gnat-1.4.ebuild 793 BLAKE2B e4d6c174d74c622c569ff384b2bee5bcb98d2ca1e30741e1159aee6ed9615cad537c17705abfdf44b92efd3179c483c876622d09bd16b31722d2d018ccfb425d SHA512 2bf96e840b64f79ccba6a2dc5dd6565b3d29ffaab0c728ac9ced970daeae108e06b2c45b870324682c3eea8d2f54d4df0caed8743c37dab049d7bc1b1539a76e -EBUILD eselect-gnat-1.5-r1.ebuild 812 BLAKE2B b4516a059ea50542240d417964c875cff5d2d57a2077c68559ec67811f96f653777e3e6e9637db6c911163c5c60ca1fc07a9473495563661b51af6e423b817b5 SHA512 3ab0e5e084c28475ad8bb7c4e0aa775b00a5a1c972d64f4f7cd1779a5acb97497449cd9eade5a57e88f988d8b0d5829914b7397ce3190989ece1b1247f11d8e2 -EBUILD eselect-gnat-1.5.ebuild 808 BLAKE2B 1245e8b57e0c86aef49091643acbaf1dd676e8c4104b090f56b220fd27ba700569bcd25850441b485b2205a45040559d997a9efd7d2e47553eae6be05abe6727 SHA512 83db89788fd1594f3655dcca9ed626f457da1b6e1771401029b6dc2ffdf861e250daa3e3b6886f1624b4002919cf33890448480e74387729cb4967ce450e1102 -MISC metadata.xml 252 BLAKE2B 3f0617eb1d6e14087350a9a54b5dd0caecfede4cc0df9087be014103ed44c836a74abf88dc0dfa8689402e88a94c9c14f0afb105a92d735fd2743ea0f5499293 SHA512 fe0cf16be4ef184cd8dfe3a4ca09a9eb04ff7c954efa447e3587e573a644224528b148226843524ae30aae177782703f166cf115e184bfda24da9f0605c8323a diff --git a/app-eselect/eselect-gnat/eselect-gnat-1.3-r1.ebuild b/app-eselect/eselect-gnat/eselect-gnat-1.3-r1.ebuild deleted file mode 100644 index c05adffcd12e..000000000000 --- a/app-eselect/eselect-gnat/eselect-gnat-1.3-r1.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils - -DESCRIPTION="gnat module for eselect" -HOMEPAGE="https://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ppc x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -S="${WORKDIR}" - -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-${PV} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - newins "${FILESDIR}"/gnat-common-${PVR}.bash gnat-common.bash -} diff --git a/app-eselect/eselect-gnat/eselect-gnat-1.4-r1.ebuild b/app-eselect/eselect-gnat/eselect-gnat-1.4-r1.ebuild deleted file mode 100644 index c5e81999f4c6..000000000000 --- a/app-eselect/eselect-gnat/eselect-gnat-1.4-r1.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils - -DESCRIPTION="gnat module for eselect" -HOMEPAGE="https://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -S="${WORKDIR}" - -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-${PV} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - # !ATTN! - # Make sure to adjust version of installed file to a proper one if there is - # a change! - newins "${FILESDIR}"/gnat-common-${PVR}.bash gnat-common.bash -} diff --git a/app-eselect/eselect-gnat/eselect-gnat-1.4.ebuild b/app-eselect/eselect-gnat/eselect-gnat-1.4.ebuild deleted file mode 100644 index 73a6543927f5..000000000000 --- a/app-eselect/eselect-gnat/eselect-gnat-1.4.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils - -DESCRIPTION="gnat module for eselect" -HOMEPAGE="https://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" - -IUSE="" -RDEPEND="app-admin/eselect" - -S="${WORKDIR}" - -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-${PV} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - # !ATTN! - # Make sure to adjust version of installed file to a proper one if there is - # a change! - newins "${FILESDIR}"/gnat-common-1.3-r1.bash gnat-common.bash -} diff --git a/app-eselect/eselect-gnat/eselect-gnat-1.5-r1.ebuild b/app-eselect/eselect-gnat/eselect-gnat-1.5-r1.ebuild deleted file mode 100644 index c3ec41a07026..000000000000 --- a/app-eselect/eselect-gnat/eselect-gnat-1.5-r1.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils - -DESCRIPTION="gnat module for eselect" -HOMEPAGE="https://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc ~x86 ~sparc" - -IUSE="" -RDEPEND=">=app-admin/eselect-1.2.5" - -S="${WORKDIR}" - -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-${PV} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - # !ATTN! - # Make sure to adjust version of installed file to a proper one if there is - # a change! - newins "${FILESDIR}"/gnat-common-${PV}.bash gnat-common.bash -} diff --git a/app-eselect/eselect-gnat/eselect-gnat-1.5.ebuild b/app-eselect/eselect-gnat/eselect-gnat-1.5.ebuild deleted file mode 100644 index fe933b324b5d..000000000000 --- a/app-eselect/eselect-gnat/eselect-gnat-1.5.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils - -DESCRIPTION="gnat module for eselect" -HOMEPAGE="https://www.gentoo.org" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~sparc" - -IUSE="" -RDEPEND=">=app-admin/eselect-1.2.5" - -S="${WORKDIR}" - -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-${PV} gnat.eselect - dodir ${LIBDIR} - insinto ${LIBDIR} - # !ATTN! - # Make sure to adjust version of installed file to a proper one if there is - # a change! - newins "${FILESDIR}"/gnat-common-1.4-r1.bash gnat-common.bash -} diff --git a/app-eselect/eselect-gnat/files/gnat-common-1.3-r1.bash b/app-eselect/eselect-gnat/files/gnat-common-1.3-r1.bash deleted file mode 100644 index d65994515022..000000000000 --- a/app-eselect/eselect-gnat/files/gnat-common-1.3-r1.bash +++ /dev/null @@ -1,222 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# -# 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}" - # ADA_PROJECT_PATH may not be set in any of the installed packages, - # we should only create this line if cumulative var is non-empty - My_ProjectPath=$(get_lib_var_settings ADA_PROJECT_PATH ${toset} ${libs[@]}) - if [[ -n ${My_ProjectPath} ]]; then - echo "ADA_PROJECT_PATH=${My_ProjectPath}" >> "${envfile}" - fi -} - diff --git a/app-eselect/eselect-gnat/files/gnat-common-1.4-r1.bash b/app-eselect/eselect-gnat/files/gnat-common-1.4-r1.bash deleted file mode 100644 index 5f3c0c8bf8b7..000000000000 --- a/app-eselect/eselect-gnat/files/gnat-common-1.4-r1.bash +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# -# 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. Repeating settings are omitted, that is unique entry is added only first -# time it is encountered. -# -# 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=$(get_var_from_spec ${SPECSDIR}/$3/${toset} ${envVar}) - if [[ -n ${specLine} ]]; then - envString="${specLine}" - fi - shift - # - 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}" - # ADA_PROJECT_PATH may not be set in any of the installed packages, - # we should only create this line if cumulative var is non-empty - My_ProjectPath=$(get_lib_var_settings ADA_PROJECT_PATH ${toset} ${libs[@]}) - if [[ -n ${My_ProjectPath} ]]; then - echo "ADA_PROJECT_PATH=${My_ProjectPath}" >> "${envfile}" - fi -} - diff --git a/app-eselect/eselect-gnat/files/gnat-common-1.5.bash b/app-eselect/eselect-gnat/files/gnat-common-1.5.bash deleted file mode 100644 index 05af905579ae..000000000000 --- a/app-eselect/eselect-gnat/files/gnat-common-1.5.bash +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# -# 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. Repeating settings are omitted, that is unique entry is added only first -# time it is encountered. -# -# 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=$(get_var_from_spec ${SPECSDIR}/$3/${toset} ${envVar}) - if [[ -n ${specLine} ]]; then - envString="${specLine}" - fi - shift - # - 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}" - # ADA_PROJECT_PATH may not be set in any of the installed packages, - # we should only create this line if cumulative var is non-empty - My_ProjectPath=$(get_lib_var_settings ADA_PROJECT_PATH ${toset} ${libs[@]}) - if [[ -n ${My_ProjectPath} ]]; then - echo "ADA_PROJECT_PATH=${My_ProjectPath}" >> "${envfile}" - fi -} - diff --git a/app-eselect/eselect-gnat/files/gnat.eselect-1.3 b/app-eselect/eselect-gnat/files/gnat.eselect-1.3 deleted file mode 100644 index 548926524747..000000000000 --- a/app-eselect/eselect-gnat/files/gnat.eselect-1.3 +++ /dev/null @@ -1,206 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -DESCRIPTION="Manage the installed gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2015/03/31 16:48:57 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -# "inheriting" common stuff -# this crude sourcing has to stay the way it is, as common code -# cannot be part of some eclass (bug #192505) -. /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_all_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_all_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 -} diff --git a/app-eselect/eselect-gnat/files/gnat.eselect-1.4 b/app-eselect/eselect-gnat/files/gnat.eselect-1.4 deleted file mode 100644 index f2a72092c53a..000000000000 --- a/app-eselect/eselect-gnat/files/gnat.eselect-1.4 +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -DESCRIPTION="Manage the installed gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2015/03/31 16:48:57 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -# "inheriting" common stuff -# this crude sourcing has to stay the way it is, as common code -# cannot be part of some eclass (bug #192505) -. /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 - - echo ${active} -# disabling this check, as we want to use get_current_gnat with empty profile -# as an indication that last gnat in SLOT was removed -# if [ -f ${SPECSDIR}/${active} ]; then -# echo ${active} -# else -# die -q "the active env.d profile does not correspond to any installed gnat!" -# fi -} - -# validity check that was removed from get_current_gnat, in case we need it -# somewhere.. -# Arguments: -# $1 - name of the gnat profiel to check -profile_is_valid() { - if [[ -n $1 ]] ; then - [[ -f ${SPECSDIR}/$1 ]] || return 1 - 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_all_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() { - active=$(get_current_gnat) - if $(profile_is_valid ${active}); then - write_list_start "Current gnat version:" - if [[ -n ${active} ]] ; then - 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 - else - write_error_msg "The active profile in ${ENVDIR} is not valid! Please set a valid profile!" - fi -} - -### list action ### - -describe_list() { - echo "List installed gnat compilers and libs" -} - -do_list() { - compilers=( $(find_all_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 or in the pkg_postrm in gnatbuild.eclass, to clean up the -# profile if last gnat in SLOT was removed. - -describe_update() { - echo "Update active gnat profile picking up new libs." -} - -do_update() { - local toset=$(get_current_gnat) - local envfile="${ENVDIR}/${MARKER}${toset}" - # now check whether to update or unset the profile - if $(profile_is_valid ${toset}); then - generate_envFile ${toset} ${envfile} - else - unset_env ${toset} - fi - 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 -} diff --git a/app-eselect/eselect-gnat/files/gnat.eselect-1.5 b/app-eselect/eselect-gnat/files/gnat.eselect-1.5 deleted file mode 100644 index fa312feccbbe..000000000000 --- a/app-eselect/eselect-gnat/files/gnat.eselect-1.5 +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -DESCRIPTION="Manage the installed gnat compilers" -MAINTAINER="ada@gentoo.org" -SVN_DATE='$Date: 2015/03/31 16:48:57 $' -VERSION=$(svn_date_to_version "${SVN_DATE}" ) - -# "inheriting" common stuff -# this crude sourcing has to stay the way it is, as common code -# cannot be part of some eclass (bug #192505) -. /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 - - echo ${active} -# disabling this check, as we want to use get_current_gnat with empty profile -# as an indication that last gnat in SLOT was removed -# if [ -f ${SPECSDIR}/${active} ]; then -# echo ${active} -# else -# die -q "the active env.d profile does not correspond to any installed gnat!" -# fi -} - -# validity check that was removed from get_current_gnat, in case we need it -# somewhere.. -# Arguments: -# $1 - name of the gnat profiel to check -profile_is_valid() { - if [[ -n $1 ]] ; then - [[ -f ${SPECSDIR}/$1 ]] || return 1 - 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_all_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() { - active=$(get_current_gnat) - if $(profile_is_valid ${active}); then - write_list_start "Current gnat version:" - if [[ -n ${active} ]] ; then - 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 - else - write_error_msg "The active profile in ${ENVDIR} is not valid! Please set a valid profile!" - fi -} - -### list action ### - -describe_list() { - echo "List installed gnat compilers and libs" -} - -do_list() { - compilers=( $(find_all_compilers ) ) - active=$(get_current_gnat) - - write_list_start "Available gnat compilers:" - - local i - for (( i = 0 ; i < ${#compilers[@]} ; i = i + 1 )) ; do - linkversion=${compilers[${i}]} - - [[ $linkversion == $active ]] && \ - compilers[${i}]=$(highlight_marker "${compilers[${i}]}") - done - write_numbered_list -m "(none)" "${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}]=$(highlight_marker "${libs[${i}]}") - done - write_numbered_list -m "(no libs)" "${libs[@]}" -} - - -### 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 or in the pkg_postrm in gnatbuild.eclass, to clean up the -# profile if last gnat in SLOT was removed. - -describe_update() { - echo "Update active gnat profile picking up new libs." -} - -do_update() { - local toset=$(get_current_gnat) - local envfile="${ENVDIR}/${MARKER}${toset}" - # now check whether to update or unset the profile - if $(profile_is_valid ${toset}); then - generate_envFile ${toset} ${envfile} - else - unset_env ${toset} - fi - 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 -} diff --git a/app-eselect/eselect-gnat/metadata.xml b/app-eselect/eselect-gnat/metadata.xml deleted file mode 100644 index 70aa7cdf2d3f..000000000000 --- a/app-eselect/eselect-gnat/metadata.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<!--maintainer-needed--> -<longdescription>The eselect module for the supported gnat compilers.</longdescription> -</pkgmetadata> |