Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 537306 | Differences between
and this patch

Collapse All | Expand All

(-)/dev/fd/63 (-20 / +44 lines)
Lines 4-9 Link Here
4
4
5
inherit eutils versionator
5
inherit eutils versionator
6
6
7
GUILE_PV="$(guile -v | grep -Po '(?<=^[Gg]uile )([0-9]+\.[0-9]+)')"
8
7
#version magic thanks to masterdriverz and UberLord using bash array instead of tr
9
#version magic thanks to masterdriverz and UberLord using bash array instead of tr
8
trarr="0abcdefghi"
10
trarr="0abcdefghi"
9
MY_PV="$(get_version_component_range 1)${trarr:$(get_version_component_range 2):1}$(get_version_component_range 3)"
11
MY_PV="$(get_version_component_range 1)${trarr:$(get_version_component_range 2):1}$(get_version_component_range 3)"
Lines 16-27 Link Here
16
18
17
LICENSE="public-domain BSD"
19
LICENSE="public-domain BSD"
18
SLOT="0"
20
SLOT="0"
19
KEYWORDS="*"
21
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
20
IUSE="bigloo drscheme elk gambit mit-scheme scm"
22
IUSE="bigloo drscheme elk gambit mit-scheme scm"
21
23
22
RDEPEND="
24
RDEPEND="
23
	>=sys-apps/texinfo-5.0
25
	>=sys-apps/texinfo-5.0
24
	>=dev-scheme/guile-2.0.9
26
	>=dev-scheme/guile-1.8.8
25
27
26
	bigloo? ( dev-scheme/bigloo )
28
	bigloo? ( dev-scheme/bigloo )
27
	drscheme? ( dev-scheme/drscheme )
29
	drscheme? ( dev-scheme/drscheme )
