Files
perl-Parse-ExuberantCTags/perl-Parse-ExuberantCTags.spec
2025-08-12 18:16:20 +02:00

79 lines
2.9 KiB
RPMSpec

#
# spec file for package perl-Parse-ExuberantCTags
#
# Copyright (c) 2024 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%define cpan_name Parse-ExuberantCTags
Name: perl-Parse-ExuberantCTags
Version: 1.20.0
Release: 0
# 1.02 -> normalize -> 1.20.0
%define cpan_version 1.02
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Efficiently parse exuberant ctags files
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/S/SM/SMUELLER/%{cpan_name}-%{cpan_version}.tar.gz
Source100: README.md
BuildRequires: perl
BuildRequires: perl-macros
Provides: perl(Parse::ExuberantCTags) = %{version}
%undefine __perllib_provides
%{perl_requires}
%description
This Perl module parses _ctags_ files and handles both traditional ctags as
well as extended ctags files such as produced with _Exuberant ctags_. To
the best of my knowledge, it does not handle emacs-style "_etags_" files.
The module is implemented as a wrapper around the _readtags_ library that
normally ships with _Exuberant ctags_. If you do not know what that is, you
are encouraged to have a look at http://ctags.sourceforge.net/. In order to
use this module, you do not need _Exuberant ctags_ on your system. The
module ships a copy of _readtags_. Quoting the _readtags_ documentation:
The functions defined in this interface are intended to provide tag file
support to a software tool. The tag lookups provided are sufficiently fast
enough to permit opening a sorted tag file, searching for a matching tag,
then closing the tag file each time a tag is looked up (search times are
on the order of hundreths of a second, even for huge tag files). This is
the recommended use of this library for most tool applications. Adhering
to this approach permits a user to regenerate a tag file at will without
the tool needing to detect and resynchronize with changes to the tag file.
Even for an unsorted 24MB tag file, tag searches take about one second.
Take away from this that tag files should be sorted by the generating
program.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes perlobject.map README
%changelog