clisp-vl.spec 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. %bcond_with check
  2. Summary: Common Lisp (ANSI CL) implementation
  3. Summary(ja): 関数型言語 Common Lisp (ANSI CL) の実装
  4. Name: clisp
  5. Version: 2.49.93
  6. Release: 1%{?_dist_release}
  7. Group: Development/Languages
  8. Vendor: Project Vine
  9. Distribution: Vine Linux
  10. License: GPL
  11. URL: http://www.clisp.org/
  12. #Source0: https://ftp.gnu.org/pub/gnu/clisp/release/%{version}/%{name}-%{version}.tar.bz2
  13. Source0: clisp-dd40369.tar.xz
  14. # https://sourceforge.net/p/clisp/patches/35/
  15. Patch0: %{name}-db.patch
  16. # https://sourceforge.net/p/clisp/patches/32/
  17. Patch1: %{name}-format.patch
  18. # The encrypt and setkey functions are no longer available from glibc
  19. Patch2: %{name}-setkey.patch
  20. # Adapt to changes in pari 2.11.0
  21. Patch3: %{name}-pari.patch
  22. # The combination of register and volatile is nonsensical
  23. Patch4: %{name}-register-volatile.patch
  24. Provides: clisp, ansi-cl
  25. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  26. BuildRequires: imake
  27. BuildRequires: libsigsegv-devel
  28. BuildRequires: readline-devel
  29. BuildRequires: dbus-devel
  30. BuildRequires: diffutils
  31. BuildRequires: fcgi-devel
  32. BuildRequires: ffcall
  33. BuildRequires: gdbm-devel
  34. BuildRequires: gettext
  35. BuildRequires: gtk2-devel
  36. BuildRequires: libICE-devel
  37. BuildRequires: libSM-devel
  38. BuildRequires: libX11-devel
  39. BuildRequires: libXaw-devel
  40. BuildRequires: libXext-devel
  41. BuildRequires: libXft-devel
  42. BuildRequires: libXmu-devel
  43. BuildRequires: libXrender-devel
  44. BuildRequires: libXt-devel
  45. BuildRequires: libglade2-devel
  46. BuildRequires: pcre-devel
  47. BuildRequires: libpq-devel
  48. BuildRequires: openssl-devel
  49. BuildRequires: zlib-devel
  50. Requires: vim-common
  51. %description
  52. Common Lisp is a high-level, general-purpose, object-oriented, dynamic,
  53. functional programming language.
  54. CLISP is a Common Lisp implementation by Bruno Haible, then of Karlsruhe
  55. University, and Michael Stoll, then of Munich University, both in Germany.
  56. It supports the Lisp described in the ANSI Common Lisp standard plus many
  57. extensions.
  58. CLISP includes an interpreter, a compiler, a debugger, CLOS, MOP, a foreign
  59. language interface, i18n, regular expressions, a socket interface, and more.
  60. An X11 interface is available through CLX, Garnet and CLUE/CLIO. Command line
  61. editing is provided by readline. CLISP runs Maxima, ACL2 and many other
  62. Common Lisp packages.
  63. CLISP runs on most GNU and Unix systems (Linux, FreeBSD, NetBSD, OpenBSD,
  64. Solaris, Tru64, HP-UX, BeOS, NeXTstep, IRIX, AIX and others) and on other
  65. systems (Windows NT/2000/XP, Windows 95/98/ME) and needs only 4 MB of RAM.
  66. CLISP is Free Software and may be distributed under the terms of GNU GPL.
  67. You may distribute commercial proprietary applications compiled with CLISP,
  68. see file COPYRIGHT in the CLISP distribution.
  69. The user interface comes in English, German, French, Spanish, Dutch, Russian
  70. and Danish, and can be changed at run time.
  71. %prep
  72. %setup -q -n clisp-dd40369
  73. %patch0 -p0
  74. %patch1 -p0
  75. %patch2 -p0
  76. %patch3 -p0
  77. %patch4 -p0
  78. # Change URLs not affected by the --hyperspec argument to configure
  79. sed -i.orig 's|lisp.org/HyperSpec/Body/chap-7.html|lispworks.com/documentation/HyperSpec/Body/07_.htm|' \
  80. src/clos-package.lisp
  81. touch -r src/clos-package.lisp.orig src/clos-package.lisp
  82. rm -f src/clos-package.lisp.orig
  83. for f in src/_README.*; do
  84. sed -i.orig 's|lisp.org/HyperSpec/FrontMatter|lispworks.com/documentation/HyperSpec/Front|' $f
  85. touch -r ${f}.orig $f
  86. rm -f ${f}.orig
  87. done
  88. # We only link against libraries in system directories, so we need -L dir in
  89. # place of -Wl,-rpath -Wl,dir
  90. cp -p src/build-aux/config.rpath config.rpath.orig
  91. sed -i -e 's/${wl}-rpath ${wl}/-L/g' src/build-aux/config.rpath
  92. # Fix modules that need access to symbols in libgnu.a
  93. sed -i 's/\(${GLLIB_A}\) \(${LIBS}\)/-Wl,--whole-archive \1 -Wl,--no-whole-archive \2 -ldl/' src/makemake.in
  94. # Enable firefox to be the default browser for displaying documentation
  95. sed -i 's/;; \((setq \*browser\* .*)\)/\1/' src/cfgunix.lisp
  96. # Unpack the CLX manual
  97. tar -C modules/clx -xzf modules/clx/clx-manual.tar.gz
  98. chmod -R go+r modules/clx/clx-manual
  99. chmod a-x modules/clx/clx-manual/html/doc-index.cgi
  100. %build
  101. ulimit -s unlimited
  102. export LC_ALL=C.UTF-8
  103. # Do not need to specify base modules: i18n, readline, regexp, syscalls.
  104. # The dirkey module currently can only be built on Windows/Cygwin/MinGW.
  105. # The editor module is not in good enough shape to use.
  106. # The matlab, netica, and oracle modules require proprietary code to build.
  107. # The queens module is intended as an example only, not for actual use.
  108. ./configure --prefix=%{_prefix} \
  109. --libdir=%{_libdir} \
  110. --mandir=%{_mandir} \
  111. --docdir=%{_docdir}/clisp-%{version} \
  112. --fsstnd=redhat \
  113. --hyperspec=http://www.lispworks.com/documentation/HyperSpec/ \
  114. --with-module=bindings/glibc \
  115. --with-module=clx/new-clx \
  116. --with-module=dbus \
  117. --with-module=fastcgi \
  118. --with-module=gdbm \
  119. --with-module=gtk2 \
  120. --with-module=pcre \
  121. --with-module=postgresql \
  122. --with-module=rawsock \
  123. --with-module=zlib \
  124. --cbcx \
  125. build \
  126. CFLAGS="%{optflags} -Wa,--noexecstack" \
  127. LDFLAGS="-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack" \
  128. %if %{with check}
  129. %{nil}
  130. %else
  131. ||:
  132. %endif
  133. make -C build
  134. %install
  135. ulimit -s unlimited
  136. rm -rf %{buildroot}
  137. make -C build DESTDIR=%{buildroot} install
  138. rm -f %{buildroot}%{_docdir}/clisp-%{version}/doc/clisp.{dvi,1,ps}
  139. cp -p doc/mop-spec.pdf %{buildroot}%{_docdir}/clisp-%{version}/doc
  140. cp -p doc/*.png %{buildroot}%{_docdir}/clisp-%{version}/doc
  141. cp -p doc/Why-CLISP* %{buildroot}%{_docdir}/clisp-%{version}/doc
  142. cp -p doc/regexp.html %{buildroot}%{_docdir}/clisp-%{version}/doc
  143. find %{buildroot}%{_libdir} -name '*.dvi' | xargs rm -f
  144. %find_lang %{name}
  145. %find_lang %{name}low
  146. cat %{name}low.lang >> %{name}.lang
  147. ## ad-hoc fix <BTS:VineLinux:825>: '--vimdir' option is broken...
  148. %__mkdir_p %{buildroot}%{_sysconfdir}/vim
  149. %__mv %{buildroot}%{_datadir}/vim/vimfiles/after %{buildroot}%{_sysconfdir}/vim
  150. %clean
  151. rm -rf %{buildroot}
  152. %files -f %{name}.lang
  153. %defattr(-,root,root,-)
  154. %{_bindir}/%{name}
  155. %{_bindir}/%{name}-link
  156. %{_mandir}/man1/*
  157. %{_libdir}/%{name}-%{version}+
  158. %{_datadir}/aclocal/*.m4
  159. %{_datadir}/emacs/site-lisp/*
  160. %{_sysconfdir}/vim
  161. %doc %{_docdir}/clisp-%{version}
  162. %changelog
  163. * Sat Nov 02 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.49.93-1
  164. - updated tarball from git (2.49.93+).
  165. - replaced patches from rawhide.
  166. * Fri Jul 31 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> - 2.49-3
  167. - rebuild with readline-6.3
  168. - add Patch0,1,2 from suse
  169. - remove BuildRequires: postgresql-devel
  170. - add BuildRequires: libpq-devel, openssl-devel
  171. * Fri Mar 23 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 2.49-2
  172. - rebuild with current ffcall
  173. * Tue Apr 19 2011 IWAI, Masaharu <iwai@alib.jp> 2.49-1
  174. - new upstream release
  175. - ad-hoc fix <BTS:VineLinux:825>: but '--vimdir' option is broken...
  176. * Tue Apr 12 2011 Shu KONNO <owa@bg.wakwak.com> 2.48-2
  177. - rebuilt with postgresql-9.0.3
  178. * Sat Mar 6 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.48-1
  179. - new upstream release
  180. - built with new toolchain, libsigsegv-2.8
  181. - updated build dependencies
  182. * Sun Sep 21 2008 Shu KONNO <owa@bg.wakwak.com> 2.43-1vl5
  183. - applied new versioning policy, spec in utf-8
  184. * Mon Nov 26 2007 Shu KONNO <owa@bg.wakwak.ne.jp> 2.43-0vl1
  185. - version up to 2.43
  186. - updated source url
  187. - changed %%{_libdir}/clisp to %%{_libdir}/clisp-%%{version}
  188. - added option "--libdir=%%{_libdir}" to configure for lib64
  189. * Sun Mar 18 2007 USAMI Kosuke <usami-k@yc5.so-net.ne.jp> 2.41-0vl1
  190. - version up to 2.41
  191. - add BuildRequires : readline-devel, gettext, libsigsegv-devel
  192. - update %%description, %%files, configure options
  193. - drop hfs patch
  194. * Tue Jan 6 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.32-0vl1
  195. - version up to 2.32
  196. - rebuild with new toolchains
  197. - updated hfs patch
  198. * Sun Aug 25 2002 Yoshihiro Ota <ota@j.email.ne.jp>
  199. - version up to 2.29
  200. * Sat Mar 9 2002 Yoshihiro Ota <ota@j.email.ne.jp>
  201. - version up to 2.28
  202. - added BuildRequires : ncurses-devel and removed groff patch
  203. * Fri Jan 18 2002 Yoshihiro Ota <ota@j.email.ne.jp>
  204. - create rpm for release 2.27