# some tests require Internet access, don't enable by default %bcond network_tests 0 Name: perl-WWW-Mechanize-Chrome Version: 0.72 Release: 4%{?dist} Summary: Automate the Chrome browser License: GPL-1.0-or-later OR Artistic-1.0-Perl URL: https://metacpan.org/dist/WWW-Mechanize-Chrome Source0: https://cpan.metacpan.org/authors/id/C/CO/CORION/WWW-Mechanize-Chrome-%{version}.tar.gz BuildArch: noarch BuildRequires: make perl-interpreter perl-generators coreutils BuildRequires: perl(:VERSION) >= 5.20 BuildRequires: perl(AnyEvent) BuildRequires: perl(AnyEvent::Future) BuildRequires: perl(AnyEvent::WebSocket::Client) BuildRequires: perl(Carp) BuildRequires: perl(Config) BuildRequires: perl(Cwd) BuildRequires: perl(Data::Dump) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Encode) BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(Fcntl) BuildRequires: perl(File::Basename) BuildRequires: perl(File::Glob) BuildRequires: perl(File::Spec) BuildRequires: perl(File::Temp) BuildRequires: perl(Filter::signatures) BuildRequires: perl(Future) >= 0.35 BuildRequires: perl(Future::HTTP) >= 0.06 BuildRequires: perl(Future::Mojo) BuildRequires: perl(Future::Utils) BuildRequires: perl(HTML::Selector::XPath) BuildRequires: perl(HTTP::Cookies) BuildRequires: perl(HTTP::Headers) BuildRequires: perl(HTTP::Response) BuildRequires: perl(Image::Info) BuildRequires: perl(Imager) BuildRequires: perl(IO::Async::Loop) BuildRequires: perl(IO::Async::Stream) BuildRequires: perl(IO::Socket::INET) BuildRequires: perl(IPC::Open3) BuildRequires: perl(JSON) BuildRequires: perl(Log::Log4perl) BuildRequires: perl(MIME::Base64) BuildRequires: perl(Mojo::IOLoop::Stream) BuildRequires: perl(Mojo::UserAgent) BuildRequires: perl(Moo) >= 2 BuildRequires: perl(MooX::Role::EventEmitter) BuildRequires: perl(Net::Async::WebSocket::Client) >= 0.12 BuildRequires: perl(Object::Import) BuildRequires: perl(PerlX::Maybe) BuildRequires: perl(Pod::Markdown) BuildRequires: perl(POSIX) BuildRequires: perl(Scalar::Util) BuildRequires: perl(Storable) BuildRequires: perl(Symbol) BuildRequires: perl(Test::Deep) BuildRequires: perl(Test::HTTP::LocalServer) >= 0.71 BuildRequires: perl(Test::Memory::Cycle) BuildRequires: perl(Test::More) BuildRequires: perl(Test::Without::Module) BuildRequires: perl(Time::HiRes) BuildRequires: perl(Try::Tiny) BuildRequires: perl(URI) BuildRequires: perl(URI::file) BuildRequires: perl(WWW::Mechanize::Link) BuildRequires: perl(feature) BuildRequires: perl(lib) BuildRequires: perl(overload) BuildRequires: perl(parent) BuildRequires: perl(strict) BuildRequires: perl(warnings) BuildRequires: xorg-x11-server-Xvfb font(:lang=en) chromium # some runtime deps are missed Requires: perl(Cwd) Requires: perl(HTTP::Cookies) Requires: perl(Imager) Requires: perl(Log::Log4perl) %description Like WWW::Mechanize, this module automates web browsing with a Perl object. Fetching and rendering of web pages is delegated to the Chrome (or Chromium) browser by starting an instance of the browser and controlling it with Chrome DevTools. %prep %setup -q -n WWW-Mechanize-Chrome-%{version} %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 %{make_build} %install %{make_install} %{_fixperms} %{buildroot}/* %check # make sure some environment variables that can alter behavior are not set unset \ CHROME_BIN \ WWW_MECHANIZE_CHROME_TRANSPORT \ WWW_MECHANIZE_CHROME_CONNECTION_STYLE \ TEST_WWW_MECHANIZE_CHROME_INSTANCE \ TEST_LOG_LEVEL \ TEST_WWW_MECHANIZE_CHROME_VERSIONS # skip tests that use the Internet %if %{without network_tests} for tst in \ t/50-mech-content-nonhtml.t \ t/62-networkstatus.t \ ; do echo 'use Test::More skip_all => "no network access"' > $tst done %endif xvfb-run -d make test %files %doc Changes README # note: files all say perl_5 which is GPLv1/Artistic but file is Artistic-2 # https://github.com/Corion/WWW-Mechanize-Chrome/issues/80 #license LICENSE %{perl_vendorlib}/Chrome %{perl_vendorlib}/HTTP/Cookies/Chrome* %{perl_vendorlib}/WWW/Mechanize/Chrome* %{_mandir}/man3/Chrome* %{_mandir}/man3/HTTP::Cookies::Chrome* %{_mandir}/man3/WWW::Mechanize::Chrome* %changelog * Fri Mar 08 2024 Chris Adams 0.72-4 - additional spec file cleanups * Thu Feb 01 2024 Chris Adams 0.72-3 - additional spec file cleanups * Sat Jan 20 2024 Chris Adams 0.72-2 - spec file cleanups * Sat Nov 25 2023 Chris Adams 0.72-1 - initial package