File:  [gforth] / gforth / gforth.spec
Revision 1.4: download - view: text, annotated - select for diffs
Sun Jan 9 20:04:15 2011 UTC (7 years, 2 months ago) by pazsan
Branches: MAIN
CVS tags: HEAD
Added ppoll to socket.fs, made string.fs re-requireable even under different path (string.fs is now included inside the kernel, and the require interface works only for the image generation

# spec file for package gforth (Version 0.7.0)
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           gforth
%if 0%{?suse_version}
BuildRequires:  emacs-nox libffi-devel
PreReq:         %{install_info_prereq}
%if 0%{?rhel_version} || 0%{?centos_version}
BuildRequires:  emacs-nox libtool-ltdl-devel
Requires:       libtool-libs libtool-ltdl libtool-ltdl-devel
%if 0%{?fedora}
BuildRequires:  emacs-nox libtool-ltdl-devel libffi-devel
Requires:       libffi libtool-libs libtool-ltdl libtool-ltdl-devel libffi-devel
License:        GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v2 or later; GPL v3 or later
Group:          Development/Languages/Other
AutoReqProv:    on
Version:        0.7.9
Release:        62.1
Summary:        GNU Forth
Source:         gforth-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

Gforth is a fast and portable implementation of the ANS Forth language.

    Anton Ertl <>
    Bernd Paysan <>
    Jens Wilke <>

%setup -q

# Fixup timestamps. Can't rebuild them without working gforth
touch engine/prim.i engine/prim_lab.i
autoreconf -fi
./configure --prefix=/usr --mandir=%{_mandir} --infodir=%{_infodir} \
emacs --batch --no-site-file -f batch-byte-compile gforth.el
echo > gforth-autoloads.el
emacs --batch -l autoload --eval "(setq generated-autoload-file \"$PWD/gforth-autoloads.el\")" -f batch-update-autoloads .
  printf ';;; suse-start-gforth.el
;;; Code:\n
(add-to-list '\''auto-mode-alist '\''("\\\\.fs\\\\'\''" . forth-mode))\n\n'
  sed -n '/^;;; Generated/,/^;;;\*\*\*/p' gforth-autoloads.el
  printf '\n;;; suse-start-gforth.el ends here\n'
} > suse-start-gforth.el
make install.TAGS

make check

make install DESTDIR=$RPM_BUILD_ROOT prefix=/usr mandir=%{_mandir} infodir=%{_infodir}
install -d $RPM_BUILD_ROOT/usr/share/emacs/site-lisp
install -m 644 gforth.el gforth.elc suse-start-gforth.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp


%install_info --info-dir=%{_infodir} %{_infodir}/

%install_info_delete --info-dir=%{_infodir} %{_infodir}/

