diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
| commit | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch) | |
| tree | 0d7a74b4463ee387f9cf9368ceb1b757f694f72a /app-eselect/eselect-zig | |
| parent | f716a9fe6455d39eef01e718aae68dae61c19704 (diff) | |
| download | baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip | |
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'app-eselect/eselect-zig')
| -rw-r--r-- | app-eselect/eselect-zig/eselect-zig-2.ebuild | 19 | ||||
| -rw-r--r-- | app-eselect/eselect-zig/files/zig.eselect-2 | 133 | ||||
| -rw-r--r-- | app-eselect/eselect-zig/metadata.xml | 13 |
3 files changed, 165 insertions, 0 deletions
diff --git a/app-eselect/eselect-zig/eselect-zig-2.ebuild b/app-eselect/eselect-zig/eselect-zig-2.ebuild new file mode 100644 index 000000000000..9ff5b3658881 --- /dev/null +++ b/app-eselect/eselect-zig/eselect-zig-2.ebuild @@ -0,0 +1,19 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Manages Zig versions" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +S="${WORKDIR}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" + +RDEPEND="app-admin/eselect" + +src_install() { + insinto /usr/share/eselect/modules/ + newins "${FILESDIR}"/zig.eselect-${PVR} zig.eselect +} diff --git a/app-eselect/eselect-zig/files/zig.eselect-2 b/app-eselect/eselect-zig/files/zig.eselect-2 new file mode 100644 index 000000000000..987c1a465e11 --- /dev/null +++ b/app-eselect/eselect-zig/files/zig.eselect-2 @@ -0,0 +1,133 @@ +# -*-eselect-*- vim: ft=eselect +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +DESCRIPTION="Manage Zig versions" +MAINTAINER="bratishkaerik@landless-city.net" +VERSION="2" + +show_selected_target() { + readlink "${EROOT}/usr/bin/zig" +} + +find_targets() { + local f name + for f in "${EROOT}"/usr/bin/zig-*; do + name="$(basename "${f}")" + + [[ "${name}" =~ ^zig(-bin)?-[[:digit:]] ]] || continue + [[ -x "${f}" ]] || continue + echo "${name}" + done +} + +remove_symlinks() { + rm "${EROOT}/usr/bin/zig" +} + +set_symlinks() { + local target="${1}" + if is_number "${target}"; then + local targets=( $(find_targets) ) + target="${targets[target - 1]}" + fi + + [[ -z "${target}" || ! -x "${EROOT}/usr/bin/${target}" ]] && + die -q "Target \"${1}\" doesn't appear to be valid!" + + ln -s "${target}" "${EROOT}/usr/bin/zig" +} + +### show action ### + +describe_show() { + echo "Show current Zig version" +} + +do_show() { + write_list_start "Current Zig version:" + if [[ -L "${EROOT}/usr/bin/zig" ]]; then + write_kv_list_entry "$(show_selected_target)" "" + else + write_kv_list_entry "(unset)" "" + fi +} + +### list action ### + +describe_list() { + echo "List available Zig versions" +} + +do_list() { + local targets=( $(find_targets) ) + local selected_target + selected_target=$(show_selected_target) + + write_list_start "Available Zig versions:" + for ((i = 0; i < ${#targets[@]}; i++)); do + [[ "${targets[i]}" == "${selected_target}" ]] && targets[i]="$(highlight_marker "${targets[i]}")" + done + write_numbered_list -m "(none found)" "${targets[@]}" +} + +### set action ### + +describe_set() { + echo "Set active Zig version" +} + +describe_set_parameters() { + echo "<target>" +} + +describe_set_options() { + echo "target: Target name or number (from 'list' action)" +} + +do_set() { + [[ -z "${1}" ]] && die -q "You need to specify a target" + [[ ${#} -gt 1 ]] && die -q "Too many parameters" + test_usr_bin_writeable + + if [[ -L "${EROOT}/usr/bin/zig" ]]; then + remove_symlinks || die -q "Couldn't remove symlink" + fi + set_symlinks "${1}" || die -q "Couldn't set a new symlink" +} + +### update action ### + +describe_update() { + echo "Automatically update the zig symlink" +} + +describe_update_options() { + echo "ifunset: Do not override currently set version" +} + +do_update() { + [[ -z "${1}" || "${1}" == ifunset ]] || die -q "Usage error" + [[ ${#} -gt 1 ]] && die -q "Too many parameters" + test_usr_bin_writeable + + if [[ -L "${EROOT}/usr/bin/zig" ]]; then + if [[ "${1}" == ifunset && -e "${EROOT}/usr/bin/zig" ]]; then + return + fi + remove_symlinks + elif [[ -e "${EROOT}/usr/bin/zig" ]]; then + die -q "\"${EROOT}/usr/bin/zig\" exists but is not a symlink" + fi + + local targets=( $(find_targets) ) + if [[ ${#targets[@]} -gt 0 ]]; then + set_symlinks "${targets[${#targets[@]} - 1]}" + fi +} + +### helper functions ### + +test_usr_bin_writeable() { + [[ -w "${EROOT}/usr/bin" ]] || die -q "\"${EROOT}/usr/bin\" not writeable by current user. Are you root?" +} diff --git a/app-eselect/eselect-zig/metadata.xml b/app-eselect/eselect-zig/metadata.xml new file mode 100644 index 000000000000..916315cd6499 --- /dev/null +++ b/app-eselect/eselect-zig/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>bratishkaerik@landless-city.net</email> + <name>Eric Joldasov</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <stabilize-allarches/> +</pkgmetadata> |
