summaryrefslogtreecommitdiff
blob: cda8942a39a13e64212de2d78f96aa3886542684 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/scsh.eclass,v 1.10 2012/11/27 12:50:40 ulm Exp $
#

inherit eutils multilib

SLOT="0"
IUSE="scsh"

scsh_scsh_path() {
	echo /usr/$(get_libdir)/scsh
}

set_layout() {
	if use scsh; then
		SCSH_LAYOUT=scsh
	else
		ewarn "No layout was specified via USE, defaulting to FHS."
		SCSH_LAYOUT=fhs
	fi
	export SCSH_LAYOUT
}

set_path_variables() {
	SCSH_VERSION="$(best_version 'app-shells/scsh')"
	SCSH_MV="${SCSH_VERSION%*.*}"
	SCSH_MV="${SCSH_MV//app-shells\/scsh-}"
	export SCSH_VERSION SCSH_MV

	case ${SCSH_LAYOUT} in
		fhs)
			SCSH_PREFIX=/usr
			SCSH_MODULES_PATH=/usr/share/scsh-${SCSH_MV}/modules
			;;
		scsh)
			SCSH_PREFIX=/usr/$(get_libdir)/scsh/modules
			SCSH_MODULES_PATH=/usr/$(get_libdir)/scsh/modules/${SCSH_MV}
			;;
	esac
	export SCSH_PREFIX SCSH_MODULES_PATH

	SCSH_LIB_DIRS='"'${SCSH_MODULES_PATH}'"'" "'"'$(scsh_scsh_path)'"'" "'"'.'"'
	export SCSH_LIB_DIRS
}

scsh_src_unpack() {
	set_layout
	set_path_variables
	einfo "Using ${SCSH_LAYOUT} layout"
	unpack ${A}
}

scsh_get_layout_conf() {
	SCSH_LAYOUT_CONF=" --build ${CHOST}
		--force
		--layout ${SCSH_LAYOUT}
		--prefix ${SCSH_PREFIX}
		--no-user-defaults
		--dest-dir ${D}"
	export SCSH_LAYOUT_CONF
}

scsh_src_compile() {
	scsh_get_layout_conf
}

scsh_src_install() {
	dodir ${SCSH_MODULES_PATH}
	scsh-install-pkg ${SCSH_LAYOUT_CONF} || die "./scsh-install-pkg failed"
}

EXPORT_FUNCTIONS src_unpack src_compile src_install