aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Leise <marco.leise@gmx.de>2018-11-22 19:44:57 +0100
committerMarco Leise <marco.leise@gmx.de>2018-11-22 19:44:57 +0100
commit5b211b27864e3a1dce295b7e9d1840c8e9cc8374 (patch)
treeebec8ce385a88a1d2796e8e50d9838116671efe5 /app-eselect
parentonedrive-2.1.5 and -2.1.6 (diff)
downloaddlang-5b211b27864e3a1dce295b7e9d1840c8e9cc8374.tar.gz
dlang-5b211b27864e3a1dce295b7e9d1840c8e9cc8374.tar.bz2
dlang-5b211b27864e3a1dce295b7e9d1840c8e9cc8374.zip
stabilization sweep
Diffstat (limited to 'app-eselect')
-rw-r--r--app-eselect/eselect-dlang/eselect-dlang-20160606-r1.ebuild23
-rw-r--r--app-eselect/eselect-dlang/eselect-dlang-20181021.ebuild2
-rw-r--r--app-eselect/eselect-dlang/files/dlang.eselect-20160606239
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 ">"
-}