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 (-22 / +40 lines)
Lines 4-9 Link Here
4
4
5
inherit eutils versionator
5
inherit eutils versionator
6
6
7
GUILE_PV="$(guile -v | sed -ne '/^[Gg]uile/{s|.* \([0-9]\+\.[0-9]\+\).*|\1|;p}')"
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 39-51 Link Here
39
	epatch "${FILESDIR}"/"${P}"-backport-texlive-5-fix-and-other-changes.patch
41
	epatch "${FILESDIR}"/"${P}"-backport-texlive-5-fix-and-other-changes.patch
40
42
41
	sed -i 's|usr/lib|usr/share|' RScheme.init
43
	sed -i 's|usr/lib|usr/share|' RScheme.init
42
	sed -i 's|usr/local|usr/share|' gambit.init
44
	sed -i 's|local/lib/slib|share/slib|;s|local/share|share|' gambit.init
45
	sed -i 's|%site-dir|%library-dir|' guile-2.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
	if [[ ! "$1" =~ ^(guile|scm)$ ]]; then
101
		echo -n "(load \"${SCHEME_LIBRARY_PATH}$1.init\")"
102
	fi
103
	echo " (require 'new-catalog) (slib:report-version)"
93
}
104
}
94
105
95
pkg_postinst() {
106
pkg_postinst() {
107
	source "${ROOT}/etc/env.d/50slib"
108
96
	# permissions
109
	# permissions
97
	chmod 755 /usr/share/slib/*.sh
110
	chmod 755 ${SCHEME_LIBRARY_PATH}*.sh
98
111
99
	# catalogs
112
	# catalogs
100
	guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
113
	einfo "Updating implementation catalogs.."
114
	guile -c "(use-modules (ice-9 slib)) $(_new_catalog guile)" |& grep -i '^slib'
101
115
102
	if use bigloo ; then
116
	if use bigloo ; then
103
		bigloo -s -eval "(begin $(make_load_expression bigloo) (require 'new-catalog) (exit))"
117
		bigloo -s -eval "(begin $(_new_catalog bigloo) (exit))"
104
	fi
118
	fi
105
119
106
	if use drscheme ; then
120
	if use drscheme ; then
107
		mzscheme -vme "(begin $(make_load_expression mzscheme) (require 'new-catalog))"
121
		mzscheme -vme "(begin  $(_new_catalog mzscheme))"
108
	fi
122
	fi
109
123
110
	if use elk ; then
124
	if use elk ; then
111
		echo "$(make_load_expression elk) (require 'new-catalog)" | elk -l -
125
		echo "$(_new_catalog elk)" | elk -l -
112
	fi
126
	fi
113
127
114
	if use gambit ; then
128
	if use gambit ; then
115
		gambit-interpreter -e "$(make_load_expression gambit) (require 'new-catalog)"
129
		gsi -e "$(_new_catalog gambit)"
116
	fi
130
	fi
117
131
118
	if use mit-scheme ; then
132
	if use mit-scheme ; then
119
		echo "(set! load/suppress-loading-message? #t) $(make_load_expression mitscheme) (require 'new-catalog)" | mit-scheme --batch-mode
133
		echo "(set! load/suppress-loading-message? #t) " \
134
			"$(_new_catalog mitscheme)" | mit-scheme --batch-mode
120
	fi
135
	fi
121
136
122
	if use scm ; then
137
	if use scm ; then
123
		scm -e "(require 'new-catalog)"
138
		scm -e "$(_new_catalog scm)"
124
	fi
139
	fi
125
}
140
}
126
141
127
pkg_prerm() {
142
pkg_postrm() {
128
    # temp
143
	# TODO: is slibcat being removed for bigloo drscheme mit-scheme (?)
129
    [[ -d "${ROOT}/usr/share/guile/site/2.0/" ]] && rm -rf "${ROOT}/usr/share/guile/site/2.0/"
144
	for impl in 'guile/*' bigloo drscheme elk gambc mit-scheme scm; do
145
		rm -f "${ROOT}/usr/"lib*/${impl}/slibcat \
146
			"${ROOT}/usr/share/"${impl}/slibcat
147
	done
130
}
148
}

Return to bug 537306