%if 0%{?suse_version}
%dir /usr/share/gforth/site-forth
%config /usr/share/gforth/site-forth/siteinit.fs
%doc %{_infodir}/*.gz
%doc %{_mandir}/man?/*

* Thu Dec 23 2010
- Started buildservice project
* Thu Nov 06 2008
- Update to gforth 0.7.0.
  At run-time requires libtool and gcc (for the libcc C interface) and
  gdb (for the disassembler (SEE)) on some platforms.
  automatic performance tuning on building (--enable-force-reg unnecessary)
  report performance and functionality problems at end of "make" now exists
  Changed to GPLv3
  Bug fixes
  Now works with address-space randomization.
  The single-step debugger works again in some engines.
  Many others.
  AMD64, ARM, IA-64 (Itanium): better performance
  PPC, PPC64: disassembler and assembler
  Gforth EC: R8C, 4stack, misc, 8086 work
  MacOS X: better support
  New flags --ignore-async-signals, --vm-commit (default overcommit)
  Forth 200x:
  X:extension-query: produce true for all implemented extensions
  X:required REQUIRED etc. (not new)
  X:defined: [DEFINED] and [UNDEFINED]
  X:parse-name: PARSE-NAME (new name)
  X:deferred: deferred words (new: DEFER@ DEFER! ACTION-OF)
  X:structures: +FIELD FIELD: FFIELD: CFIELD: etc.
  X:fp-stack (not new)
  X:number-prefixes (partially new, see below)
  Number prefixes:
  0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255
  [#] is a decimal prefix: #10 now produces (decimal) 10
  Signs after the number prefix are now accepted, e.g, #-50.
  ' now only handles a single (x)char: 'ab is no longer accepted,
  'a' now produces (decimal) 97
  Unicode support (currently supports only uniform encoding):
  added xchars words for dealing with variable-width multi-byte characters
  provide 8bit (ISO Latin 1) and UTF-8 support for xchars
  New words:
  LIB-ERROR (complements OPEN-LIB)
  OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state)
  16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L
  NEXT-ARG SHIFT-ARGS (OS command-line argument processing)
  NOTHROW (for backtrace control)
  FTRUNC FMOD (undocumented)
  SEE-CODE SEE-CODE-RANGE (show generated dynamic native code)
  Improvements/changes of existing words:
  S\", .\" now support \l, \m, \z, and limits hex and octal character specs.
  OPEN-FILE with W/O no longer creates or truncates files (no compat. file)
  OPEN-LIB now understands ~ at the start, like OPEN-FILE.
  TRY...ENDTRY changed significantly, compatibility files available (see docs).
  The disassembler (DISCODE) can now use gdb to disassemble code
  Uninitialized defered words now give a warning when executed
  Division is floored (disable with "configure --enable-force-cdiv")
  Gforth (not gforth-fast) reports division by zero and overflow on division
  on all platforms.
  Newly documented words:
  Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends)
  C interface:
  exported symbols now start with "gforth_" (for referencing them from C code)
  libcc C function call interface (requires libtool and gcc at run-time)
  alternative: undocumented libffi-based interface
  depth-changes.fs: report stack depth changes during interpretation
  ans-report.fs now reports CfV extensions
  fsl-util.4th: FSL support files (undocumented)
  regexp.fs for regular expressions (undocumented)
  complex.fs for complex numbers (undocumented)
  fft.fs for Fast Fourier Transform (undocumented)
  wf.fs, a Wiki implementation (undocumented)
  httpd.fs, a web server (undocumented)
  status.fs, show interpreter status in separate xterm (undocumented)
  profile.fs for profiling (undocumented, incomplete)
  endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition
  test/tester.fs: Now works with FP numbers (undocumented)
  test/ttester.fs: Version of tester.fs with improved interface (T{...}T).
  compat library:
  Speed improvements:
  automatic performance tuning on building
  static stack caching (good speedup on PPC)
  mixed-precision division is now faster
  support for int128 types on AMD64
  workarounds for gcc performance bugs (in particular, PR 15242)
  branch target alignment (good speedup on Alpha).
* Wed Jul 09 2008
- Fix last change.
* Sat Jul 05 2008
- Fix use of undocumented autoconf variable.
* Thu Oct 11 2007
- Remove obsolete options.
* Wed Jan 25 2006
- converted neededforbuild to BuildRequires
* Thu Jan 19 2006
- Don't strip binaries.
* Tue Dec 20 2005
- fix file list
* Wed Jan 21 2004
- Workaround gcc 3.3 bug.
* Fri Jan 09 2004
- Update to gforth 0.6.2.
* Tue Oct 28 2003
- Fix quoting in configure script.
* Wed Jul 02 2003
- Fix references to build root.
* Tue May 13 2003
- Fix filelist.
* Thu Apr 24 2003
- fix install_info --delete call and move from preun to postun
* Wed Apr 23 2003
- Enable use of long long on ppc.
- Fix and compile gforth.el.
- Add suse-start-gforth.el.
- Include all gforth variants.
* Tue Apr 22 2003
- Use BuildRoot.
* Mon Apr 07 2003
- Only delete info entries when removing last version.
* Thu Mar 27 2003
- Update to gforth 0.6.1.
* Thu Feb 06 2003
- Use %%install_info.
* Tue Sep 17 2002
- removed bogus self-provides
* Thu Apr 18 2002
- Fix alpha port for gcc3.
* Thu Apr 18 2002
- Fix i386 port for gcc3.
* Mon Feb 25 2002
- Fix permissions.
* Tue May 08 2001
- bzip2 sources
* Sun Apr 15 2001
- Fix pointer <-> int clash.
* Fri Oct 06 2000
- Update to version 0.5.0.
* Thu Aug 17 2000
- Fix ia64 configuration.
* Thu Aug 17 2000
- Basic support for ia64.
* Tue Jan 18 2000
- /usr/{info,man} -> /usr/share/{info,man}
* Mon Sep 13 1999
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Mon Aug 30 1999
- specfile cleanup
- fix prims2x.fs:read-whole-file for make check
* Fri May 21 1999
- update to 0.4.0
* Sat Jun 07 1997
- first version of GNU forth 0.3 for S.u.S.E.

FreeBSD-CVSweb <>