Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37570149
en ru br
Репозитории ALT
4.1: 2.6.8-alt0.11cvs20061026
4.0: 2.6.8-alt0.10cvs20061026
3.0: 2.6.6-alt3
www.altlinux.org/Changes

Группа :: Разработка/Lisp
Пакет: gcl

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define  ENABLE_ANSI  1

%define  gcl_cc       gcc

%define  LOCBFD      1

%define  maxpage      256*1024

%define  vssize       64*1024
%define  bdssize        4*1024
%define  ihssize        8*1024
%define  frssize        8*1024

%define CVS_BUILD  0

Name: gcl
Version: 2.6.6
Release: alt3
Summary: GNU Common Lisp
Copyright: LGPL
Group: Development/Lisp
URL: http://savannah.gnu.org/projects/gcl
Packager: Vadim V. Zhytnikov <vvzhy at altlinux.ru>

Source0: gcl-2.6.6.tar.gz

Patch0: gcl-2.6.1-alt0.05-ansi-both.patch
Patch1: gcl-2.6.6-make-bug-6777.patch

Requires: tk tcl libreadline libncurses

PreReq: %__install_info

BuildRequires: libreadline-devel libncurses-devel tcl-devel tk-devel libiberty-devel libbfd-devel-static tetex texinfo

%description
The program GCL is an implementation of a subset of
the Common Lisp ANSI standard.  It is written in C and
in Common Lisp, and is highly portable.  It includes
those features in the original definition of Common Lisp,
(Guy Steele version 1.), as well as some features from
the new standard.

%if %ENABLE_ANSI
This package is shipped with two GCL flavors.  First is
the traditional CLtL1 compliant GCL.  Second is experimental
ANSI Common Lisp compliant GCL version.  ANSI GCL is invoked
if GCL_ANSI is set to "yes".
%endif

%description -l ru_RU.UTF-8
GCL - я█я┌п╬ я─п╣п╟п╩п╦п╥п╟я├п╦я▐ я▐п╥я▀п╨п╟ Common Lisp, п╬п©п╦я│п╟п╫п╫п╬пЁп╬
п╡ я│я┌п╟п╫п╢п╟я─я┌п╣ ANSI.  GCL п╫п╟п©п╦я│п╟п╫ C п╦ Common Lisp п╦ п╬п╠п╩п╟п╢п╟п╣я┌
п╡я▀я│п╬п╨п╬п╧ я│я┌п╣п©п╣п╫я▄я▌ п©п╣я─п╣п╫п╬я│п╦п╪п╬я│я┌п╦.  GCL я│п╬я│я┌п╡п╣я┌я│я┌п╡я┐п╣я┌ п╬п©п╦я│п╟п╫п╦я▌
я▐п╥я▀п╨п╟ Common Lisp, п╬п©я┐п╠п╩п╦п╨п╬п╡п╟п╫п╫п╬п╪я┐ п╡ п╨п╫п╦пЁп╣ "Common Lisp
the Language", Guy Steele, п©п╣я─п╡п╬п╣ п╦п╥п╢п╟п╫п╦п╣ (CLtL1), п╦ п╡п╨п╩я▌я┤п╟п╣я┌
п╫п╣п╨п╬я┌п╬я─я▀п╣ я─п╟я│я┬п╦я─п╣п╫п╦я▐ п╦п╥ я│я┌п╟п╫п╢п╟я─я┌п╟ ANSI.

%if %ENABLE_ANSI
п╜я┌п╬я┌ п©п╟п╨п╣я┌ п╡п╨п╩я▌я┤п╟я┌ п╡ я│п╣п╠я▐ п╢п╡п╟ я┌п╦п©п╟ GCL.  
п÷п╣я─п╡я▀п╧, я┌.п╫. я┌я─п╟п╢п╦я├п╦п╬п╫п╫я▀п╧ п╡п╟я─п╦п╟п╫я┌, я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╦п╧ CLtL1.
п≤ п╡я┌п╬я─п╬п╧, я█п╨я│п©п╣я─п╦п╪п╣п╫я┌п╟п╩я▄п╫я▀п╧ п╡п╟я─п╦п╟п╫я┌, я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╦п╧
я│я┌п╟п╫п╢п╟я─я┌я┐ ANSI.  п÷п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╡я▀п╥я▀п╡п╟п╣я┌я│я▐ я┌я─п╟п╢п╦я├п╦п╬п╫п╫я▀п╧
п╡п╟я─п╦п╟п╫я┌, п╢п╩я▐ п╡я▀п╥п╬п╡п╟ ANSI GCL п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄
п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╬п╨я─я┐п╤п╣п╫п╦я▐ GCL_ANSI="yes".
%endif