Lines 33-51 Link Here
33
35
34
S=${WORKDIR}/${PN}-${MY_PV}
36
S=${WORKDIR}/${PN}-${MY_PV}
35
37
38
36
src_prepare() {
39
src_prepare() {
37
	# From Slib
40
	# From Slib
38
	# 	http://cvs.savannah.gnu.org/viewvc/slib/slib/
41
	# 	http://cvs.savannah.gnu.org/viewvc/slib/slib/
39
	epatch "${FILESDIR}"/"${P}"-backport-texlive-5-fix-and-other-changes.patch
42
	epatch "${FILESDIR}"/"${P}"-backport-texlive-5-fix-and-other-changes.patch
40
43
41
	sed -i 's|usr/lib|usr/share|' RScheme.init
44
	sed -i 's|usr/lib|usr/share|' RScheme.init
42
	sed -i 's|usr/local|usr/share|' gambit.init
45
	sed -i 's|local/lib/slib|share/slib|;s|local/share|share|' gambit.init
46
47
	local f="elk.init"
48
	local _f="$(r="^.require.*unix" ; grep -A 3 "$r" $f ; sed -e "/$r/,+3d" $f)"
49
	echo "$_f" > $f
43
}
50
}
44
51
45
src_configure() {
52
src_configure() {
46
	./configure --prefix=/usr --libdir=/usr/share
53
	./configure --prefix=/usr --libdir=/usr/share
47
54
48
	sed -i -e 's# scm$# guile#;s#ginstall-info#install-info#' -e 's/no-split -o/no-split --force -o/' Makefile
55
	sed -i Makefile \
56
		-e 's# scm$# guile#;s#ginstall-info#install-info#' \
57
		-e 's/no-split -o/no-split --force -o/'
49
}
58
}
50
59
51
src_compile() {
60
src_compile() {
Lines 66-71 Link Here
66
	doins *.sh
75
	doins *.sh
67
76
68
	# bin
77
	# bin
78
	dodir /usr/bin/
69
	dosym /usr/share/slib/${PN}.sh /usr/bin/${PN}
79
	dosym /usr/share/slib/${PN}.sh /usr/bin/${PN}
70
80
71
	# env
81
	# env
Lines 74-130 Link Here
74
84
75
	# docs
85
	# docs
76
	dodoc ANNOUNCE COPYING FAQ README ChangeLog slib.{txt,html} || die
86
	dodoc ANNOUNCE COPYING FAQ README ChangeLog slib.{txt,html} || die
77
78
	doinfo slib.info || die
87
	doinfo slib.info || die
79
80
	doman slib.1 || die
88
	doman slib.1 || die
81
89
82
	# guile
90
	# guile
83
	dosym /usr/share/slib/ /usr/share/guile/2.0/
91
	dodir /usr/share/guile/${GUILE_PV}/
84
92
	dosym /usr/share/slib/ /usr/share/guile/${GUILE_PV}/
85
	dodir /usr/share/guile/site/2.0/
86
93
87
	# backwards compatibility
94
	# backwards compatibility
95
	dodir /usr/lib/
88
	dosym /usr/share/slib/ /usr/lib/slib
96
	dosym /usr/share/slib/ /usr/lib/slib
89
}
97
}
90
98
91
make_load_expression() {
99
_new_catalog() {
92
	echo "(load \\\"${EPREFIX}${INSTALL_DIR}$1.init\\\")"
100
	local impl="$1"
101
102
	if [[ "${impl}" == "guile" && "$(get_major_version ${GUILE_PV})" -gt "1" ]]; then
103
		impl="guile-$(get_major_version ${GUILE_PV})"
104
	fi
105
106
	if [[ ! "${impl}" =~ ^(guile.*|scm)$ ]]; then
107
		echo -n "(load \"${SCHEME_LIBRARY_PATH}${impl}.init\")"
108
	fi
109
	echo " (require 'new-catalog) (slib:report-version)"
93
}
110
}
94
111
95
pkg_postinst() {
112
pkg_postinst() {
113
	source "${ROOT}/etc/env.d/50slib"
114
	mkdir -p "${ROOT}/usr/share/guile/site/${GUILE_PV}/"
115
96
	# permissions
116
	# permissions
97
	chmod 755 /usr/share/slib/*.sh
117
	chmod 755 ${SCHEME_LIBRARY_PATH}*.sh
98
118
99
	# catalogs
119
	# catalogs
100
	guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
120
	einfo "Updating implementation catalogs.."
121
	guile -c "(use-modules (ice-9 slib)) $(_new_catalog guile)"
101
122
102
	if use bigloo ; then
123
	if use bigloo ; then
103
		bigloo -s -eval "(begin $(make_load_expression bigloo) (require 'new-catalog) (exit))"
124
		bigloo -s -eval "(begin $(_new_catalog bigloo) (exit))"
104
	fi
125
	fi
105
126
106
	if use drscheme ; then
127
	if use drscheme ; then
107
		mzscheme -vme "(begin $(make_load_expression mzscheme) (require 'new-catalog))"
128
		mzscheme -vme "(begin  $(_new_catalog mzscheme))"
108
	fi
129
	fi
109
130
110
	if use elk ; then
131
	if use elk ; then
111
		echo "$(make_load_expression elk) (require 'new-catalog)" | elk -l -
132
		echo "$(_new_catalog elk)" | elk -l -
112
	fi
133
	fi
113
134
114
	if use gambit ; then
135
	if use gambit ; then
115
		gambit-interpreter -e "$(make_load_expression gambit) (require 'new-catalog)"
136
		gsi -e "$(_new_catalog gambit)"
116
	fi
137
	fi
117
138
118
	if use mit-scheme ; then
139
	if use mit-scheme ; then
119
		echo "(set! load/suppress-loading-message? #t) $(make_load_expression mitscheme) (require 'new-catalog)" | mit-scheme --batch-mode
140
		echo "(set! load/suppress-loading-message? #t) " \
141
			"$(_new_catalog mitscheme)" | mit-scheme --batch-mode
120
	fi
142
	fi
121
143
122
	if use scm ; then
144
	if use scm ; then
123
		scm -e "(require 'new-catalog)"
145
		scm -e "$(_new_catalog scm)"
124
	fi
146
	fi
125
}
147
}
126
148
127
pkg_prerm() {
149
pkg_prerm() {
128
    # temp
150
    # temp
129
    [[ -d "${ROOT}/usr/share/guile/site/2.0/" ]] && rm -rf "${ROOT}/usr/share/guile/site/2.0/"
151
    if [[ -d "${ROOT}/usr/share/guile/site/${GUILE_VERSION}/" ]]; then
152
		rm -rf "${ROOT}/usr/share/guile/site/${GUILE_VERSION}/"
153
	fi
130
}
154
}

Return to bug 537306