public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in app-admin/eselect-lua/files: lua.eselect-1
@ 2014-04-22 21:31 Matti Bickel (mabi)
  0 siblings, 0 replies; 2+ messages in thread
From: Matti Bickel (mabi) @ 2014-04-22 21:31 UTC (permalink / raw
  To: gentoo-commits

mabi        14/04/22 21:31:35

  Added:                lua.eselect-1
  Log:
  Introduce slotted versions of lua. Use with eselect to define the "main" version.
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0xDDF971F118EEA5E6!)

Revision  Changes    Path
1.1                  app-admin/eselect-lua/files/lua.eselect-1

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/eselect-lua/files/lua.eselect-1?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/eselect-lua/files/lua.eselect-1?rev=1.1&content-type=text/plain

Index: lua.eselect-1
===================================================================
# -*-eselect-*-  vim: ft=eselect
# Copyright 2014-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

inherit config multilib

DESCRIPTION="Manage lua symlinks"
MAINTAINER="mabi@gentoo.org"

HEADER_FILES="lauxlib.h luaconf.h lua.h lua.hpp lualib.h"

remove_symlinks() {
	rm -f "${EROOT}"/usr/bin/{lua,luac} &>/dev/null 
	for dir in $(get_libdirs) ; do
		rm -f "${EROOT}"${dir}/liblua.so &>/dev/null && \
		rm -f "${EROOT}"${dir}/pkgconfig/lua.pc &>/dev/null
	done
	for f in $HEADER_FILES ; do
		rm -f "${EROOT}"/usr/include/$f
	done
	rm -f "${EROOT}"/usr/share/man/man1/{lua,luac}.1{,.gz,.bz2,.lzma} &>/dev/null
}

set_symlinks() {
	local ver=$1
	ln -s "${EROOT}"/usr/bin/lua{$ver,}
	ln -s "${EROOT}"/usr/bin/luac{$ver,}
	for dir in $(get_libdirs) ; do
		ln -s "${dir}"/liblua{$ver,}.so
		ln -s "${dir}"/pkgconfig/lua{$ver,}.pc
	done
	for orig in "${EROOT}"/usr/share/man/man1/lua*$ver.1* ; do
		ln -s "${orig}" "${orig//$ver}"
	done
	for f in $HEADER_FILES ; do
		ln -s "${EROOT}"/usr/include/lua$ver/$f "${EROOT}"/usr/include
	done
}

get_libdirs() {
	local dir libdirs
	for dir in $(list_libdirs); do
		[[ -L ${EROOT}/usr/${dir} ]] && continue
		ls "${EROOT}"/usr/${dir}/liblua*.* > /dev/null 2>&1 || continue

		libdirs+=' '/usr/${dir}
	done
	echo ${libdirs:-/usr/lib}
}

find_targets() {
	local dirs
	local prefix="${EROOT}/usr/bin/lua"
	for f in ${prefix}5* ; do
		dirs="${dirs} ${f##$prefix}"
	done
	echo $dirs
}

resolv_target() {
	local targets=( $(find_targets) )
	if is_number $1; then
		[[ $1 -le ${#targets[@]} && $1 -gt 0 ]] && echo "${targets[ $(( $1 - 1 )) ]}"
	elif has $1 ${targets[@]}; then
	  echo $1
	fi
}

get_active_version() {
	readlink -e "${EROOT}"/usr/bin/lua | sed -ne "s:.*/usr/bin/lua\([\d.-]*\):\1:p"
}

## Actual actions

## set action

describe_set() {
	echo "Sets the current version of lua"
}

describe_set_parameters() {
	echo '<target>'
}

describe_set_options() {
	echo 'target:	Target name or number (from "list" action)'
}


do_set() {
	local target=$(resolv_target $1)
	if [[ -z "${target}" ]]; then
	  die -q "You need to specify a version"
	fi
	remove_symlinks
	set_symlinks $target
}

## List action

describe_list() {
	echo 'Lists available lua versions'
}

do_list() {
	local targets
	local a
	targets=( $(find_targets) )
	a=$(get_active_version)
	for (( i = 0; i < ${#targets[@]}; i++ )) ; do
		[[ $a == ${targets[i]} ]] && targets[i]=$(highlight_marker "${targets[i]}")
	done
	write_numbered_list -m '(none found)' "${targets[@]}"
}

## Show action

describe_show() {
	echo 'Show the active lua version'
}

do_show() {
	get_active_version
}

## update action

describe_update() {
	echo 'Automatically update the lua version'
}

describe_update_options() {
	echo 'ifunset : Do not override existing implementation'
}

do_update() {
	[[ -n ${1} && ! ( ${1} == ifunset || ${1} == '--if-unset' ) ]] && \
		die -q 'Usage error'

	[[ ( ${1} == ifunset || ${1} == '--if-unset' ) && -n $(get_active_version) ]] && \
		return

	remove_symlinks
	
	local targets=( $(find_targets) )
	if [[ -n ${#targets[@]} ]] ; then
		local target=${targets[${#targets[@]} - 1]}
		set_symlinks $target || echo 'Nothing to update'
	fi
}





^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gentoo-commits] gentoo-x86 commit in app-admin/eselect-lua/files: lua.eselect-1
@ 2015-03-31 20:35 Ulrich Mueller (ulm)
  0 siblings, 0 replies; 2+ messages in thread
From: Ulrich Mueller (ulm) @ 2015-03-31 20:35 UTC (permalink / raw
  To: gentoo-commits

ulm         15/03/31 20:35:47

  Removed:              lua.eselect-1
  Log:
  Package move app-admin/eselect-* to app-eselect/eselect-*.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-03-31 20:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-31 20:35 [gentoo-commits] gentoo-x86 commit in app-admin/eselect-lua/files: lua.eselect-1 Ulrich Mueller (ulm)
  -- strict thread matches above, loose matches on Subject: below --
2014-04-22 21:31 Matti Bickel (mabi)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox