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 |
} |