Add electron eselect and update electron-bin meta a bit to produce cleaner install
This commit is contained in:
parent
ebcd27f260
commit
53e8a3595b
23
app-eselect/eselect-electron/eselect-electron-2.2.ebuild
Normal file
23
app-eselect/eselect-electron/eselect-electron-2.2.ebuild
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 2019 rexy712
|
||||||
|
# Distributed under the terms of the GNU General Public License v3
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
DESCRIPTION="Manages versions of electron executables"
|
||||||
|
HOMEPAGE="https://www.gentoo.org/"
|
||||||
|
SRC_URI=""
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
DEPEND="app-admin/eselect"
|
||||||
|
RDEPEND=""
|
||||||
|
|
||||||
|
S="${FILESDIR}"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/share/eselect/modules
|
||||||
|
newins "${FILESDIR}"/electron-${PV}.eselect electron.eselect
|
||||||
|
}
|
||||||
80
app-eselect/eselect-electron/files/electron-2.2.eselect
Normal file
80
app-eselect/eselect-electron/files/electron-2.2.eselect
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
inherit config
|
||||||
|
|
||||||
|
DESCRIPTION="Manage electron versions"
|
||||||
|
MAINTAINER="rexerton.rexy@tutamail.com"
|
||||||
|
VERSION="2.2"
|
||||||
|
|
||||||
|
USR_PATH="${EROOT%/}/usr"
|
||||||
|
|
||||||
|
active_slot() {
|
||||||
|
if [ -h "${USR_PATH}/bin/electron" ];then
|
||||||
|
readlink "${USR_PATH}/bin/electron" | xargs basename
|
||||||
|
else
|
||||||
|
echo "(none)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
get_slots() {
|
||||||
|
local found_slots=()
|
||||||
|
for slot in $(find "${USR_PATH}/bin" -mindepth 1 -maxdepth 1 \( -type f -o -type l \) -regex "${USR_PATH}"'/bin/electron\(-bin\)?-[1-9][0-9.]+\(-r[1-9]+\)?$');do
|
||||||
|
[ -x "${slot}" ] && found_slots+=( "${slot##*/}" )
|
||||||
|
done
|
||||||
|
echo ${found_slots[@]}
|
||||||
|
}
|
||||||
|
|
||||||
|
describe_list() {
|
||||||
|
echo "List available electron slots"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_list() {
|
||||||
|
write_list_start "Available electron slots"
|
||||||
|
if $(is_output_mode brief);then
|
||||||
|
echo $(get_slots)
|
||||||
|
else
|
||||||
|
i=1
|
||||||
|
for slot in $(get_slots);do
|
||||||
|
case "${slot}" in
|
||||||
|
"$(active_slot)" )
|
||||||
|
write_kv_list_entry "$i) $(highlight_marker ${slot})";;
|
||||||
|
*)
|
||||||
|
write_kv_list_entry "$i) ${slot}";;
|
||||||
|
esac
|
||||||
|
i=$((i+1))
|
||||||
|
done
|
||||||
|
[ -z "$(get_slots)" ] && write_warning_msg "No slots available."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
describe_show() {
|
||||||
|
echo "Get active slot"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_show() {
|
||||||
|
echo "$(active_slot)"
|
||||||
|
}
|
||||||
|
|
||||||
|
describe_set() {
|
||||||
|
echo "Set the symlink for the electron application"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_set() {
|
||||||
|
local selected="$1"
|
||||||
|
if [ -e "${USR_PATH}/bin/${selected}" ] && [[ "${selected}" =~ ^electron(-bin)?-[1-9][0-9.]+(-r[1-9]+)? ]];then
|
||||||
|
ln -sf "${USR_PATH}/bin/${selected}" "${USR_PATH}/bin/electron" || die
|
||||||
|
return
|
||||||
|
elif [[ "${selected}" =~ ^[1-9][0-9]*$ ]];then
|
||||||
|
slots=( $(get_slots) )
|
||||||
|
if [ "${selected}" -le ${#slots[@]} ];then
|
||||||
|
ln -sf "${USR_PATH}/bin/${slots[$((selected-1))]}" "${USR_PATH}/bin/electron" || die
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
die -q "Not a valid slot"
|
||||||
|
}
|
||||||
|
describe_unset() {
|
||||||
|
echo "Remove electron symlink"
|
||||||
|
}
|
||||||
|
do_unset() {
|
||||||
|
[ -h "${USR_PATH}/bin/electron" ] && rm /usr/bin/electron
|
||||||
|
}
|
||||||
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
# Copyright 1999-2019 Gentoo Authors
|
# Copyright 2019 rexy712
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v3
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
@ -50,11 +50,14 @@ RDEPEND="
|
|||||||
x11-libs/libXtst
|
x11-libs/libXtst
|
||||||
x11-libs/pango
|
x11-libs/pango
|
||||||
"
|
"
|
||||||
DEPEND="app-arch/unzip"
|
DEPEND="
|
||||||
|
app-arch/unzip
|
||||||
|
>=app-eselect/eselect-electron-2.2
|
||||||
|
"
|
||||||
|
|
||||||
S="${WORKDIR}"
|
S="${WORKDIR}"
|
||||||
|
|
||||||
OPTPATH="opt/${MY_PN}-${VERSION_MAJ}.${VERSION_MIN}"
|
OPTPATH="opt/${MY_PN}/${PN}-${VERSION_MAJ}.${VERSION_MIN}"
|
||||||
QA_PRESTRIPPED="${OPTPATH}/.*"
|
QA_PRESTRIPPED="${OPTPATH}/.*"
|
||||||
|
|
||||||
pkg_setup() {
|
pkg_setup() {
|
||||||
@ -74,5 +77,15 @@ src_install() {
|
|||||||
# Note: intentionally not using "doins" so that we preserve +x bits
|
# Note: intentionally not using "doins" so that we preserve +x bits
|
||||||
cp -r ./* "${ED}/${OPTPATH}" || die
|
cp -r ./* "${ED}/${OPTPATH}" || die
|
||||||
|
|
||||||
dosym "../../${OPTPATH}/electron" "/usr/bin/electron-${VERSION_MAJ}.${VERSION_MIN}"
|
dosym "../../${OPTPATH}/electron" "/usr/bin/${PN}-${VERSION_MAJ}.${VERSION_MIN}"
|
||||||
|
}
|
||||||
|
pkg_postinst() {
|
||||||
|
if [ "$(eselect electron show)" == "(none)" ];then
|
||||||
|
eselect electron set "${PN}-${VERSION_MAJ}.${VERSION_MIN}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
pkg_postrm() {
|
||||||
|
if [ "$(eselect electron show)" == "(none)" ];then
|
||||||
|
eselect electron set 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user