summaryrefslogtreecommitdiff
path: root/plt.spec
blob: 2786b02a0841ede01ab104d86dc5ffeadb353607 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
Summary:	PLT Scheme programming environment
Summary(pl):	Środowisko programistyczne PLT Scheme
Name:		plt
Version:	208
Release:	0.1
License:	LGPL
Group:		Development/Languages
Source0:	http://download.plt-scheme.org/bundles/%{version}/plt/%{name}-%{version}-src-unix.tgz
# Source0-md5:	0036e215d9402f7755b23cc875090f9e
Patch0:		%{name}-install.patch
URL:		http://www.drscheme.org/
BuildRequires:	expat-devel
BuildRequires:	fontconfig-devel
BuildRequires:	freetype-devel
BuildRequires:	libjpeg-devel
BuildRequires:	libpng-devel
BuildRequires:	libstdc++-devel
BuildRequires:	openssl-devel
BuildRequires:	zlib-devel
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
PLT Scheme is an umbrella name for a family of implementations of the
Scheme programming language.

%description -l pl
PLT Scheme jest wspólną nazwą dla rodziny implementacji języków
programowania Scheme.

%package mzscheme
Summary:	PLT Scheme implementation
Summary(pl):	Implementacja języka PLT Scheme
Group:		Development/Languages

%description mzscheme
MzScheme is the PLT Scheme implementation. It implements the language
as described in the Revised^5 Report on the Algorithmic Language
Scheme and adds numerous extensions.

%description mzscheme -l pl
MzScheme jest implementacją PLT Scheme. Implementuje język
zdefiniowany w raporcie Revised^5 algorytmicznego języka Scheme oraz
dodaje różne rozszerzenia.

%package mred
Summary:	PLT graphical Scheme implementation
Summary(pl):	Graficzna implementacja języka PLT Scheme
Group:		Development/Languages
Requires:	%{name}-mzscheme = %{version}-%{release}

%description mred
MrEd is the PLT's graphical Scheme implementation. It embeds and
extends MzScheme with a graphical user interface (GUI) toolbox.

%description mred -l pl
MrEd jest graificzną implementacją języka Scheme z PLT. Zawiera i
rozszerza MzScheme o zestaw narzędzi do graficznego interfejsu
użytkownika(GUI).

%package drscheme
Summary:	PLT Scheme graphical development environment
Summary(pl):	Graficzne środowisko programistyczne PLT Scheme
Group:		Development/Languages
Requires:	%{name}-mred = %{version}-%{release}

%description drscheme
DrScheme is the graphical development environment for creating
MzScheme and MrEd applications.

%description drscheme -l pl
DrScheme jest graficznym środowiskiem do tworzenia aplikacji MzScheme
i MrEd.

%package games
Summary:	Sample games from PLT Scheme
Summary(pl):	Przykładowe gry z projektu PLT Scheme
Group:		Applications/Games
Requires:	%{name}-mred = %{version}-%{release}

%description games
This package contains sample games from PLT Scheme project.

%description games -l pl
Pakiet zawiera przykładowe gry z projektu PLT Scheme.

%package help-desk
Summary:	Help desk for PLT Scheme
Summary(pl):	Pomoc dla PLT Scheme
Group:		Documentation
Requires:	%{name}-mred = %{version}-%{release}

%description help-desk
Help desk for PLT Scheme.

%description help-desk -l pl
Pakiet zawiera graficzną pomoc dla PLT Scheme.

%package slideshow
Summary:	Slideshow from PLT Scheme
Summary(pl):	Pokaz slajdów z PLT Scheme
Group:		Applications/Graphics
Requires:	%{name}-mred = %{version}-%{release}

%description slideshow
Slideshow from PLT Scheme.

%description slideshow -l pl
Pokaz slajdów z PLT Scheme.

%package webserver
Summary:	Webserver from PLT Scheme
Summary(pl):	Serwer WEB z PLT Scheme
Group:		Applications/WWW
Requires:	%{name}-mred = %{version}-%{release}

%description webserver
Webserver from PLT Scheme.

%description slideshow -l pl
Serwer web z PLT Scheme.

%package devel
Summary:	Development header files for PLT
Summary(pl):	Pliki nagłówkowe dla PLT
Group:		Development/Languages
Requires:	%{name}-mzscheme = %{version}-%{release}

%description devel
This package contains the symlinks, headers and object files needed to
compile and link programs which use PLT.

%description devel -l pl
Pakiet zawiera linki symboliczne, pliki nagłówkowe i biblioteki
niezbędne do kompilacji i inkowania programów wykorzystujących PLT.

%prep
%setup -q -n %{name}

%build
cd src
%configure \
	--enable-shared \
	--prefix=$RPM_BUILD_ROOT%{_prefix}
%{__make}

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir},%{_includedir},%{_libdir}/%{name}}

%{__make} -C src install \
	prefix=$RPM_BUILD_ROOT%{_prefix}

mv $RPM_BUILD_ROOT%{_prefix}/{collects,teachpack} $RPM_BUILD_ROOT%{_libdir}/%{name}
mv $RPM_BUILD_ROOT%{_prefix}/man/man1 $RPM_BUILD_ROOT%{_mandir}

#temporary
ln -sf $RPM_BUILD_ROOT{%{_bindir},%{_includedir}} $RPM_BUILD_ROOT%{_libdir}/%{name}
ln -sf $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libdir}/%{name}/lib
# very temporary, stupid, etc.. but maybe help?
ln -sf $RPM_BUILD_ROOT%{_libdir}/%{name}/collects $RPM_BUILD_ROOT%{_prefix}

# emulate setup procedure
export PLTHOME=$RPM_BUILD_ROOT%{_libdir}/%{name}
cd $RPM_BUILD_ROOT%{_libdir}/%{name}
bin/mzscheme -qe "(dynamic-require '(lib \"setup.ss\" \"setup\") #f)"
cd -
for script in drscheme help-desk mzc setup-plt tex2page mzpp games mztext pdf-slatex slatex slideshow web* framework*; do
	perl -pi -e "s|PLTHOME=\"$RPM_BUILD_ROOT%{_prefix}\"|PLTHOME=\"%{_libdir}/%{name}\"|" \
		$RPM_BUILD_ROOT%{_bindir}/$script
done
for file in `find $RPM_BUILD_ROOT/%{_libdir}/%{name}/collects -name *.dep`; do
	perl -pi -e 's|'$RPM_BUILD_ROOT'||' $file
done

rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/{bin,lib,include}
ln -sf %{_bindir} %{_includedir}  $RPM_BUILD_ROOT%{_libdir}/%{name}
ln -sf %{_libdir} $RPM_BUILD_ROOT%{_libdir}/%{name}/lib

mv notes/teachpack/HISTORY teachpack.history

%clean
rm -rf $RPM_BUILD_ROOT

%files mzscheme
%defattr(644,root,root,755)
%doc notes/mzscheme/*
%doc notes/stepper
%attr(755,root,root) %{_bindir}/mzscheme
%attr(755,root,root) %{_bindir}/mzc
%attr(755,root,root) %{_bindir}/mzpp
%attr(755,root,root) %{_bindir}/mztext
%attr(755,root,root) %{_bindir}/pdf-slatex
%attr(755,root,root) %{_bindir}/slatex
%attr(755,root,root) %{_bindir}/setup-plt
%attr(755,root,root) %{_bindir}/tex2page

%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/collects
%{_libdir}/%{name}/collects/xml
%{_libdir}/%{name}/collects/version
%{_libdir}/%{name}/collects/t*
%{_libdir}/%{name}/collects/setup
%{_libdir}/%{name}/collects/sgl
%{_libdir}/%{name}/collects/slatex
%{_libdir}/%{name}/collects/slibinit
%{_libdir}/%{name}/collects/srfi
%{_libdir}/%{name}/collects/stepper
%{_libdir}/%{name}/collects/string-constants
%{_libdir}/%{name}/collects/syntax*
%{_libdir}/%{name}/collects/p*
%{_libdir}/%{name}/collects/o*
%{_libdir}/%{name}/collects/n*
%{_libdir}/%{name}/collects/mz*
%{_libdir}/%{name}/collects/mrlib
%{_libdir}/%{name}/collects/make
%{_libdir}/%{name}/collects/l*
%{_libdir}/%{name}/collects/i*
%{_libdir}/%{name}/collects/hi*
%{_libdir}/%{name}/collects/ht*
%{_libdir}/%{name}/collects/graphics
%{_libdir}/%{name}/collects/f*
%{_libdir}/%{name}/collects/e*
%{_libdir}/%{name}/collects/dynext
%{_libdir}/%{name}/collects/compiler
%{_libdir}/%{name}/collects/browser
%{_libdir}/%{name}/collects/a*
%{_libdir}/%{name}/bin
%{_libdir}/%{name}/lib
%{_libdir}/%{name}/include
%{_mandir}/man1/mzscheme.1*
%{_mandir}/man1/tex2page.1*
%{_libdir}/*.so

%files games
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/games
%{_libdir}/%{name}/collects/games

%files help-desk
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/help-desk
%{_libdir}/%{name}/collects/help
%{_libdir}/%{name}/collects/doc
%{_mandir}/man1/help-desk.1*

%files webserver
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/web-server*
%{_libdir}/%{name}/collects/web-server

%files slideshow
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/slideshow
%{_libdir}/%{name}/collects/slideshow

%files mred
%defattr(644,root,root,755)
%doc notes/mred/*
%attr(755,root,root) %{_bindir}/mred
%{_libdir}/%{name}/collects/mred
%{_mandir}/man1/mred.1*

%files drscheme
%defattr(644,root,root,755)
%doc notes/drscheme/* teachpack.history
%attr(755,root,root) %{_bindir}/drscheme
%{_libdir}/%{name}/collects/drscheme
%{_libdir}/%{name}/teachpack
%{_mandir}/man1/drscheme.1*

%files devel
%defattr(644,root,root,755)
%{_libdir}/*.la
%{_libdir}/*.o
%{_includedir}/*