From e0d6a37a90c53842c8e5b4ab0460af75715c684d Mon Sep 17 00:00:00 2001 From: jsbronder Date: Tue, 1 Apr 2008 01:30:53 +0000 Subject: Bump eselect-mpi. Fix mpi.eclass so it correctly reports the mpi_dir when building implementations via empi. git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@997 32389bae-6d03-0410-99cf-db05cde120eb --- app-admin/eselect-mpi/ChangeLog | 4 + app-admin/eselect-mpi/Manifest | 7 +- app-admin/eselect-mpi/eselect-mpi-0.0.1.ebuild | 24 --- app-admin/eselect-mpi/eselect-mpi-0.0.2.ebuild | 24 --- app-admin/eselect-mpi/eselect-mpi-0.0.3.ebuild | 23 +++ app-admin/eselect-mpi/files/mpi.eselect-0.0.1 | 235 ------------------------ app-admin/eselect-mpi/files/mpi.eselect-0.0.2 | 237 ------------------------- eclass/mpi.eclass | 2 +- 8 files changed, 30 insertions(+), 526 deletions(-) delete mode 100644 app-admin/eselect-mpi/eselect-mpi-0.0.1.ebuild delete mode 100644 app-admin/eselect-mpi/eselect-mpi-0.0.2.ebuild create mode 100644 app-admin/eselect-mpi/eselect-mpi-0.0.3.ebuild delete mode 100644 app-admin/eselect-mpi/files/mpi.eselect-0.0.1 delete mode 100644 app-admin/eselect-mpi/files/mpi.eselect-0.0.2 diff --git a/app-admin/eselect-mpi/ChangeLog b/app-admin/eselect-mpi/ChangeLog index fadac87aa..c13bd7e73 100644 --- a/app-admin/eselect-mpi/ChangeLog +++ b/app-admin/eselect-mpi/ChangeLog @@ -2,6 +2,10 @@ # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 01 Apr 2008; Justin Bronder ChangeLog: + Remove old versions. Add support for both sh and csh style shells. Remove + old versions (0.0.1, 0.0.2). + 29 Feb 2008; Justin Bronder ChangeLog: Initial import diff --git a/app-admin/eselect-mpi/Manifest b/app-admin/eselect-mpi/Manifest index 22a86472e..bdc4ee9bf 100644 --- a/app-admin/eselect-mpi/Manifest +++ b/app-admin/eselect-mpi/Manifest @@ -1,5 +1,2 @@ -AUX mpi.eselect-0.0.1 5906 RMD160 50fe1e3bbd33b53ff1e991559833fdc1d3a29786 SHA1 d50f55983ae7b04ac307ee8d0f76f11796116dcb SHA256 75371c29d48487f8271cc7cd52ee433f01ba902e1977cad34cb0816164e52835 -AUX mpi.eselect-0.0.2 6241 RMD160 8d156a0c6f4a0726b58f23f7e61ea0ae443529ad SHA1 a8da7af051d30fe039d850fab306bcf12bb133b7 SHA256 a5c98c1af12145b489f9c7ef5bb7c822e835496d9024b2e6a00246cc4382f92b -EBUILD eselect-mpi-0.0.1.ebuild 471 RMD160 a0ebe2dd4b15145b4b59ba3315e024bc40d5c666 SHA1 3ea3e291035938ea60cd6317d567dd4a6bbe8bcf SHA256 2b8e45415133a5c7af1c83b088e68a01e7a7671e0e1ad300fd73f5a567ed797f -EBUILD eselect-mpi-0.0.2.ebuild 471 RMD160 a0ebe2dd4b15145b4b59ba3315e024bc40d5c666 SHA1 3ea3e291035938ea60cd6317d567dd4a6bbe8bcf SHA256 2b8e45415133a5c7af1c83b088e68a01e7a7671e0e1ad300fd73f5a567ed797f -MISC ChangeLog 204 RMD160 2942e0f3e4c22cc4de7fbd3cac7c4782a9a1277b SHA1 6f370d97e1ba7f201511f9076be8792b2f4a7681 SHA256 61111109097ea69c5124a0297fe5776115fae9e60e3097eaa9e966a1e3586f30 +EBUILD eselect-mpi-0.0.3.ebuild 499 RMD160 02f66b2bcd2272e50dc1367cad7b07ee0e45b0af SHA1 a21fb1f8d18dd5361b85038ef604652f298397a2 SHA256 a6c8e847ae8d0891022494a6833168606b8b26dd9df5f72fd533a942b8e7b109 +MISC ChangeLog 378 RMD160 5df435e9f2ff9409dba31cd7e645fc794cdb7adf SHA1 aad5a2ad8e4bdfc3053c889ac08844675b5e04b6 SHA256 380c32841c8371e4f3ed025cdd0c6ffab9c56fe71871f059fbd4bac7f4bd32d8 diff --git a/app-admin/eselect-mpi/eselect-mpi-0.0.1.ebuild b/app-admin/eselect-mpi/eselect-mpi-0.0.1.ebuild deleted file mode 100644 index 7a6d8f600..000000000 --- a/app-admin/eselect-mpi/eselect-mpi-0.0.1.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -DESCRIPTION="eselect-mpi" -HOMEPAGE="localhost" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64" -IUSE="" - -DEPEND="app-admin/eselect" -RDEPEND="${DEPEND}" - -src_install() { - local MODULEDIR="/usr/share/eselect/modules" - local MODULE="mpi" - dodir ${MODULEDIR} - insinto ${MODULEDIR} - newins "${FILESDIR}"/${MODULE}.eselect-${PVR} ${MODULE}.eselect -} - diff --git a/app-admin/eselect-mpi/eselect-mpi-0.0.2.ebuild b/app-admin/eselect-mpi/eselect-mpi-0.0.2.ebuild deleted file mode 100644 index 7a6d8f600..000000000 --- a/app-admin/eselect-mpi/eselect-mpi-0.0.2.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -DESCRIPTION="eselect-mpi" -HOMEPAGE="localhost" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64" -IUSE="" - -DEPEND="app-admin/eselect" -RDEPEND="${DEPEND}" - -src_install() { - local MODULEDIR="/usr/share/eselect/modules" - local MODULE="mpi" - dodir ${MODULEDIR} - insinto ${MODULEDIR} - newins "${FILESDIR}"/${MODULE}.eselect-${PVR} ${MODULE}.eselect -} - diff --git a/app-admin/eselect-mpi/eselect-mpi-0.0.3.ebuild b/app-admin/eselect-mpi/eselect-mpi-0.0.3.ebuild new file mode 100644 index 000000000..762e3d5d9 --- /dev/null +++ b/app-admin/eselect-mpi/eselect-mpi-0.0.3.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="eselect-mpi" +HOMEPAGE="http://www.gentoo.org/proj/en/eselect/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64" +IUSE="" + +DEPEND="app-admin/eselect" +RDEPEND="${DEPEND}" + +src_install() { + local MODULEDIR="/usr/share/eselect/modules" + local MODULE="mpi" + dodir ${MODULEDIR} + insinto ${MODULEDIR} + newins "${FILESDIR}"/${MODULE}.eselect-${PVR} ${MODULE}.eselect +} diff --git a/app-admin/eselect-mpi/files/mpi.eselect-0.0.1 b/app-admin/eselect-mpi/files/mpi.eselect-0.0.1 deleted file mode 100644 index 098110358..000000000 --- a/app-admin/eselect-mpi/files/mpi.eselect-0.0.1 +++ /dev/null @@ -1,235 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: $ - -DESCRIPTION="Manage MPI implementations" -MAINTAINER="jsbronder@gentoo.org" -SVN_DATE='$Date: $' -VERSION="0.0.1" - -inherit path-manipulation config - -# The basic idea is we want to allow every use to select their own mpi -# implementation they want, and a ${HOME}/.env.d/mpi file is created for them. -# A user then is -required- to source the env file. This sets PATH, MANPATH, -# and LD_LIBRARY_PATH. I'm sure I'm forgetting something here. -# Calling unset only wipes out the env file, replacing it with what we -# previously added stripped out. - -# If you can think of a better way to do this, while still allowing user's -# freedom, please let me know. - -# List the valid mpi implementations currently installed. -find_implementations() { - local imps - for f in ${ROOT}/etc/env.d/mpi/*; do - [[ -f ${f} ]] || continue - f=$(basename ${f}) - [[ "${f#mpi-}" == "${f}" ]] && continue - imps=(${imps[@]} ${f}) - done - echo ${imps[@]} -} - -# User's current environment has the implementation configured in it. -is_in_use() { [ "${ESELECT_MPI_IMP}" == "${1}" ]; } - -# User's env file is ready for sourcing for this implementation. -is_enabled() { - [ "$(var_from_user_envd ESELECT_MPI_IMP)" == "${1}" ] -} - -var_from_user_envd(){ - [ ! -f ${user_ev} ] && return 0 - echo "$(source ${user_ev}; echo ${!1})" -} - -# Is this a valid implementation? -is_implementation() { - local imps=$(find_implementations) - for i in ${imps[@]}; do - [[ "${i}" == "${1}" ]] && return 0 - done - return 1 -} - -init() { - local d - [[ ${UID} -eq 0 ]] && HOME="${ROOT}/root" - d="$(canonicalise "${ROOT}/${HOME}")" - user_ev="${d}/.env.d/mpi"; - - if [[ ! -d "${d}" ]]; then - mkdir "${d}" || die -q "Failed to create ${d}." - elif [[ ! -w "${d}" ]]; then - die -q "You do not have permission to mkdir ${d}." - fi - [[ -f "${f}" && ! -w "${f}" ]] && die -q "You do not have permission to write to ${f}." -} - -global_env() { - local d=$(canonicalise "${ROOT}/etc/env.d/mpi/${1}") - [ -z "${d}" ] && die "Cannot find global env file for ${1}" - ev=${d} -} - -clean_var() { - local imp v - local value="${!1}" - local d="$(canonicalise "${ROOT}/etc/env.d/mpi/${imp}")" - [ -z "${value}" ] && return 0 - [ -z "${d}" ] && continue - - for imp in $(find_implementations); do - v=$(load_config ${d}/${imp} ${1}) - [ -z "${v}" ] && continue - value="$(echo ${value} | sed -e "s|${v}:||g")" - done - echo ${value} -} - - -### list action ### - -describe_list() { echo "List available implementations"; } -describe_list_parameters() { echo "[-p]"; } - -do_list() { - imps=( $(find_implementations) ) - init - if [[ ${@} == *-p* ]]; then - echo "${imps[@]}" - else - write_list_start "Available MPI implementations:" - if [[ -n "${imps[@]}" ]]; then - for (( i=0; i<${#imps[@]}; i++ )); do - if is_in_use ${imps[$i]} && is_enabled ${imps[$i]}; then - write_kv_list_entry "${imps[$i]}" "Enabled, In Use" - elif is_in_use ${imps[$i]}; then - write_kv_list_entry "${imps[$i]}" "In Use" - elif is_enabled ${imps[$i]}; then - write_kv_list_entry "${imps[$i]}" "Enabled" - else - write_kv_list_entry "${imps[$i]}" "--" - fi - done - else - write_kv_list_entry "(none found)" "" - fi - fi - return 0 -} - - -### set action ### - -describe_set() { - echo "Select a MPI implementation." -} - -describe_set_parameters() { - echo "" -} - -do_set() { - local binpath lld manpath - - init - global_env ${1} - - [[ -z ${1} ]] && die -q "You didnt specifiy any implementation for use." - [[ ${#@} -ne 1 ]] && die -q "You may only select exactly one implementation." - ! is_implementation ${1} && die -q "${1} is not an implementation." - is_enabled ${1} && return 0 - - binpath="$(load_config ${ev} PATH):$(clean_var PATH)" - lld="$(load_config ${ev} LD_LIBRARY_PATH):$(clean_var LD_LIBRARY_PATH)" - manpath="$(load_config ${ev} MANPATH):$(clean_var MANPATH)" - -cat <<-EOF >${user_ev} -PATH="${binpath}" -MANPATH="${manpath}" -LD_LIBRARY_PATH="${lld}" -ESELECT_MPI_IMP="${1}" -export LD_LIBRARY_PATH -export PATH -export MANPATH -export ESELECT_MPI_IMP -EOF - echo "Remember to source ${user_ev}" -} - - -### unset action ### -describe_unset() { - echo "Restore MPI-less environment." -} - -do_unset() { - local binpath lld manpath - - init - - binpath="$(clean_var PATH)" - lld="$(clean_var LD_LIBRARY_PATH)" - manpath="$(clean_var MANPATH)" -cat <<-EOF >${user_ev} -PATH="${binpath}" -MANPATH="${manpath}" -LD_LIBRARY_PATH="${lld}" -export LD_LIBRARY_PATH -export PATH -export MANPATH -unset ESELECT_MPI_IMP -EOF - echo "Remember to source ${user_ev}" -} - -### add action (from skel pretty much) -describe_add() { - echo "Add a new mpi implementation" -} - -describe_add_parameters() { - echo "" -} - -do_add() { - local imp - [[ ${#@} -ne 1 ]] \ - && die -q "Bad arguments, use: mpi add /some/full/path/.eselect" - - # If $D is set, we're adding from portage so we want to respect sandbox. - # Otherwise, respect the ROOT variable. - local PREFIX=${D:-${ROOT}/} - - # Create directory if necessary - if [[ ! -e ${PREFIX}/etc/env.d/mpi/ ]]; then - mkdir -p ${PREFIX}/etc/env.d/mpi/ - else - if [[ ! -d ${PREFIX}/etc/env.d/mpi/ ]]; then - die -q "${PREFIX}/etc/env.d/mpi/ exists but isn't a directory!" - fi - fi - - imp=$(basename ${1}); imp=${imp%.eselect} - if ! cp ${1} ${PREFIX}/etc/env.d/mpi/${imp}; then - die -q "Installing ${1} as ${PREFIX}/etc/env.d/mpi/${imp} failed!" - fi -} - - -### printvar action ### -describe_printvar() { echo "Print variables stored in global env.d file."; } -describe_printvar_parameters() { echo " "; } - -do_printvar() { - if [[ ${#@} -ne 2 ]] \ - || ! is_implementation ${1}; then - die -q "Specify exactly 1 implementation and 1 variable." - fi - global_env ${1} - echo "$(load_config ${ev} ${2})" -} - -# vim: set ft=eselect : diff --git a/app-admin/eselect-mpi/files/mpi.eselect-0.0.2 b/app-admin/eselect-mpi/files/mpi.eselect-0.0.2 deleted file mode 100644 index 4f000c9df..000000000 --- a/app-admin/eselect-mpi/files/mpi.eselect-0.0.2 +++ /dev/null @@ -1,237 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: $ - -DESCRIPTION="Manage MPI implementations" -MAINTAINER="jsbronder@gentoo.org" -SVN_DATE='$Date: $' -VERSION="0.0.2" - -inherit path-manipulation config - -# The basic idea is we want to allow every use to select their own mpi -# implementation they want, and a ${HOME}/.env.d/mpi file is created for them. -# A user then is -required- to source the env file. This sets PATH, MANPATH, -# and LD_LIBRARY_PATH. I'm sure I'm forgetting something here. -# Calling unset only wipes out the env file, replacing it with what we -# previously added stripped out. - -# If you can think of a better way to do this, while still allowing user's -# freedom, please let me know. - -# List the valid mpi implementations currently installed. -find_implementations() { - local imps - for f in ${ROOT}/etc/env.d/mpi/*; do - [[ -f ${f} ]] || continue - f=$(basename ${f}) - [[ "${f#mpi-}" == "${f}" ]] && continue - imps=(${imps[@]} ${f}) - done - echo ${imps[@]} -} - -# User's current environment has the implementation configured in it. -is_in_use() { [ "${ESELECT_MPI_IMP}" == "${1}" ]; } - -# User's env file is ready for sourcing for this implementation. -is_enabled() { - [ "$(var_from_user_envd ESELECT_MPI_IMP)" == "${1}" ] -} - -var_from_user_envd(){ - [ ! -f ${user_ev} ] && return 0 - echo "$(source ${user_ev}; echo ${!1})" -} - -# Is this a valid implementation? -is_implementation() { - local imps=$(find_implementations) - for i in ${imps[@]}; do - [[ "${i}" == "${1}" ]] && return 0 - done - return 1 -} - -init() { - local d - [[ ${UID} -eq 0 ]] && HOME="${ROOT}/root" - d="$(canonicalise "${ROOT}/${HOME}")" - d="${d}/.env.d/" - user_ev="${d}mpi"; - - if [[ ! -d "${d}" ]]; then - mkdir "${d}" || die -q "Failed to create ${d}." - elif [[ ! -w "${d}" ]]; then - die -q "You do not have permission to mkdir ${d}." - fi - [[ -f "${user_ev}" && ! -w "${user_ev}" ]] \ - && die -q "You do not have permission to write to ${user_ev}." -} - -global_env() { - local d=$(canonicalise "${ROOT}/etc/env.d/mpi/${1}") - [ -z "${d}" ] && die "Cannot find global env file for ${1}" - ev=${d} -} - -clean_var() { - local imp v - local value="${!1}" - local d="$(canonicalise "${ROOT}/etc/env.d/mpi/${imp}")" - [ -z "${value}" ] && return 0 - [ -z "${d}" ] && continue - - for imp in $(find_implementations); do - v=$(load_config ${d}/${imp} ${1}) - [ -z "${v}" ] && continue - value="$(echo ${value} | sed -e "s|${v}:||g")" - done - echo ${value} -} - - -### list action ### - -describe_list() { echo "List available implementations"; } -describe_list_parameters() { echo "[-p]"; } - -do_list() { - imps=( $(find_implementations) ) - init - if [[ ${@} == *-p* ]]; then - echo "${imps[@]}" - else - write_list_start "Available MPI implementations:" - if [[ -n "${imps[@]}" ]]; then - for (( i=0; i<${#imps[@]}; i++ )); do - if is_in_use ${imps[$i]} && is_enabled ${imps[$i]}; then - write_kv_list_entry "${imps[$i]}" "Enabled, In Use" - elif is_in_use ${imps[$i]}; then - write_kv_list_entry "${imps[$i]}" "In Use" - elif is_enabled ${imps[$i]}; then - write_kv_list_entry "${imps[$i]}" "Enabled" - else - write_kv_list_entry "${imps[$i]}" "--" - fi - done - else - write_kv_list_entry "(none found)" "" - fi - fi - return 0 -} - - -### set action ### - -describe_set() { - echo "Select a MPI implementation." -} - -describe_set_parameters() { - echo "" -} - -do_set() { - local binpath lld manpath - - init - global_env ${1} - - [[ -z ${1} ]] && die -q "You didnt specifiy any implementation for use." - [[ ${#@} -ne 1 ]] && die -q "You may only select exactly one implementation." - ! is_implementation ${1} && die -q "${1} is not an implementation." - is_enabled ${1} && return 0 - - binpath="$(load_config ${ev} PATH):$(clean_var PATH)" - lld="$(load_config ${ev} LD_LIBRARY_PATH):$(clean_var LD_LIBRARY_PATH)" - manpath="$(load_config ${ev} MANPATH):$(clean_var MANPATH)" - -cat <<-EOF >${user_ev} -PATH="${binpath}" -MANPATH="${manpath}" -LD_LIBRARY_PATH="${lld}" -ESELECT_MPI_IMP="${1}" -export LD_LIBRARY_PATH -export PATH -export MANPATH -export ESELECT_MPI_IMP -EOF - echo "Remember to source ${user_ev}" -} - - -### unset action ### -describe_unset() { - echo "Restore MPI-less environment." -} - -do_unset() { - local binpath lld manpath - - init - - binpath="$(clean_var PATH)" - lld="$(clean_var LD_LIBRARY_PATH)" - manpath="$(clean_var MANPATH)" -cat <<-EOF >${user_ev} -PATH="${binpath}" -MANPATH="${manpath}" -LD_LIBRARY_PATH="${lld}" -export LD_LIBRARY_PATH -export PATH -export MANPATH -unset ESELECT_MPI_IMP -EOF - echo "Remember to source ${user_ev}" -} - -### add action (from skel pretty much) -describe_add() { - echo "Add a new mpi implementation" -} - -describe_add_parameters() { - echo "" -} - -do_add() { - local imp - [[ ${#@} -ne 1 ]] \ - && die -q "Bad arguments, use: mpi add /some/full/path/.eselect" - - # If $D is set, we're adding from portage so we want to respect sandbox. - # Otherwise, respect the ROOT variable. - local PREFIX=${D:-${ROOT}/} - - # Create directory if necessary - if [[ ! -e ${PREFIX}/etc/env.d/mpi/ ]]; then - mkdir -p ${PREFIX}/etc/env.d/mpi/ - else - if [[ ! -d ${PREFIX}/etc/env.d/mpi/ ]]; then - die -q "${PREFIX}/etc/env.d/mpi/ exists but isn't a directory!" - fi - fi - - imp=$(basename ${1}); imp=${imp%.eselect} - if ! cp ${1} ${PREFIX}/etc/env.d/mpi/${imp}; then - die -q "Installing ${1} as ${PREFIX}/etc/env.d/mpi/${imp} failed!" - fi -} - - -### printvar action ### -describe_printvar() { echo "Print variables stored in global env.d file."; } -describe_printvar_parameters() { echo " "; } - -do_printvar() { - if [[ ${#@} -ne 2 ]] \ - || ! is_implementation ${1}; then - die -q "Specify exactly 1 implementation and 1 variable." - fi - global_env ${1} - echo "$(load_config ${ev} ${2})" -} - -# vim: set ft=eselect : diff --git a/eclass/mpi.eclass b/eclass/mpi.eclass index 8e59f5257..6f7eb0e81 100644 --- a/eclass/mpi.eclass +++ b/eclass/mpi.eclass @@ -134,7 +134,7 @@ get_imp() { } get_mpi_dir() { - if is_empi_build && is_imp ${CATEGORY}; then + if is_empi_imp_build || is_imp ${CATEGORY}; then echo "/usr/$(get_libdir)/mpi/${MPI_IMP}" fi } -- cgit v1.2.3-65-gdbad