File perl-Net-SAML2.spec of Package perl-Net-SAML2
#
# spec file for package perl-Net-SAML2
#
# Copyright (c) 2025 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 Net-SAML2
Name: perl-Net-SAML2
Version: 0.82
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: SAML bindings and protocol implementation
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Crypt::OpenSSL::Bignum)
BuildRequires: perl(Crypt::OpenSSL::RSA)
BuildRequires: perl(Crypt::OpenSSL::Random)
BuildRequires: perl(Crypt::OpenSSL::Verify)
BuildRequires: perl(Crypt::OpenSSL::X509)
BuildRequires: perl(DateTime)
BuildRequires: perl(DateTime::Format::XSD)
BuildRequires: perl(DateTime::HiRes)
BuildRequires: perl(File::Slurper)
BuildRequires: perl(HTTP::Request::Common)
BuildRequires: perl(IO::Compress::RawDeflate)
BuildRequires: perl(IO::Uncompress::RawInflate)
BuildRequires: perl(Import::Into)
BuildRequires: perl(LWP::Protocol::https)
BuildRequires: perl(LWP::UserAgent)
BuildRequires: perl(Moose)
BuildRequires: perl(Moose::Role)
BuildRequires: perl(MooseX::Test::Role)
BuildRequires: perl(MooseX::Types)
BuildRequires: perl(MooseX::Types::Common::String)
BuildRequires: perl(MooseX::Types::DateTime)
BuildRequires: perl(MooseX::Types::Moose)
BuildRequires: perl(MooseX::Types::URI)
BuildRequires: perl(Path::Tiny)
BuildRequires: perl(Sub::Override)
BuildRequires: perl(Test::Deep)
BuildRequires: perl(Test::Exception)
BuildRequires: perl(Test::Fatal)
BuildRequires: perl(Test::Lib)
BuildRequires: perl(Test::Mock::One)
BuildRequires: perl(Test::NoTabs)
BuildRequires: perl(Test::Pod) >= 1.14
BuildRequires: perl(Test::Pod::Coverage) >= 1.04
BuildRequires: perl(Try::Tiny)
BuildRequires: perl(Types::Serialiser)
BuildRequires: perl(URI)
BuildRequires: perl(URI::Encode)
BuildRequires: perl(URI::Escape)
BuildRequires: perl(URI::QueryParam)
BuildRequires: perl(URN::OASIS::SAML2) >= 0.007
BuildRequires: perl(XML::Enc) >= 0.13
BuildRequires: perl(XML::Generator) >= 1.13
BuildRequires: perl(XML::LibXML)
BuildRequires: perl(XML::LibXML::XPathContext)
BuildRequires: perl(XML::Sig) >= 0.66
BuildRequires: perl(namespace::autoclean)
Requires: perl(Crypt::OpenSSL::Bignum)
Requires: perl(Crypt::OpenSSL::RSA)
Requires: perl(Crypt::OpenSSL::Random)
Requires: perl(Crypt::OpenSSL::Verify)
Requires: perl(Crypt::OpenSSL::X509)
Requires: perl(DateTime)
Requires: perl(DateTime::Format::XSD)
Requires: perl(DateTime::HiRes)
Requires: perl(File::Slurper)
Requires: perl(HTTP::Request::Common)
Requires: perl(IO::Compress::RawDeflate)
Requires: perl(IO::Uncompress::RawInflate)
Requires: perl(LWP::Protocol::https)
Requires: perl(LWP::UserAgent)
Requires: perl(Moose)
Requires: perl(Moose::Role)
Requires: perl(MooseX::Types)
Requires: perl(MooseX::Types::Common::String)
Requires: perl(MooseX::Types::DateTime)
Requires: perl(MooseX::Types::Moose)
Requires: perl(MooseX::Types::URI)
Requires: perl(Try::Tiny)
Requires: perl(Types::Serialiser)
Requires: perl(URI)
Requires: perl(URI::Encode)
Requires: perl(URI::Escape)
Requires: perl(URI::QueryParam)
Requires: perl(URN::OASIS::SAML2) >= 0.007
Requires: perl(XML::Enc) >= 0.13
Requires: perl(XML::Generator) >= 1.13
Requires: perl(XML::LibXML)
Requires: perl(XML::LibXML::XPathContext)
Requires: perl(XML::Sig) >= 0.66
Requires: perl(namespace::autoclean)
%{perl_requires}
%description
Support for the Web Browser SSO profile of SAML2.
Version 0.54 and newer support EncryptedAssertions. No changes required to
existing SP applications if EncryptedAssertions are not in use.
Net::SAML2 correctly perform the SSO process against numerous SAML Identity
Providers (IdPs). It has been tested against:
* Auth0 (requires Net::SAML2 >=0.39)
* Azure (Microsoft Office 365)
* GSuite (Google)
* Jump
* Keycloak
* MockSAML (https://mocksaml.com/)
* Mircosoft ADFS
* Okta
* OneLogin
* PingIdentity (requires Net::SAML2 >=0.54)
* SAMLTEST.ID (requires Net::SAML2 >=0.63)
* Shibboleth (requires Net::SAML2 >=0.63)
* SimpleSAMLphp
* DigiD (requires Net::SAML2 >= 0.63)
* eHerkenning (requires Net::SAML2 >= 0.73)
* eIDAS (requires Net::SAML2 >= 0.73)
%prep
%autosetup -n %{cpan_name}-%{version}
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644
%build
perl Makefile.PL INSTALLDIRS=vendor
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes CONTRIBUTING.md CONTRIBUTORS README TUTORIAL.md
%license LICENSE
%changelog