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