%prep
%if %CVS_BUILD
%setup -q -b 0 -ngcl
%else
%setup -q -b 0  
%endif

%if %ENABLE_ANSI
%patch0 -p1
%endif

%patch1 -p1

%build

%define   gcl_emacs      %_datadir/emacs/site-lisp/gcl

PROCESSOR_FLAGS=`echo "%optflags" | %__sed -e "s:%optflags_default::"`
export PROCESSOR_FLAGS

CC=%gcl_cc ; export CC ; %configure \
   --enable-tkconfig=/usr/lib      \
   --enable-tclconfig=/usr/lib     \
%if %ENABLE_ANSI
   --enable-ansi  \
%else
   --disable-ansi \
%endif
%if %LOCBFD
   --disable-statsysbfd --enable-locbfd \
%endif
   --enable-maxpage=%maxpage \
   --enable-vssize=%vssize   \
   --enable-bdssize=%bdssize \
   --enable-ihssize=%ihssize \
   --enable-frssize=%frssize \
   --enable-infodir=%_infodir

make

%install
%define _findreq_default_method lib

install -d %buildroot%_infodir
install -d %buildroot%_man1dir
install -d %buildroot%gcl_emacs
install -d %buildroot%_includedir

make install DESTDIR=%buildroot \
   EMACS_SITE_LISP=%gcl_emacs \
   EMACS_DEFAULT_EL=%_datadir/emacs/site-lisp/default.el

install -D -m644 ./elisp/*.el %buildroot%gcl_emacs
install -D -m644 ./man/man1/gcl.1 %buildroot%_man1dir/gcl.1
%if %ENABLE_ANSI
install -D -m755 ./unixport/saved_gcl %buildroot%_libdir/%name-%version/unixport/saved_gcl
install -D -m644 ./unixport/init_gcl.lsp %buildroot%_libdir/%name-%version/unixport/init_gcl.lsp
install -D -m644 ./unixport/libgcl.a %buildroot%_libdir/%name-%version/unixport/libgcl.a
%endif

ln -f -s %_libdir/%name-%version/h/cmpinclude.h %buildroot%_includedir/cmpinclude.h    

%__subst "s:%buildroot/usr:/usr:g" %buildroot%_bindir/gcl  

%__subst "s:%buildroot/usr:/usr:g" %buildroot%_libdir/%name-%version/gcl-tk/demos/index.lsp

chmod 755 %buildroot%_bindir/gcl
chmod 644 %buildroot%_libdir/%name-%version/cmpnew/*
chmod 644 %buildroot%_libdir/%name-%version/lsp/*
chmod 644 %buildroot%_libdir/%name-%version/h/*
chmod 644 %buildroot%_libdir/%name-%version/gcl-tk/*
chmod 755 %buildroot%_libdir/%name-%version/gcl-tk/demos
chmod 755 %buildroot%_libdir/%name-%version/gcl-tk/gcltkaux
chmod 755 %buildroot%_libdir/%name-%version/gcl-tk/gcltksrv
chmod 644 %buildroot%_libdir/%name-%version/gcl-tk/demos/*
chmod 644 %buildroot%_libdir/%name-%version/unixport/*
chmod 755 %buildroot%_libdir/%name-%version/unixport/save*
chmod 644 readme* RELEASE* COPYING.LIB-2.0

%files
%defattr(-,root,root)
%_bindir/gcl
%_datadir/emacs/site-lisp/gcl
%dir %_libdir/%name-%version
%_libdir/%name-%version/cmpnew
%_libdir/%name-%version/gcl-tk
%_libdir/%name-%version/lsp
%_libdir/%name-%version/h
%_libdir/%name-%version/unixport
%_includedir/cmpinclude.h
%_infodir/gcl*
%_mandir/man1/gcl.1*
%doc readme* RELEASE* COPYING.LIB-2.0

%post
%install_info gcl-si.info gcl-tk.info

%preun
%uninstall_info gcl-si.info gcl-tk.info

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin