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