# # 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