diff options
author | 2018-11-22 19:44:57 +0100 | |
---|---|---|
committer | 2018-11-22 19:44:57 +0100 | |
commit | 5b211b27864e3a1dce295b7e9d1840c8e9cc8374 (patch) | |
tree | ebec8ce385a88a1d2796e8e50d9838116671efe5 /app-eselect | |
parent | onedrive-2.1.5 and -2.1.6 (diff) | |
download | dlang-5b211b27864e3a1dce295b7e9d1840c8e9cc8374.tar.gz dlang-5b211b27864e3a1dce295b7e9d1840c8e9cc8374.tar.bz2 dlang-5b211b27864e3a1dce295b7e9d1840c8e9cc8374.zip |
stabilization sweep
Diffstat (limited to 'app-eselect')
3 files changed, 1 insertions, 263 deletions
diff --git a/app-eselect/eselect-dlang/eselect-dlang-20160606-r1.ebuild b/app-eselect/eselect-dlang/eselect-dlang-20160606-r1.ebuild deleted file mode 100644 index 0d7e4ac..0000000 --- a/app-eselect/eselect-dlang/eselect-dlang-20160606-r1.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Eselect module for management of multiple D versions" -HOMEPAGE="https://github.com/gentoo-dlang" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" -IUSE="" - -RDEPEND="app-admin/eselect !app-admin/eselect-dlang" -DEPEND="" - -S="${FILESDIR}" - -src_install() { - insinto /usr/share/eselect/modules - newins dlang.eselect-${PV} dlang.eselect - dodir /usr/include/dlang -} diff --git a/app-eselect/eselect-dlang/eselect-dlang-20181021.ebuild b/app-eselect/eselect-dlang/eselect-dlang-20181021.ebuild index af360be..8e8c73c 100644 --- a/app-eselect/eselect-dlang/eselect-dlang-20181021.ebuild +++ b/app-eselect/eselect-dlang/eselect-dlang-20181021.ebuild @@ -8,7 +8,7 @@ HOMEPAGE="https://github.com/gentoo-dlang" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" IUSE="" RDEPEND="app-admin/eselect" diff --git a/app-eselect/eselect-dlang/files/dlang.eselect-20160606 b/app-eselect/eselect-dlang/files/dlang.eselect-20160606 deleted file mode 100644 index 24ea35a..0000000 --- a/app-eselect/eselect-dlang/files/dlang.eselect-20160606 +++ /dev/null @@ -1,239 +0,0 @@ -# -*-eselect-*- vim: ft=eselect -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -inherit config - -DESCRIPTION="Manage D symlinks" -MAINTAINER="marco.leise@gmx.de" -VERSION="20150331" - -ETC_PATH="${EROOT}/etc" -COMPILER_PATH="${EROOT}/usr/bin" -MAN1_PATH="${EROOT}/usr/share/man/man1" -MAN5_PATH="${EROOT}/usr/share/man/man5" -INC_PATH="${EROOT}/usr/include/dlang" -CONFIG_FILE="${EROOT}/var/lib/dlang" -declare -A COMPILER_NAMES=([dmd]="Digital Mars D (dmd)" - [ldc2]="LLVM D2 (ldc2)") - - -### list action ### - -describe_list() { - echo "List installed D compilers by vendor (or all installed compilers)" -} - -describe_list_options() { - for compiler in ${!COMPILER_NAMES[@]}; do - printf "% -11s : List installed %s compilers\n" $compiler "${COMPILER_NAMES[$compiler]}" - done -} - -describe_list_parameters() { - echo "[<vendor>]" -} - -do_list() { - [[ $# -eq 1 ]] && has "$1" ${!COMPILER_NAMES[@]} || [[ $# -eq 0 ]] \ - || die -q "Syntax: eselect dlang list [$(compiler_options)]" - - for compiler in ${!COMPILER_NAMES[@]}; do - if [[ $# -eq 0 ]] || [[ $compiler == $1 ]]; then - write_list_start "Available ${COMPILER_NAMES[$compiler]} compilers:" - local targets=($(find_targets $compiler)) - local active="$(do_show $compiler)" - local mode="$(load_config "$CONFIG_FILE" $compiler)" - for ((i = 0; i < ${#targets[@]}; i++)); do - if [[ "${targets[$i]}" == "$active" ]]; then - if [[ "${mode:-auto}" == "auto" ]]; then - targets[$i]="$(highlight_marker "${targets[$i]}" auto)" - else - targets[$i]="$(highlight_marker "${targets[$i]}" manual)" - fi - fi - done - write_numbered_list -m "(none found)" "${targets[@]}" - echo - fi - done -} - - -### set action ### - -describe_set() { - echo "Set active version of D compilers" -} - -describe_set_options() { - for compiler in ${!COMPILER_NAMES[@]}; do - printf "% -11s : Set active %s compiler\n" $compiler "${COMPILER_NAMES[$compiler]}" - done -} - -describe_set_parameters() { - echo "<vendor>" -} - -do_set() { - [[ $# -eq 2 ]] && has "$1" ${!COMPILER_NAMES[@]} \ - || die -q "2 arguments required: eselect dlang set $(compiler_options) <version|index|\"auto\">" - - local targets=($(find_targets $1)) - local target="$2" - if [[ "$target" == "auto" ]]; then - local autoTarget="${targets[$((${#targets[@]} - 1))]}" - if [[ -n "${targets[$(($target - 1))]}" ]]; then - target="$autoTarget" - fi - elif is_number "$2" && [[ $2 -ge 1 ]]; then - local idxToTarget="${targets[$(($target - 1))]}" - if [[ -n "${targets[$(($target - 1))]}" ]]; then - target="$idxToTarget" - fi - fi - - has "$target" "${targets[@]}" || die -q "Invalid or unavailable target" - if [[ "$2" == "auto" ]]; then - echo -n "Switching $1 to always latest version, currently $target..." - else - echo -n "Switching $1 to $target..." - fi - - case $1 in - dmd) - symlink_helper "${EROOT}/opt/dmd-${target}/bin/dmd" "${COMPILER_PATH}/dmd" - symlink_helper "${EROOT}/opt/dmd-${target}/bin/dmd.conf" "${ETC_PATH}/dmd.conf" - symlink_helper "${EROOT}/opt/dmd-${target}/import" "${INC_PATH}/dmd" - [[ -d ${MAN1_PATH} ]] && symlink_helper "/opt/dmd-${target}/man/man1/dmd.1" "${MAN1_PATH}/dmd.1" - [[ -d ${MAN5_PATH} ]] && symlink_helper "/opt/dmd-${target}/man/man5/dmd.conf.5" "${MAN5_PATH}/dmd.conf.5" - ;; - ldc2) - symlink_helper "${EROOT}/opt/ldc2-${target}/bin/ldc2" "${COMPILER_PATH}/ldc2" - symlink_helper "${EROOT}/opt/ldc2-${target}/bin/ldmd2" "${COMPILER_PATH}/ldmd2" - symlink_helper "${EROOT}/opt/ldc2-${target}/include/d" "${INC_PATH}/ldc" - ;; - esac - store_config "$CONFIG_FILE" $1 "$2" - - echo " done" -} - - -### show action ### - -describe_show() { - echo "Show active D compiler by vendor" -} - -describe_show_options() { - for compiler in ${!COMPILER_NAMES[@]}; do - printf "% -11s : Show active %s compiler\n" $compiler "${COMPILER_NAMES[$compiler]}" - done -} - -describe_show_parameters() { - echo "<vendor>" -} - -do_show() { - [[ $# -eq 1 ]] && has "$1" ${!COMPILER_NAMES[@]} \ - || die -q "1 argument required: eselect dlang show $(compiler_options)" - - local interpreter="$(readlink "${COMPILER_PATH}/$1" | sed "s#^/opt/$1-##;s#/bin/$1\$##")" - [[ -n "$interpreter" ]] && echo "$interpreter" -} - - -### update action ### - -describe_update() { - echo "Update active D compilers to the latest installed version in absense of a manually set version" -} - -describe_update_options() { - for compiler in ${!COMPILER_NAMES[@]}; do - printf "% -11s : Update active %s compiler\n" $compiler "${COMPILER_NAMES[$compiler]}" - done -} - -describe_update_parameters() { - echo "<vendor>" -} - -do_update() { - [[ $# -eq 1 ]] && has "$1" ${!COMPILER_NAMES[@]} \ - || die -q "1 argument required: eselect dlang update $(compiler_options)" - - local targets=($(find_targets $1)) - if [[ ${#targets[@]} -eq 0 ]]; then - # No compiler avalable, remove symlinks - echo "No installed ${COMPILER_NAMES[$1]} compilers. Removing any existing symlinks." - case $1 in - dmd) - rm -f "${COMPILER_PATH}/dmd" - rm -f "${ETC_PATH}/dmd.conf" - rm -f "${MAN1_PATH}/dmd.1" - rm -f "${MAN5_PATH}/dmd.conf.5" - ;; - ldc2) - rm -f "${COMPILER_PATH}/ldc2" - rm -f "${COMPILER_PATH}/ldmd2" - ;; - esac - else - # Check if the active compiler is actually available, update otherwise - local compiler=$1 - local active="$(do_show $compiler)" - local latest="${targets[$((${#targets[@]} - 1))]}" - local mode="$(load_config "$CONFIG_FILE" $compiler)" - if [[ "$active" == "" ]]; then - # First installation of a compiler - do_set $compiler auto - elif ! has "$active" "${targets[@]}"; then - # Active compiler is no longer valid (uninstalled), switch to "auto" - echo "Switching $1 from uninstalled version '$active' to '$latest'" - do_set $compiler auto - elif [[ "${mode:-auto}" == "auto" ]] && [[ "$active" != "$latest" ]]; then - # Active compiler was set to auto and we have a more recent version - echo "Updating active $1 version from '$active' to '$latest'" - do_set $compiler auto - fi - fi -} - - -### helper functions ### - -# Find a list of D versions -find_targets() { - case "$1" in - dmd) - ls /opt/dmd-?.???/bin/dmd 2> /dev/null | sed "s#^/opt/dmd-##;s#/.*##" - ;; - ldc2) - ls /opt/ldc2-?.*/bin/ldc2 2> /dev/null | sed "s#^/opt/ldc2-##;s#/.*##" - ;; - *) - die "Unknown compiler '$1'" - esac -} - -# Creates a symlink or prints a message and quits on error -symlink_helper() { - local link="$(canonicalise "$1")" - ln -nfs "$link" "$2" || die -q "Couldn't symlink '$link' as '$2'!" -} - -# Prints compilers as argument options <comp1|comp2|...> -compiler_options() { - local additional=0 - echo -n "<" - for compiler in ${!COMPILER_NAMES[@]}; do - [[ $additional -eq 1 ]] && echo -n "|" - echo -n $compiler - additional=1 - done - echo -n ">" -} |