File perl-HTML-Tree.spec of Package perl-HTML-Tree

# spec file for package perl-HTML-Tree
# Copyright (c) 2011 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

%bcond_with opt

Name:           perl-HTML-Tree
Version:        4.2
Release:        1
License:        GPL-1.0+ or Artistic-1.0
%define cpan_name HTML-Tree
Summary:        Build and scan parse-trees of HTML
Group:          Development/Libraries/Perl
Source:         %{cpan_name}-%{version}.tar.gz
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl(Module::Build)
BuildRequires:  perl(Test::Exception)
BuildRequires:  perl(Test::More)
BuildRequires:  perl-macros
%if 0%{?with opt}
BuildRequires:  perl(Test::Perl::Critic)
BuildRequires:  perl(Test::Pod) >= 1.14
BuildRequires:  perl(Test::Pod::Coverage) >= 1.04
BuildRequires:  perl(HTML::Parser) >= 3.46
BuildRequires:  perl(HTML::Tagset) >= 3.02
Requires:       perl(HTML::Parser) >= 3.46
Requires:       perl(HTML::Tagset) >= 3.02

HTML-Tree is a suite of Perl modules for making parse trees out of HTML
source. It consists of mainly two modules, whose documentation you should
refer to: HTML::TreeBuilder and HTML::Element.

HTML::TreeBuilder is the module that builds the parse trees. (It uses
HTML::Parser to do the work of breaking the HTML up into tokens.)

The tree that TreeBuilder builds for you is made up of objects of the class

If you find that you do not properly understand the documentation for
HTML::TreeBuilder and HTML::Element, it may be because you are unfamiliar
with tree-shaped data structures, or with object-oriented modules in
general. Sean Burke has written some articles for _The Perl Journal_
('') that seek to provide that background. The full text of
those articles is contained in this distribution, as:

* HTML::Tree::AboutObjects

  "User's View of Object-Oriented Modules" from TPJ17.

* HTML::Tree::AboutTrees

  "Trees" from TPJ18

* HTML::Tree::Scanning

  "Scanning HTML" from TPJ19

Readers already familiar with object-oriented modules and tree-shaped data
structures should read just the last article. Readers without that
background should read the first, then the second, and then the third.

    Redirects to HTML::TreeBuilder::new

    Redirects to HTML::TreeBuilder::new_from_file

    Redirects to HTML::TreeBuilder::new_from_content

%setup -q -n %{cpan_name}-%{version}

%{__perl} Build.PL installdirs=vendor
./Build build flags=%{?_smp_mflags}

./Build test

./Build install destdir=%{buildroot} create_packlist=0

%{__rm} -rf %{buildroot}

%files -f %{name}.files
%doc Changes README TODO