File perl-JSON-MaybeXS.spec of Package perl-JSON-MaybeXS

# spec file for package perl-JSON-MaybeXS
# Copyright (c) 2018 SUSE LINUX 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

Name:           perl-JSON-MaybeXS
Version:        1.004000
Release:        0
%define cpan_name JSON-MaybeXS
Summary:        Use L<Cpanel::JSON::XS> with a fallback to L<JSON::XS> and L<JSON::PP>
License:        Artistic-1.0 OR GPL-1.0-or-later
Group:          Development/Libraries/Perl
Source1:        cpanspec.yml
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(Cpanel::JSON::XS) >= 2.3310
BuildRequires:  perl(JSON::PP) >= 2.27300
BuildRequires:  perl(Test::More) >= 0.88
Requires:       perl(Cpanel::JSON::XS) >= 2.3310
Requires:       perl(JSON::PP) >= 2.27300
Recommends:     perl(Cpanel::JSON::XS) >= 2.3310

This module first checks to see if either Cpanel::JSON::XS or JSON::XS is
already loaded, in which case it uses that module. Otherwise it tries to
load Cpanel::JSON::XS, then JSON::XS, then JSON::PP in order, and either
uses the first module it finds or throws an error.

It then exports the 'encode_json' and 'decode_json' functions from the
loaded module, along with a 'JSON' constant that returns the class name for
calling 'new' on.

If you're writing fresh code rather than replacing usage, you might
want to pass options as constructor args rather than calling mutators, so
we provide our own 'new' method that supports that.

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

%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}

%{__make} test


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

openSUSE Build Service is sponsored by