From 4627e3f6446f09b05f8d823f6f76fb239700cd355fb9d8766d5cd2ac0b7483bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tina=20M=C3=BCller?= Date: Mon, 23 Jun 2025 20:34:54 +0000 Subject: [PATCH] Normalize CPAN version See https://github.com/openSUSE/cpanspec/issues/47 for details OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JSON-Any?expand=0&rev=23 --- .gitattributes | 23 +++++++ .gitignore | 1 + JSON-Any-1.40.tar.gz | 3 + cpanspec.yml | 23 +++++++ perl-JSON-Any.changes | 108 +++++++++++++++++++++++++++++++ perl-JSON-Any.spec | 143 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 301 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 JSON-Any-1.40.tar.gz create mode 100644 cpanspec.yml create mode 100644 perl-JSON-Any.changes create mode 100644 perl-JSON-Any.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/JSON-Any-1.40.tar.gz b/JSON-Any-1.40.tar.gz new file mode 100644 index 0000000..e0c165a --- /dev/null +++ b/JSON-Any-1.40.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:083256255a48094fd9ac1239e0fea8a10a2383a9cd1ef4b1c7264ede1b4400ab +size 40670 diff --git a/cpanspec.yml b/cpanspec.yml new file mode 100644 index 0000000..9b7ec50 --- /dev/null +++ b/cpanspec.yml @@ -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 diff --git a/perl-JSON-Any.changes b/perl-JSON-Any.changes new file mode 100644 index 0000000..1070f38 --- /dev/null +++ b/perl-JSON-Any.changes @@ -0,0 +1,108 @@ +------------------------------------------------------------------- +Mon Jun 23 20:34:49 UTC 2025 - Tina Müller + +- Normalize CPAN version + See https://github.com/openSUSE/cpanspec/issues/47 for details + +------------------------------------------------------------------- +Fri Mar 8 22:34:35 UTC 2024 - Tina Müller + +- Fix disabling of __perllib_provides + +------------------------------------------------------------------- +Sun Sep 10 03:06:47 UTC 2023 - Tina Müller + +- 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 + + diff --git a/perl-JSON-Any.spec b/perl-JSON-Any.spec new file mode 100644 index 0000000..d6800ba --- /dev/null +++ b/perl-JSON-Any.spec @@ -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