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