Group :: Desenvolvimento/Outros
RPM: gforth
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
%def_enable largefile
%def_enable force_reg
%def_without debug
%def_with doc
#----------------------------------------------------------------------
%define subst_enable_to() %{expand:%%{?_enable_%{1}:--enable-%{2}}} %{expand:%%{?_disable_%{1}:--disable-%{2}}}
Name: gforth
%define Name GNU Forth
Version: 0.6.2
Release: alt7
License: GPL
Group: Development/Other
Summary: GNU implementation of the ANS Forth language
Summary(uk_UA.CP1251): GNU-ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ ANS Forth
Summary(ru_RU.CP1251): GNU-ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ ANS Forth
URL: http://www.jwdt.com/~paysan/gforth.html
Source0: %name-%version.tar.bz2
Source1: %{name}_16x16.png
Source2: %{name}_32x32.png
Source3: %{name}_48x48.png
Patch0: %name-0.6.2-doc.patch
Patch1: %name-0.6.2-debug.diff
Patch2: %name-shebang.patch
Patch3: %name-0.6.2-buildpath.patch
Patch4: %name.patch
%{?_with_doc:BuildRequires: tetex-dvips tetex-latex}
%description
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
%description -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
%description -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
%if_with doc
%package info
Group: Documentation
Summary: Documentation for the %Name in Info format
%description info
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in Info format.
%description info -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ Info.
%description info -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå Info.
%package doc-ps
Group: Documentation
Summary: Documentation for the %Name in Postscript format
%description doc-ps
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in Postscript format.
%description doc-ps -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ Postscript.
%description doc-ps -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå Postscript.
%package doc-html
Group: Documentation
Summary: Documentation for the %Name in HTML format
%description doc-html
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in HTML format.
%description doc-html -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ HTML.
%description doc-html -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå HTML.
%package doc-txt
Group: Documentation
Summary: Documentation for the %Name in HTML format
%description doc-txt
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in ASCII text format.
%description doc-txt -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â òåñòîâîìó ASCII ôîðìàò³.
%description doc-txt -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â òåêñòîâîì ASCII ôîðìàòå.
%package doc-pdf
Group: Documentation
Summary: Documentation for the %Name in PDF format
%description doc-pdf
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in PDF format.
%description doc-pdf -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ PDF.
%description doc-pdf -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå PDF.
%endif
%prep
%setup
%patch0 -p1
%patch1 -p0
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
# -mtune=pentium4 lead to compile error, using -mtune=pentium3 instead
%remove_optflags -mtune=pentium4
%add_optflags -fno-reorder-blocks
#add_optflags -mtune=pentium3
%configure \
--libdir=%_libexecdir \
%{subst_enable largefile} \
%{subst_with debug} \
%{subst_enable_to force_reg force-reg}
%make_build
%make info TAGS %{?_with_doc:html ps pdf txt}
%install
%define docdir %_docdir/%name-%version
install -d %buildroot{%_datadir/emacs/site-lisp,%docdir}
install -m 0644 %name.el %buildroot%_datadir/emacs/site-lisp/
%makeinstall libdir=%buildroot%_libexecdir
rm -f %buildroot%_infodir/dir
ln -sf %name.1 %buildroot%_man1dir/%name-fast.1
ln -sf %name.1 %buildroot%_man1dir/%{name}mi.1
bzip2 --best -c ChangeLog > %buildroot%docdir/ChangeLog.bz2
install -m 0644 AUTHORS BUGS Benchres NEWS* README* ToDo %buildroot%docdir/
%{?_with_doc:install -m 0644 doc/*.{ps,html,txt,pdf} %buildroot%docdir/}
# fixing pathes
mv %buildroot%_datadir/%name/%version/arch/{,i}386
#
cat > %buildroot%_datadir/%name/site-forth/siteinit.fs <<__EOF__
\ If you change this file, you need to recompile gforth.fi
__EOF__
cat > %buildroot%_datadir/emacs/site-lisp/%name-init.el <<__EOF__
(autoload 'forth-mode "%name" "Forth mode" t)
(autoload 'run-%name "%name" "Run Forth" t)
(add-to-list 'auto-mode-alist '("\\.fs$" . forth-mode))
__EOF__
chmod 0755 %buildroot%_datadir/%name/%version/{httpd,filedump,sieve}.fs
# icons
install -d %buildroot{%_niconsdir,%_miconsdir,%_liconsdir}
install -m 0644 %SOURCE1 %buildroot/%_miconsdir/%name.png
install -m 0644 %SOURCE2 %buildroot/%_niconsdir/%name.png
install -m 0644 %SOURCE3 %buildroot/%_liconsdir/%name.png
#menu
install -d %buildroot%_desktopdir
iconv -f cp1251 -t utf-8 > %buildroot%_desktopdir/%name.desktop <<__MENU__
[Desktop Entry]
Encoding=UTF-8
GenericName=Gforth
Name=%Name shell
Name[uk]=%Name îáîëîíêà
Name[ru]=%Name îáîëî÷êà
Exec=%name
Icon=%name.png
Type=Application
Terminal=true
Categories=Application;Development;IDE;ConsoleOnly;
__MENU__
%post
%update_menus
%postun
%clean_menus
%post info
%install_info %name.info
%install_info vmgen.info
%preun info
%uninstall_info %name.info
%uninstall_info vmgen.info
%files
%dir %docdir
%docdir/AUTHORS
%docdir/BUGS
%docdir/Benchres
%docdir/ChangeLog*
%docdir/NEWS*
%docdir/README*
%docdir/ToDo
%_bindir/*
%_libexecdir/%name
%dir %_datadir/%name
%dir %_datadir/%name/%version
%_datadir/%name/%version/*
%dir %_datadir/%name/site-forth
%_datadir/%name/site-forth/*
%dir %_datadir/emacs
%dir %_datadir/emacs/site-lisp
%_datadir/emacs/site-lisp/*
%_man1dir/*
%_niconsdir/*
%_liconsdir/*
%_miconsdir/*
%_desktopdir/*
%files info
%_infodir/*
%if_with doc
%files doc-ps
%dir %docdir
%docdir/*.ps
%files doc-html
%dir %docdir
%docdir/*.html
%files doc-txt
%dir %docdir
%docdir/*.txt
%files doc-pdf
%dir %docdir
%docdir/*.pdf
%endif
%changelog
…
Todas as alterações você pod ver aqui
%def_enable force_reg
%def_without debug
%def_with doc
#----------------------------------------------------------------------
%define subst_enable_to() %{expand:%%{?_enable_%{1}:--enable-%{2}}} %{expand:%%{?_disable_%{1}:--disable-%{2}}}
Name: gforth
%define Name GNU Forth
Version: 0.6.2
Release: alt7
License: GPL
Group: Development/Other
Summary: GNU implementation of the ANS Forth language
Summary(uk_UA.CP1251): GNU-ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ ANS Forth
Summary(ru_RU.CP1251): GNU-ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ ANS Forth
URL: http://www.jwdt.com/~paysan/gforth.html
Source0: %name-%version.tar.bz2
Source1: %{name}_16x16.png
Source2: %{name}_32x32.png
Source3: %{name}_48x48.png
Patch0: %name-0.6.2-doc.patch
Patch1: %name-0.6.2-debug.diff
Patch2: %name-shebang.patch
Patch3: %name-0.6.2-buildpath.patch
Patch4: %name.patch
%{?_with_doc:BuildRequires: tetex-dvips tetex-latex}
%description
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
%description -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
%description -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
%if_with doc
%package info
Group: Documentation
Summary: Documentation for the %Name in Info format
%description info
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in Info format.
%description info -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ Info.
%description info -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå Info.
%package doc-ps
Group: Documentation
Summary: Documentation for the %Name in Postscript format
%description doc-ps
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in Postscript format.
%description doc-ps -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ Postscript.
%description doc-ps -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå Postscript.
%package doc-html
Group: Documentation
Summary: Documentation for the %Name in HTML format
%description doc-html
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in HTML format.
%description doc-html -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ HTML.
%description doc-html -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå HTML.
%package doc-txt
Group: Documentation
Summary: Documentation for the %Name in HTML format
%description doc-txt
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in ASCII text format.
%description doc-txt -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â òåñòîâîìó ASCII ôîðìàò³.
%description doc-txt -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â òåêñòîâîì ASCII ôîðìàòå.
%package doc-pdf
Group: Documentation
Summary: Documentation for the %Name in PDF format
%description doc-pdf
%Name is a fast and portable implementation of the ANS Forth
language. It works nicely with the Emacs editor, offers some nice
features such as input completion and history, backtraces, a decompiler
and a powerful locals facility. Gforth combines traditional
implementation techniques with newer techniques for portability and
performance: its inner intnerpreter is direct threaded with several
optimizations, but you can also use a traditional-style indirect
threaded interpreter.
This package contains documentation for the %Name in PDF format.
%description doc-pdf -l uk_UA.CP1251
%Name - øâèäêà ³ ïîðòàáåëüíà ðåàë³çàö³ÿ ìîâè ïðîãðàìóâàííÿ
ANS Forth. ³í äîáðå ïðàöþº ç ðåäàêòîðîì Emacs, ïðîïîíóº äåÿê³ ãàðí³
îñîáëèâîñò³, òàê³ ÿê çàâåðøåííÿ òà ³ñòîð³þ ââîäó, çâîðîòí³é õ³ä,
äåòðàíñëÿòîð ³ ïîòóæíèé ëîêàëüí³ ìîæëèâîñò³. Äëÿ ïîðòàáåëüíîñò³ òà
ïðîäóêòèâíîñò³ Gforth ïîºäíóº òðàäèö³éí³ çàñîáè ðåàë³çàö³¿ ç íîâèìè:
éîãî âíóòð³øí³é ³íòåðïðåòàòîð - ïðÿìèé ç äåÿêèìè îïòèì³çàö³ÿìè, àëå
òàêîæ º ìîæëèâ³ñòü âèêîðèñòàííÿ òðàäèö³éíîãî íåïðÿìîãî ³íòåðïðåòàòîðà.
Öåé ïàêåò ì³ñòèòü äîêóìåíòàö³þ äëÿ %Name â ôîðìàò³ PDF.
%description doc-pdf -l ru_RU.CP1251
%Name - áûñòðàÿ è ïîðòàáåëüíàÿ ðåàëèçàöèÿ ÿçûêà ïðîãðàììèðîâàíèÿ
ANS Forth. Îí õîðîøî ðàáîòàåò ñ ðåäàêòîðîì Emacs, ïðåäëàãàåò íåêîòîðûå
ïðèÿòíûå îñîáåííîñòè, òàêèå êàê çàâåðøåíèå è èñòîðèþ ââîäà, îáðàòíûé
õîä, äåòðàíñëÿòîð è ìîùíûå ëîêàëüíûå âîçìîæíîñòè. Äëÿ ïîðòàáåëüíîñòè è
ïðîèçâîäèòåëüíîñòè Gforth ñî÷åòàåò òðàäèöèîííûå ñïîñîáû ðåàëèçàöèè ñ
íîâûìè: åãî âíóòðåííèé èíòåðïðåòàòîð - ïðÿìîé ñ íåêîòîðûìè
îïòèìèçàöèÿìè, íî òàêæå åñòü âîçìîæíîñòü èñïîëüçîâàíèÿ òðàäèöèîííîãî
íåïðÿìîãî èíòåðïðåòàòîðà.
Ýòîò ïàêåò ñîäåðæèò äîêóìåíòàöèþ äëÿ %Name â ôîðìàòå PDF.
%endif
%prep
%setup
%patch0 -p1
%patch1 -p0
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
# -mtune=pentium4 lead to compile error, using -mtune=pentium3 instead
%remove_optflags -mtune=pentium4
%add_optflags -fno-reorder-blocks
#add_optflags -mtune=pentium3
%configure \
--libdir=%_libexecdir \
%{subst_enable largefile} \
%{subst_with debug} \
%{subst_enable_to force_reg force-reg}
%make_build
%make info TAGS %{?_with_doc:html ps pdf txt}
%install
%define docdir %_docdir/%name-%version
install -d %buildroot{%_datadir/emacs/site-lisp,%docdir}
install -m 0644 %name.el %buildroot%_datadir/emacs/site-lisp/
%makeinstall libdir=%buildroot%_libexecdir
rm -f %buildroot%_infodir/dir
ln -sf %name.1 %buildroot%_man1dir/%name-fast.1
ln -sf %name.1 %buildroot%_man1dir/%{name}mi.1
bzip2 --best -c ChangeLog > %buildroot%docdir/ChangeLog.bz2
install -m 0644 AUTHORS BUGS Benchres NEWS* README* ToDo %buildroot%docdir/
%{?_with_doc:install -m 0644 doc/*.{ps,html,txt,pdf} %buildroot%docdir/}
# fixing pathes
mv %buildroot%_datadir/%name/%version/arch/{,i}386
#
cat > %buildroot%_datadir/%name/site-forth/siteinit.fs <<__EOF__
\ If you change this file, you need to recompile gforth.fi
__EOF__
cat > %buildroot%_datadir/emacs/site-lisp/%name-init.el <<__EOF__
(autoload 'forth-mode "%name" "Forth mode" t)
(autoload 'run-%name "%name" "Run Forth" t)
(add-to-list 'auto-mode-alist '("\\.fs$" . forth-mode))
__EOF__
chmod 0755 %buildroot%_datadir/%name/%version/{httpd,filedump,sieve}.fs
# icons
install -d %buildroot{%_niconsdir,%_miconsdir,%_liconsdir}
install -m 0644 %SOURCE1 %buildroot/%_miconsdir/%name.png
install -m 0644 %SOURCE2 %buildroot/%_niconsdir/%name.png
install -m 0644 %SOURCE3 %buildroot/%_liconsdir/%name.png
#menu
install -d %buildroot%_desktopdir
iconv -f cp1251 -t utf-8 > %buildroot%_desktopdir/%name.desktop <<__MENU__
[Desktop Entry]
Encoding=UTF-8
GenericName=Gforth
Name=%Name shell
Name[uk]=%Name îáîëîíêà
Name[ru]=%Name îáîëî÷êà
Exec=%name
Icon=%name.png
Type=Application
Terminal=true
Categories=Application;Development;IDE;ConsoleOnly;
__MENU__
%post
%update_menus
%postun
%clean_menus
%post info
%install_info %name.info
%install_info vmgen.info
%preun info
%uninstall_info %name.info
%uninstall_info vmgen.info
%files
%dir %docdir
%docdir/AUTHORS
%docdir/BUGS
%docdir/Benchres
%docdir/ChangeLog*
%docdir/NEWS*
%docdir/README*
%docdir/ToDo
%_bindir/*
%_libexecdir/%name
%dir %_datadir/%name
%dir %_datadir/%name/%version
%_datadir/%name/%version/*
%dir %_datadir/%name/site-forth
%_datadir/%name/site-forth/*
%dir %_datadir/emacs
%dir %_datadir/emacs/site-lisp
%_datadir/emacs/site-lisp/*
%_man1dir/*
%_niconsdir/*
%_liconsdir/*
%_miconsdir/*
%_desktopdir/*
%files info
%_infodir/*
%if_with doc
%files doc-ps
%dir %docdir
%docdir/*.ps
%files doc-html
%dir %docdir
%docdir/*.html
%files doc-txt
%dir %docdir
%docdir/*.txt
%files doc-pdf
%dir %docdir
%docdir/*.pdf
%endif
%changelog
…
Todas as alterações você pod ver aqui