8
0
forked from pool/perl-JSON-Any
2025-06-23 20:34:54 +00:00
committed by Git OBS Bridge
commit 4627e3f644
6 changed files with 301 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

3
JSON-Any-1.40.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:083256255a48094fd9ac1239e0fea8a10a2383a9cd1ef4b1c7264ede1b4400ab
size 40670

23
cpanspec.yml Normal file
View File

@@ -0,0 +1,23 @@
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module

108
perl-JSON-Any.changes Normal file
View File

@@ -0,0 +1,108 @@
-------------------------------------------------------------------
Mon Jun 23 20:34:49 UTC 2025 - Tina Müller <tina.mueller@suse.com>
- Normalize CPAN version
See https://github.com/openSUSE/cpanspec/issues/47 for details
-------------------------------------------------------------------
Fri Mar 8 22:34:35 UTC 2024 - Tina Müller <tina.mueller@suse.com>
- Fix disabling of __perllib_provides
-------------------------------------------------------------------
Sun Sep 10 03:06:47 UTC 2023 - Tina Müller <timueller+perl@suse.de>
- updated to 1.40
see /usr/share/doc/packages/perl-JSON-Any/Changes
1.40 2023-09-09 21:59:01Z
- fix issues on perl 5.39.1 with 'import' subs
- added support for JSON v3, v4, JSON::XS v4
-------------------------------------------------------------------
Sun Jun 14 08:15:38 UTC 2015 - coolo@suse.com
- updated to 1.39
see /usr/share/doc/packages/perl-JSON-Any/Changes
1.39 2015-06-10 04:37:49Z
- mark this distribution as deprecated in metadata
- drop dependency on namespace::clean
-------------------------------------------------------------------
Mon Apr 13 19:30:04 UTC 2015 - coolo@suse.com
- updated to 1.38
see /usr/share/doc/packages/perl-JSON-Any/Changes
-------------------------------------------------------------------
Tue Nov 26 07:34:04 UTC 2013 - coolo@suse.com
- updated to 1.32
Include dep Test::Requires in dist.ini
bump minimum version requirement for JSON.pm
fix the tests to properly exclude JSON::XS
A bug came up where JSON::XS and JSON.pm had incompatible revisions
but installed just fine. This was a problem because JSON.pm will
silently load JSON::XS in the background and caused explosions.
We now try to exclude JSON::XS except in the case we're actually
testing it directly.
Also we've removed some of the tests for JSON::Syck as it's been
deprecated. We also add in tests for Cpanel::JSON::XS which got
missed when it was added as a choice.
JSON::XS 3.x is incompatible with JSON.pm < 2.90 in the exact way
that JSON::Any uses things in the test suite.
-------------------------------------------------------------------
Fri Jul 26 05:42:06 UTC 2013 - coolo@suse.com
- updated to 1.30
* Add support for Cpanel::JSON::XS and JSON::PP. Fixes RT#85424 & RT#67967. (perigrin)
* Fix documentation bug RT#86065.
-------------------------------------------------------------------
Wed Jun 08 23:54:08 UTC 2011 - pascal.bleser@opensuse.org
- update to 1.29:
* artificially bump our version number because an upstream author decided to
not play nice, fixes RT#68690
- changes from 1.23:
* support JSON v1.15 as well as 2.x
-------------------------------------------------------------------
Wed Dec 1 13:33:08 UTC 2010 - coolo@novell.com
- switch to perl_requires macro
-------------------------------------------------------------------
Mon Nov 29 18:30:20 UTC 2010 - coolo@novell.com
- remove /var/adm/perl-modules
-------------------------------------------------------------------
Sun Nov 28 11:37:51 UTC 2010 - coolo@novell.com
- remove .packlist file
-------------------------------------------------------------------
Sun Jul 25 00:00:00 UTC 2010 - pascal.bleser@opensuse.org
- update to 1.22
-------------------------------------------------------------------
Thu Apr 9 00:00:00 UTC 2009 - pascal.bleser@opensuse.org
- update to 1.19
- spec file pimping
-------------------------------------------------------------------
Sun Oct 26 00:00:00 UTC 2008 - gerrit.beine@gmx.de
- first release 1.17

143
perl-JSON-Any.spec Normal file
View File

@@ -0,0 +1,143 @@
#
# spec file for package perl-JSON-Any
#
# 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 JSON-Any
Name: perl-JSON-Any
Version: 1.400.0
Release: 0
# 1.40 -> normalize -> 1.400.0
%define cpan_version 1.40
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: (DEPRECATED) Wrapper Class for the various JSON classes
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(CPAN::Meta::Requirements) >= 2.121
BuildRequires: perl(Module::Metadata)
BuildRequires: perl(Test::Fatal)
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::Needs)
BuildRequires: perl(Test::Warnings) >= 0.9
BuildRequires: perl(Test::Without::Module)
Provides: perl(JSON::Any) = %{version}
%undefine __perllib_provides
%{perl_requires}
%description
This module tries to provide a coherent API to bring together the various
JSON modules currently on CPAN. This module will allow you to code to any
JSON API and have it work regardless of which JSON module is actually
installed.
use JSON::Any;
my $j = JSON::Any->new;
$json = $j->objToJson({foo=>'bar', baz=>'quux'});
$obj = $j->jsonToObj($json);
or
$json = $j->encode({foo=>'bar', baz=>'quux'});
$obj = $j->decode($json);
or
$json = $j->Dump({foo=>'bar', baz=>'quux'});
$obj = $j->Load($json);
or
$json = $j->to_json({foo=>'bar', baz=>'quux'});
$obj = $j->from_json($json);
or without creating an object:
$json = JSON::Any->objToJson({foo=>'bar', baz=>'quux'});
$obj = JSON::Any->jsonToObj($json);
On load, JSON::Any will find a valid JSON module in your @INC by looking
for them in this order:
Cpanel::JSON::XS
JSON::XS
JSON::PP
JSON
JSON::DWIW
And loading the first one it finds.
You may change the order by specifying it on the 'use JSON::Any' line:
use JSON::Any qw(DWIW XS CPANEL JSON PP);
Specifying an order that is missing modules will prevent those module from
being used:
use JSON::Any qw(CPANEL PP); # same as JSON::MaybeXS
This will check in that order, and will never attempt to load JSON::XS,
JSON.pm/JSON, or JSON::DWIW. This can also be set via the
'$ENV{JSON_ANY_ORDER}' environment variable.
JSON::Syck has been deprecated by its author, but in the attempt to still
stay relevant as a "Compatibility Layer" JSON::Any still supports it. This
support however has been made optional starting with JSON::Any 1.19. In
deference to a bug request starting with JSON.pm 1.20, JSON::Syck and other
deprecated modules will still be installed, but only as a last resort and
will now include a warning.
use JSON::Any qw(Syck XS JSON);
or
$ENV{JSON_ANY_ORDER} = 'Syck XS JSON';
At install time, JSON::Any will attempt to install JSON::PP as a reasonable
fallback if you do not appear have *any* backends installed on your system.
WARNING: If you call JSON::Any with an empty list
use JSON::Any ();
It will skip the JSON package detection routines and will die loudly that
it couldn't find a package.
%prep
%autosetup -n %{cpan_name}-%{cpan_version} -p1
%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 README
%license LICENCE
%changelog