]>
Commit | Line | Data |
---|---|---|
3cd314f5 | 1 | # TODO: |
e69735d7 | 2 | # - unpackaged files (see the end of spec) |
4cbc7eda MK |
3 | # - there is newer clisp release available at https://gitlab.com/gnu-clisp/clisp.git |
4 | # and in some distros (ie. Fedora/Rawhide) | |
bfd7e11e | 5 | # |
79f0f74b | 6 | # Conditional build: |
cdd858ea | 7 | %bcond_with tests # run test suite `make check' (uses network, won't pass on vserver) |
bfd7e11e | 8 | # |
59f7b327 | 9 | Summary: Common Lisp (ANSI CL) implementation |
2b164edd ER |
10 | Summary(pl.UTF-8): Implementacja Common Lisp (ANSI CL) |
11 | Summary(pt_BR.UTF-8): Implementação do Common Lisp (ANSI CL) | |
59f7b327 | 12 | Name: clisp |
0313730c | 13 | Version: 2.50 |
59a9c7a6 | 14 | Release: 2 |
e69735d7 | 15 | License: GPL v2 |
59f7b327 | 16 | Group: Development/Languages |
0313730c JR |
17 | Source0: https://gitlab.com/gnu-clisp/clisp/-/archive/clisp-%{version}/clisp-clisp-%{version}.tar.bz2 |
18 | # Source0-md5: e1813423a98973c2a43b3690c563c024 | |
59f7b327 | 19 | Patch0: %{name}-shell.patch |
3a2acc05 | 20 | Patch1: x32.patch |
59f7b327 | 21 | URL: http://clisp.cons.org/ |
3cd314f5 | 22 | BuildRequires: ffcall-devel |
770760d8 | 23 | BuildRequires: gettext-tools |
59a9c7a6 JP |
24 | BuildRequires: libsigsegv-devel >= 2.4 |
25 | BuildRequires: libunistring-devel | |
10afc298 | 26 | BuildRequires: ncurses-devel |
05dfe0ce | 27 | BuildRequires: readline-devel |
59a9c7a6 JP |
28 | BuildRequires: xorg-lib-libICE-devel |
29 | BuildRequires: xorg-lib-libSM-devel | |
a84435bf | 30 | BuildRequires: xorg-lib-libX11-devel |
59a9c7a6 JP |
31 | BuildRequires: xorg-lib-libXau-devel |
32 | BuildRequires: xorg-lib-libXext-devel | |
a84435bf JB |
33 | BuildRequires: xorg-lib-libXpm-devel |
34 | BuildRequires: xorg-proto-xextproto-devel | |
59a9c7a6 JP |
35 | Requires: ffcall-devel |
36 | Requires: libsigsegv-devel >= 2.4 | |
37 | Requires: libunistring-devel | |
38 | Requires: ncurses-devel | |
39 | Requires: readline-devel | |
59f7b327 | 40 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
41 | ||
df1563da | 42 | %define specflags_ppc -DNO_GENERATIONAL_GC |
43 | %define specflags_ppc64 -DNO_GENERATIONAL_GC | |
44 | ||
59f7b327 | 45 | %description |
46 | Common Lisp is a high-level, all-purpose programming language. CLISP | |
47 | is a Common Lisp implementation by Bruno Haible of Karlsruhe | |
48 | University and Michael Stoll of Munich University, both in Germany. It | |
49 | mostly supports Common Lisp as described in the ANSI CL standard. It | |
50 | runs on microcomputers (DOS, OS/2, Windows NT, Windows 95, Amiga | |
51 | 500-4000, Acorn RISC PC) as well as on Unix workstations (Linux, SVR4, | |
52 | Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and others) and | |
53 | needs only 2 MB of RAM. | |
54 | ||
55 | It is free software and may be distributed under the terms of GNU GPL, | |
56 | while it is possible to distribute commercial applications compiled | |
57 | with CLISP. | |
58 | ||
59 | The user interface comes in German, English, French and Spanish. CLISP | |
60 | includes an interpreter, a compiler, a large subset of CLOS, a foreign | |
61 | language interface and a socket interface. An X11 interface is | |
62 | available through CLX and Garnet. | |
63 | ||
9a5b73ba JR |
64 | %description -l pl.UTF-8 |
65 | Common Lisp to wysokopoziomowy język programowania ogólnego | |
66 | przeznaczenia. CLISP to implementacja Common Lisp, której autorami są | |
66d98f1f | 67 | Bruno Haible z Karlsruhe University oraz Michael Stoll z Munich |
9a5b73ba JR |
68 | University (oba w Niemczech). W większości wspiera Common Lisp opisany |
69 | w standardzie ANSI CL. Działa na mikrokomputerach (DOS, OS/2, Windows | |
70 | NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a także stacjach | |
66d98f1f JB |
71 | uniksowych (Linux, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, |
72 | AIX, Sun3 i inne) i wymaga tylko 2 MB RAM. | |
73 | ||
9a5b73ba | 74 | To jest oprogramowanie wolnodostępne, na licencji GNU GPL, możliwe |
66d98f1f JB |
75 | jest dystrybuowanie komercyjnych aplikacji skompilowanych CLISP-em. |
76 | ||
9a5b73ba JR |
77 | Interfejs użytkownika dostępny jest po niemiecku, angielsku, francusku |
78 | i hiszpańsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór | |
79 | CLOS, interfejs do innych języków oraz interfejs do gniazdek. | |
80 | Interfejs X11 jest dostępny poprzez CLX i Garnet. | |
66d98f1f | 81 | |
9a5b73ba JR |
82 | %description -l pt_BR.UTF-8 |
83 | Common Lisp é uma linguagem de programação de propósito geral de alto | |
84 | nível. CLISP é uma implementação do Common Lisp feita por Bruno | |
3b8ff915 | 85 | Haible, da Universidade Karlsruhe, e Michael Stoll, da Universidade de |
9a5b73ba JR |
86 | Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com |
87 | o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é | |
88 | software livre, distribuído sob os termos da GNU GPL. | |
3b8ff915 | 89 | |
4bbd9b00 JB |
90 | %package -n emacs-clisp-mode |
91 | Summary: CLISP mode for Emacs | |
92 | Summary(pl.UTF-8): Tryb edycji CLISP dla Emacsa | |
93 | Group: Applications/Editors | |
94 | Requires: emacs-common | |
95 | ||
96 | %description -n emacs-clisp-mode | |
97 | CLISP mode for Emacs. | |
98 | ||
99 | %description -n emacs-clisp-mode -l pl.UTF-8 | |
100 | Tryb edycji CLISP dla Emacsa. | |
101 | ||
102 | %package -n vim-syntax-lisp | |
103 | Summary: LISP syntax highlighting for Vim | |
104 | Summary(pl.UTF-8): Podświetlanie składni LISP-a w Vimie | |
105 | Group: Applications/Editors | |
106 | Requires: vim-rt | |
107 | ||
108 | %description -n vim-syntax-lisp | |
109 | LISP syntax highlighting for Vim. | |
110 | ||
111 | %description -n vim-syntax-lisp -l pl.UTF-8 | |
112 | Podświetlanie składni LISP-a w Vimie. | |
113 | ||
59f7b327 | 114 | %prep |
0313730c | 115 | %setup -q -n clisp-clisp-%{version} |
59f7b327 | 116 | %patch0 -p1 |
3a2acc05 | 117 | %patch1 -p1 |
05dfe0ce JB |
118 | |
119 | # changing default -O to optflags causes memory fault on amd64 | |
120 | # - so something is broken... code or compiler | |
0c5f0ead JB |
121 | # -fno-strict-aliasing seems to fix crashes on amd64 but doesn't fix |
122 | # random crashes on sparc (which occur with default CFLAGS) | |
123 | #%{__perl} -pi -e "s@' -O2?([^0])@' %{rpmcflags} -fno-strict-aliasing\$1@" src/makemake.in | |
59f7b327 | 124 | |
125 | %build | |
5ce91178 | 126 | %ifarch ppc ppc64 |
127 | ulimit -s unlimited | |
128 | %else | |
df1563da | 129 | ulimit -s 32768 |
5ce91178 | 130 | %endif |
fdf4594b | 131 | |
79f0f74b | 132 | CC="%{__cc}" \ |
72f0b7ac | 133 | %ifarch sparc sparcv9 sparc64 |
134 | CFLAGS="%{rpmcflags} -DSAFETY=3" \ | |
135 | %else | |
01570cfa JR |
136 | %ifarch %{ix86} x32 |
137 | CFLAGS="%{rpmcflags} -falign-functions=4" \ | |
138 | %else | |
df1563da | 139 | CFLAGS="%{rpmcflags}" \ |
72f0b7ac | 140 | %endif |
01570cfa | 141 | %endif |
79f0f74b | 142 | ./configure \ |
ffbf3c1c | 143 | %ifarch x32 |
01570cfa | 144 | --host=%{_target_platform} \ |
ffbf3c1c | 145 | %endif |
00fbe0f1 | 146 | --prefix=%{_prefix} |
f404e321 | 147 | |
59f7b327 | 148 | cd src |
149 | ./makemake \ | |
150 | --prefix=%{_prefix} \ | |
151 | --with-readline \ | |
152 | --with-gettext \ | |
153 | --with-dynamic-ffi \ | |
e4912e71 | 154 | --fsstnd=redhat \ |
5d55e2b8 | 155 | --with-module=bindings/glibc \ |
e4912e71 | 156 | --with-module=clx/new-clx \ |
59f7b327 | 157 | >Makefile |
a6fd4b7b | 158 | %{__make} -j1 config.lisp \ |
3cd314f5 | 159 | TOPDIR=clisp |
a6fd4b7b | 160 | %{__make} -j1 \ |
3cd314f5 ŁK |
161 | libdir=%{_libdir} \ |
162 | TOPDIR=clisp | |
bfd7e11e | 163 | |
a6fd4b7b | 164 | %{?with_tests:%{__make} -j1 check} |
59f7b327 | 165 | |
166 | %install | |
167 | rm -rf $RPM_BUILD_ROOT | |
05dfe0ce | 168 | |
a6fd4b7b | 169 | %{__make} -j1 -C src install \ |
59f7b327 | 170 | DESTDIR=$RPM_BUILD_ROOT \ |
05dfe0ce | 171 | libdir=%{_libdir} \ |
2eb6106d | 172 | docdir=%{_docdir}/%{name}-%{version} \ |
3cd314f5 ŁK |
173 | mandir=%{_mandir} \ |
174 | TOPDIR=clisp | |
05dfe0ce | 175 | |
2eb6106d JB |
176 | # already packaged as man/html/pdf |
177 | %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc/clisp*.{1,ps} | |
59f7b327 | 178 | |
2eb6106d | 179 | # clisp and clisplow domains |
085d3d70 | 180 | %find_lang %{name} --all-name |
181 | ||
59f7b327 | 182 | %clean |
183 | rm -rf $RPM_BUILD_ROOT | |
184 | ||
085d3d70 | 185 | %files -f %{name}.lang |
59f7b327 | 186 | %defattr(644,root,root,755) |
187 | %attr(755,root,root) %{_bindir}/clisp | |
2eb6106d | 188 | %attr(755,root,root) %{_bindir}/clisp-link |
bb3deaa0 | 189 | %doc %{_docdir}/%{name}-%{version} |
59f7b327 | 190 | %dir %{_libdir}/clisp |
191 | %dir %{_libdir}/clisp/base | |
192 | %{_libdir}/clisp/base/*.[aho] | |
193 | %{_libdir}/clisp/base/lispinit.mem | |
194 | %attr(755,root,root) %{_libdir}/clisp/base/lisp.run | |
195 | %{_libdir}/clisp/base/makevars | |
2eb6106d JB |
196 | %{_libdir}/clisp/bindings |
197 | %{_libdir}/clisp/build-aux | |
198 | %{_libdir}/clisp/clx | |
59f7b327 | 199 | %{_libdir}/clisp/data |
2eb6106d JB |
200 | %dir %{_libdir}/clisp/dynmod |
201 | %{_libdir}/clisp/dynmod/*.lisp | |
202 | %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-*.so | |
59f7b327 | 203 | %{_libdir}/clisp/linkkit |
2eb6106d JB |
204 | %{_aclocaldir}/clisp.m4 |
205 | %{_mandir}/man1/clisp.1* | |
206 | %{_mandir}/man1/clisp-link.1* | |
4bbd9b00 JB |
207 | |
208 | %files -n emacs-clisp-mode | |
209 | %defattr(644,root,root,755) | |
210 | %{_lispdir}/clhs.el | |
211 | %{_lispdir}/clisp-coding.el | |
212 | %{_lispdir}/clisp-ffi.el | |
213 | %{_lispdir}/clisp-indent.el | |
214 | %{_lispdir}/clisp-indent.lisp | |
215 | ||
216 | %files -n vim-syntax-lisp | |
217 | %defattr(644,root,root,755) | |
218 | %{_datadir}/vim/vimfiles/after/syntax/lisp.vim |