ctags/ctags.spec

247 lines
8.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package ctags (Version 2007.11.13)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: ctags
License: GPL v2 or later
Group: Development/Tools/Navigators
AutoReqProv: on
%define exuberant_ver 5.7
%define emacs_ver 17.34
Version: 2007.11.13
Release: 1
Summary: A Program to Generate Tag Files for Use with vi and Other Editors
Url: http://ctags.sourceforge.net/
Source0: ftp://ftp.sourceforge.net/pub/sourceforge/c/ct/ctags/ctags-%{exuberant_ver}.tar.bz2
Source1: etags-%{emacs_ver}.tar.gz
Source2: README.SuSE
Patch0: ctags-%{exuberant_ver}.diff
Patch1: ctags-ycp-parser.diff
Patch2: etags-%{emacs_ver}.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
CTags (from Darren Hiebert) generates tag files from source code in C,
C++, Eiffel, Fortran, and Java to be used with vi and its derivatives,
Emacs, and several other editors.
ETags (from GNU Emacs sources) generates tag files from source code in
Pascal, Cobol, Ada, Perl, LaTeX, Scheme, Emacs Lisp/Common Lisp,
Postscript, Erlang, Python, Prolog, and most assembler-like syntaxes.
Authors:
--------
Darren Hiebert <darren@hiebert.com>
Ken Arnold
Francesco Potort<EFBFBD> <pot@gnu.org>
%prep
%setup -n ctags-%{exuberant_ver} -b 1
%patch
%patch1
cd ../etags-%{emacs_ver}
%patch2
%build
CC=gcc
CFLAGS="$RPM_OPT_FLAGS -Wall"
export CFLAGS CC
./configure --prefix=/usr --mandir=%{_mandir} --disable-etags
make
cd ../etags-%{emacs_ver}
CFLAGS="$CFLAGS -I../ctags-%{exuberant_ver}"
CFLAGS="$CFLAGS -DHAVE_CONFIG_H -DHAVE_UNISTD_H -DHAVE_GETCWD"
$CC $CFLAGS -o etags etags.c
$CC $CFLAGS -DCTAGS -o gnuctags etags.c
%install
make install prefix=$RPM_BUILD_ROOT/usr mandir=$RPM_BUILD_ROOT%{_mandir}
mkdir -p $RPM_BUILD_ROOT%{_docdir}/ctags/Exuberant_Ctags
install -m 644 COPYING EXTENDING.html FAQ README $RPM_BUILD_ROOT%{_docdir}/ctags/Exuberant_Ctags
install -m 644 %{S:2} $RPM_BUILD_ROOT%{_docdir}/ctags
cd ../etags-%{emacs_ver}
install -m 755 etags gnuctags $RPM_BUILD_ROOT/usr/bin
install -m 644 etags.1 $RPM_BUILD_ROOT%{_mandir}/man1
ln -sf etags.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/gnuctags.1.gz
install -m 644 ETAGS.README $RPM_BUILD_ROOT%{_docdir}/ctags
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/usr/bin/ctags
/usr/bin/gnuctags
/usr/bin/etags
%{_mandir}/man1/ctags.1.gz
%{_mandir}/man1/gnuctags.1.gz
%{_mandir}/man1/etags.1.gz
%{_docdir}/ctags
%changelog
* Tue Nov 13 2007 - schwab@suse.de
- Update etags from Emacs trunk.
* Mon Nov 12 2007 - bwalle@suse.de
- update to ctags 5.7
* Added support for DIM AS [Freebasic]
* Added support for arbitrary nesting depth [Python]
* Added support for verbatim string literals [C#]
* Added support for .ctags as well as ctags.cnf on Windows
* Added support for non-extern, non-static functions returning
wchar_t, contributed by Aaron Peromsik [C++]
* Added support for numerous revision control systems including
Bazaar and Mercurial
* Added support for enums [Java]
* Added support for multiple-level namespace declarations [C#]
* Added .svn to list of directories ignored during recursion
(--recurse).
* Added support for BlitzBasic, PureBasic and FreeBasic
* Added support for interfaces and static/public/protected/
private functions [PHP].
* Added support for 'package' keyword [Perl].
* Added support for multi-line subroutine, package, and constant
definitions [Perl].
* Added support for optional subroutine declarations [Perl].
* Added support for formats [Perl].
* Added support for new convert keyword [Eiffel].
* Added optional tags for forward variable declarations [C, C++].
* Changed parsing of option input file (-L) to strip trailing
white space.
* Ignore comments mixed into definitions and declarations [Perl].
* Fixed detecting labels with whitespace after label name [Perl]
* Fixed parsing of generic classes/interfaces [Java]
* Fixed misidentification of fully qualified function calls as
labels [Perl].
* Fixed parsing of inner classes [Python]
* Fixed line continuation [Python]
* Fixed parsing of annotations [Java]
* Fixed block-comment parsing [Verilog]
* Fixed typo in man page
* Fixed missing chunk of text in man page and over-use of hyphens
in UTF-8 locales
* Fixed parsing of ` as a method name [Ruby].
* Fixed parsing of keywords in string literals [Ruby]
* Fixed potential segmentation violation
* Fixed parsing of destructors with whitespace after the '~' [C++]
* Fixed default access of unions to be public [C++]
* Fixed various memory leaks, mostly contributed by Dmitry Antipov.
* Fixed parsing of `define [Verilog]
* Fixed crashes involving '/' [Verilog]
* Fixed compilation problem on MinGW
* Fixed generation of HTML-formatted man page
* Fixed recognition of Python scripts having '#!/usr/bin/python'
as first line
* Fixed parsing of Fortran comment-to-end-of-line with no newline
before EOF [Debian]
* Fixed parsing of << [C/C++]
* Fixed parsing of fully-qualified type names [Java]
* Fixed handling of lone carriage-return characters in file
* Tue Feb 06 2007 - schwab@suse.de
- Update etags from CVS.
* Tue Jan 09 2007 - schwab@suse.de
- More etags fixes from CVS.
* Sat Dec 30 2006 - schwab@suse.de
- Fix handling of relative names in #line.
* Wed Dec 20 2006 - schwab@suse.de
- Update etags from CVS.
* Tue May 30 2006 - schwab@suse.de
- Update to ctags 5.6
* Reformatted code for independence of tab stop setting.
* Changed default configuration to disable installation of etags links.
* Changed --langmap to first unmap each supplied extension from other
languages.
* Added support for ASP constants [ASP, Patch #961842].
* Added support for GNU make extensions [Make].
* Added .mk as extension recognized as a make language file [Make].
* Added missing help for list-maps options [Bug #1201826].
* Added new extension field "typeref" [thanks to Bram Moolenaar].
* Extended functionality of Ruby parser with patch from Elliot Hughes
[Ruby].
* Fixed creation of TAGS file with etags-include but no files [Bug
[#941233]].
* Fixed problem reading last line of list file (-L) without final
newline.
* Fixed infinite loop that could occur on files without final newline
[C, Java].
* Fixed incorrect tag for first field of table [SQL].
* Fixed missing tags for functions beginning with underscore [Sh].
* Fixed missing tags for functions with variable arg list [C, Bug
[#1201689]].
* Fixed parsing problem with parentheses in argument list [C, Bug
[#1085585]].
* Fixed problem in preprocessor directive handling [C, Bug #1086609].
- Update etags to 17.17.
* Tue Mar 07 2006 - od@suse.de
- wrote and added a YCP parser based on the C code parser
(ctags-5.5.4-ycp-parser.diff)
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Dec 07 2005 - od@suse.de
- Added option -A/--allow-duplicates to gnuctags
* Wed Dec 07 2005 - od@suse.de
- Don't strip etags/gnuctags
* Tue Oct 18 2005 - schwab@suse.de
- Update to etags 17.14.
* Mon Nov 15 2004 - schwab@suse.de
- Update to etags 17.5.
* Tue May 04 2004 - schwab@suse.de
- Update to ctags 5.5.4.
* Sat Jan 10 2004 - adrian@suse.de
- add %%defattr
* Fri Sep 26 2003 - schwab@suse.de
- Update to ctags 5.5.2.
* Tue Aug 05 2003 - schwab@suse.de
- Update to ctags 5.5.1.
* Wed Apr 02 2003 - schwab@suse.de
- Update to ctags 5.5.
- Update to etags 16.56.
* Tue Sep 17 2002 - ro@suse.de
- removed bogus self-provides
* Tue Sep 17 2002 - schwab@suse.de
- Update to ctags 5.3.1.
* Thu Jul 18 2002 - schwab@suse.de
- Update to ctags 5.3.
* Fri Dec 14 2001 - schwab@suse.de
- Update ctags to 5.1.
- Update etags to 14.21.
* Thu May 18 2000 - schwab@suse.de
- Use BuildRoot.
- Remove etags.c changes again.
* Wed May 17 2000 - kasal@suse.cz
- strip etags/gnuctags
- Fixed etags.c changes
* Mon May 15 2000 - schwab@suse.de
- Discard etags.c changes (#2772).
* Mon Jan 31 2000 - werner@suse.de
- Really rename gctags to gnuctags
* Mon Jan 31 2000 - kasal@suse.cz
- fixed spec file to really use the *dif files
- gctags renamed to gnuctags
- rewrote the NOTEs in the manpages and added
"see also (gnu)ctags(1), gctags(1) and global(1)"
- etags.c now uses #ifdef's
* Wed Jan 26 2000 - werner@suse.de
- New ctags version 3.3.1
* Disable etags (is usable with `ctags -e')
- Add etags/ctags from Emacs sources
* rename this ctags with gctags
- Make some NOTEs within the manual pages of both packages
- Add a README.SuSE to explain why we have two versions
* Mon Sep 13 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Wed Sep 08 1999 - schwab@suse.de
- specfile cleanup
* Tue Jun 15 1999 - uli@suse.de
- update -> 3.2.2
* Sun Apr 13 1997 - florian@suse.de
- new package with ctags 1.5 (used to be together with vim.tgz)