Files
perl-Data-Alias/perl-Data-Alias.spec

89 lines
2.9 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package perl-Data-Alias
#
# Copyright (c) 2024 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.
Accepting request 640474 from devel:languages:perl:autoupdate - Fix build - updated to 1.21 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.21; 2017-12-08 * update for context stack changes in Perl 5.23.8 * update to accommodate PERL_OP_PARENT builds of Perl 5.21.11 or later (which is the default from Perl 5.25.1) * update for removal of LEX_KNOWNEXT in Perl 5.25.1 * update test suite to not rely on . in @INC, which is no longer necessarily there from Perl 5.25.7 * use cleaner wrap_op_checker() API to control op checking - updated to 1.20 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.20; 2015-10-21 * bugfix: avoid some C undefined behaviour from unsequenced side effects that in practice bit when using a newer gcc (4.9 rather than 4.7) with the parser token stack change in Perl 5.21.9 * add doc note advising users to prefer the core aliasing facility on Perl 5.22 version 1.19; 2015-10-21 * update for new stricture on op_last in Perl 5.21.2 * update for the parser's PL_expect changes in Perl 5.21.4 * update for op_private stricture in Perl 5.21.4 * update for sub references directly in stash in Perl 5.21.4 * update for IS_PADGV()'s limited visibility in Perl 5.21.4 * update for increased specialness of OP_PUSHMARK in Perl 5.21.6 * update for distinct PADNAMELIST type in Perl 5.21.7 * update for multideref optimisation in Perl 5.21.7, by a disgusting hack that depends on a flaw in the optimisation (which may disappear in the future) and which disables the optimisation entirely * add MYMETA.json to .gitignore - updated to 1.18 * bugfix: store peep chain link reliably under threads * update tests for Perl 5.19.4's removal of the special treatment of aliased undef in arrays * in doc, switch to consistent use of British English spellings * doc typo fix version 1.17; 2013-08-04 * bugfix: correct the dtrace-related macro squashing for Perls prior to 5.13.8, where the macros had the wrong number of parameters and prevented compilation * bugfix: use core's PL_no_localize_ref string constant as data string rather than format string * update to handle the new padrange op type in Perl 5.17.6 * update to handle the new op allocation mechanism in Perl 5.17.2 * clarify and expand documentation around list-like assignments * clarify documentation of deref() regarding lvalueness * remove the bulk of the documentation from the README file version 1.16; 2011-11-17 * bugfix: use supported API to put destructor calls on the save stack (the unsupported way used before was wrong for 64-bit systems on perl 5.13.1 and later) * document the behaviour of "alias return" in more detail * convert .cvsignore to .gitignore - update to 1.14 * port to Perl 5.15.0, where the op type aelemfast has been split into aelemfast and aelemfast_lex * test compatibility with Devel::CallParser * bugfix: never unhook peephole optimiser, because unhooking is liable to fail if anything else hooked it * bugfix: revise check for dorassign opcode to cope with FreeBSD's mutant Perl 5.8 that has it * test POD syntax and coverage * bugfix: prevent the lexer getting confused if the first thing inside an alias{} block is an open paren * bugfix: don't crash if an rv2cv op is built with PL_parser null * bugfix: handle variant structure of entersub op which lacks (ex-)list op as direct child * bugfix: squash bogus dtrace-related macro definitions that are picked up due to defining PERL_CORE * switch all pp functions to internal linkage * avoid some compiler warnings * include .cvsignore file in distribution - updated to 1.12 - Updated to work with Perl version 5.13.10, where GvGP() and GvCV() are not directly-assignable lvalues - Don't rely on details of core's pp_* functions to determine whether an opcode exists, because they can change unpredictably (and do change in Perl 5.13.9) - switch to perl_requires macro - update to 1.10 - Updated to work with Perl version 5.13.7, where lex_end() has disappeared and mod() is now in the public API under the name op_lvalue() - 1.09 - Modify source filter test to use Filter::Util::Call directly instead of the deprecated Switch, and to not fail if it is not available, thus allowing tests to pass on Perl versions 5.13.1 and above where Switch is no longer in the core distribution - Updated to work with Perl version 5.13.6, where global variables are managed in a different way from before - 1.08 - Updated to work with Perl versions 5.11.0 up to 5.13.0, including particularly the major change in when rv2cv ops get built in 5.11.2 - recreated by cpanspec 1.78 o fix deps - remove obsolete fix_for_perl_5_12 patch - initial package (1.07) OBS-URL: https://build.opensuse.org/request/show/640474 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Data-Alias?expand=0&rev=19
2018-10-07 22:04:11 +00:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name Data-Alias
Name: perl-Data-Alias
Version: 1.280.0
Release: 0
# 1.28 -> normalize -> 1.280.0
%define cpan_version 1.28
Accepting request 640474 from devel:languages:perl:autoupdate - Fix build - updated to 1.21 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.21; 2017-12-08 * update for context stack changes in Perl 5.23.8 * update to accommodate PERL_OP_PARENT builds of Perl 5.21.11 or later (which is the default from Perl 5.25.1) * update for removal of LEX_KNOWNEXT in Perl 5.25.1 * update test suite to not rely on . in @INC, which is no longer necessarily there from Perl 5.25.7 * use cleaner wrap_op_checker() API to control op checking - updated to 1.20 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.20; 2015-10-21 * bugfix: avoid some C undefined behaviour from unsequenced side effects that in practice bit when using a newer gcc (4.9 rather than 4.7) with the parser token stack change in Perl 5.21.9 * add doc note advising users to prefer the core aliasing facility on Perl 5.22 version 1.19; 2015-10-21 * update for new stricture on op_last in Perl 5.21.2 * update for the parser's PL_expect changes in Perl 5.21.4 * update for op_private stricture in Perl 5.21.4 * update for sub references directly in stash in Perl 5.21.4 * update for IS_PADGV()'s limited visibility in Perl 5.21.4 * update for increased specialness of OP_PUSHMARK in Perl 5.21.6 * update for distinct PADNAMELIST type in Perl 5.21.7 * update for multideref optimisation in Perl 5.21.7, by a disgusting hack that depends on a flaw in the optimisation (which may disappear in the future) and which disables the optimisation entirely * add MYMETA.json to .gitignore - updated to 1.18 * bugfix: store peep chain link reliably under threads * update tests for Perl 5.19.4's removal of the special treatment of aliased undef in arrays * in doc, switch to consistent use of British English spellings * doc typo fix version 1.17; 2013-08-04 * bugfix: correct the dtrace-related macro squashing for Perls prior to 5.13.8, where the macros had the wrong number of parameters and prevented compilation * bugfix: use core's PL_no_localize_ref string constant as data string rather than format string * update to handle the new padrange op type in Perl 5.17.6 * update to handle the new op allocation mechanism in Perl 5.17.2 * clarify and expand documentation around list-like assignments * clarify documentation of deref() regarding lvalueness * remove the bulk of the documentation from the README file version 1.16; 2011-11-17 * bugfix: use supported API to put destructor calls on the save stack (the unsupported way used before was wrong for 64-bit systems on perl 5.13.1 and later) * document the behaviour of "alias return" in more detail * convert .cvsignore to .gitignore - update to 1.14 * port to Perl 5.15.0, where the op type aelemfast has been split into aelemfast and aelemfast_lex * test compatibility with Devel::CallParser * bugfix: never unhook peephole optimiser, because unhooking is liable to fail if anything else hooked it * bugfix: revise check for dorassign opcode to cope with FreeBSD's mutant Perl 5.8 that has it * test POD syntax and coverage * bugfix: prevent the lexer getting confused if the first thing inside an alias{} block is an open paren * bugfix: don't crash if an rv2cv op is built with PL_parser null * bugfix: handle variant structure of entersub op which lacks (ex-)list op as direct child * bugfix: squash bogus dtrace-related macro definitions that are picked up due to defining PERL_CORE * switch all pp functions to internal linkage * avoid some compiler warnings * include .cvsignore file in distribution - updated to 1.12 - Updated to work with Perl version 5.13.10, where GvGP() and GvCV() are not directly-assignable lvalues - Don't rely on details of core's pp_* functions to determine whether an opcode exists, because they can change unpredictably (and do change in Perl 5.13.9) - switch to perl_requires macro - update to 1.10 - Updated to work with Perl version 5.13.7, where lex_end() has disappeared and mod() is now in the public API under the name op_lvalue() - 1.09 - Modify source filter test to use Filter::Util::Call directly instead of the deprecated Switch, and to not fail if it is not available, thus allowing tests to pass on Perl versions 5.13.1 and above where Switch is no longer in the core distribution - Updated to work with Perl version 5.13.6, where global variables are managed in a different way from before - 1.08 - Updated to work with Perl versions 5.11.0 up to 5.13.0, including particularly the major change in when rv2cv ops get built in 5.11.2 - recreated by cpanspec 1.78 o fix deps - remove obsolete fix_for_perl_5_12 patch - initial package (1.07) OBS-URL: https://build.opensuse.org/request/show/640474 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Data-Alias?expand=0&rev=19
2018-10-07 22:04:11 +00:00
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Comprehensive set of aliasing operations
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/X/XM/XMATH/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
2025-08-12 18:12:59 +02:00
Source100: README.md
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Test::More) >= 0.88
Provides: perl(Data::Alias) = %{version}
%undefine __perllib_provides
%{perl_requires}
%description
Aliasing is the phenomenon where two different expressions actually refer
to the same thing. Modifying one will modify the other, and if you take a
reference to both, the two values are the same.
Aliasing occurs in Perl for example in for-loops and sub-calls:
for $var ($x) {
# here $var is an alias to $x
}
foo($y);
sub foo {
# here $_[0] is an alias to $y
}
Data::Alias is a module that allows you to apply "aliasing semantics" to a
section of code, causing aliases to be made wherever Perl would normally
make copies instead. You can use this to improve efficiency and
readability, when compared to using references.
Accepting request 640474 from devel:languages:perl:autoupdate - Fix build - updated to 1.21 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.21; 2017-12-08 * update for context stack changes in Perl 5.23.8 * update to accommodate PERL_OP_PARENT builds of Perl 5.21.11 or later (which is the default from Perl 5.25.1) * update for removal of LEX_KNOWNEXT in Perl 5.25.1 * update test suite to not rely on . in @INC, which is no longer necessarily there from Perl 5.25.7 * use cleaner wrap_op_checker() API to control op checking - updated to 1.20 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.20; 2015-10-21 * bugfix: avoid some C undefined behaviour from unsequenced side effects that in practice bit when using a newer gcc (4.9 rather than 4.7) with the parser token stack change in Perl 5.21.9 * add doc note advising users to prefer the core aliasing facility on Perl 5.22 version 1.19; 2015-10-21 * update for new stricture on op_last in Perl 5.21.2 * update for the parser's PL_expect changes in Perl 5.21.4 * update for op_private stricture in Perl 5.21.4 * update for sub references directly in stash in Perl 5.21.4 * update for IS_PADGV()'s limited visibility in Perl 5.21.4 * update for increased specialness of OP_PUSHMARK in Perl 5.21.6 * update for distinct PADNAMELIST type in Perl 5.21.7 * update for multideref optimisation in Perl 5.21.7, by a disgusting hack that depends on a flaw in the optimisation (which may disappear in the future) and which disables the optimisation entirely * add MYMETA.json to .gitignore - updated to 1.18 * bugfix: store peep chain link reliably under threads * update tests for Perl 5.19.4's removal of the special treatment of aliased undef in arrays * in doc, switch to consistent use of British English spellings * doc typo fix version 1.17; 2013-08-04 * bugfix: correct the dtrace-related macro squashing for Perls prior to 5.13.8, where the macros had the wrong number of parameters and prevented compilation * bugfix: use core's PL_no_localize_ref string constant as data string rather than format string * update to handle the new padrange op type in Perl 5.17.6 * update to handle the new op allocation mechanism in Perl 5.17.2 * clarify and expand documentation around list-like assignments * clarify documentation of deref() regarding lvalueness * remove the bulk of the documentation from the README file version 1.16; 2011-11-17 * bugfix: use supported API to put destructor calls on the save stack (the unsupported way used before was wrong for 64-bit systems on perl 5.13.1 and later) * document the behaviour of "alias return" in more detail * convert .cvsignore to .gitignore - update to 1.14 * port to Perl 5.15.0, where the op type aelemfast has been split into aelemfast and aelemfast_lex * test compatibility with Devel::CallParser * bugfix: never unhook peephole optimiser, because unhooking is liable to fail if anything else hooked it * bugfix: revise check for dorassign opcode to cope with FreeBSD's mutant Perl 5.8 that has it * test POD syntax and coverage * bugfix: prevent the lexer getting confused if the first thing inside an alias{} block is an open paren * bugfix: don't crash if an rv2cv op is built with PL_parser null * bugfix: handle variant structure of entersub op which lacks (ex-)list op as direct child * bugfix: squash bogus dtrace-related macro definitions that are picked up due to defining PERL_CORE * switch all pp functions to internal linkage * avoid some compiler warnings * include .cvsignore file in distribution - updated to 1.12 - Updated to work with Perl version 5.13.10, where GvGP() and GvCV() are not directly-assignable lvalues - Don't rely on details of core's pp_* functions to determine whether an opcode exists, because they can change unpredictably (and do change in Perl 5.13.9) - switch to perl_requires macro - update to 1.10 - Updated to work with Perl version 5.13.7, where lex_end() has disappeared and mod() is now in the public API under the name op_lvalue() - 1.09 - Modify source filter test to use Filter::Util::Call directly instead of the deprecated Switch, and to not fail if it is not available, thus allowing tests to pass on Perl versions 5.13.1 and above where Switch is no longer in the core distribution - Updated to work with Perl version 5.13.6, where global variables are managed in a different way from before - 1.08 - Updated to work with Perl versions 5.11.0 up to 5.13.0, including particularly the major change in when rv2cv ops get built in 5.11.2 - recreated by cpanspec 1.78 o fix deps - remove obsolete fix_for_perl_5_12 patch - initial package (1.07) OBS-URL: https://build.opensuse.org/request/show/640474 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Data-Alias?expand=0&rev=19
2018-10-07 22:04:11 +00:00
The exact details of aliasing semantics are below under DETAILS.
Perl 5.22 added some support for aliasing to the Perl core. It has a
different syntax, and a different set of operations, from that supplied by
Accepting request 640474 from devel:languages:perl:autoupdate - Fix build - updated to 1.21 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.21; 2017-12-08 * update for context stack changes in Perl 5.23.8 * update to accommodate PERL_OP_PARENT builds of Perl 5.21.11 or later (which is the default from Perl 5.25.1) * update for removal of LEX_KNOWNEXT in Perl 5.25.1 * update test suite to not rely on . in @INC, which is no longer necessarily there from Perl 5.25.7 * use cleaner wrap_op_checker() API to control op checking - updated to 1.20 see /usr/share/doc/packages/perl-Data-Alias/Changes version 1.20; 2015-10-21 * bugfix: avoid some C undefined behaviour from unsequenced side effects that in practice bit when using a newer gcc (4.9 rather than 4.7) with the parser token stack change in Perl 5.21.9 * add doc note advising users to prefer the core aliasing facility on Perl 5.22 version 1.19; 2015-10-21 * update for new stricture on op_last in Perl 5.21.2 * update for the parser's PL_expect changes in Perl 5.21.4 * update for op_private stricture in Perl 5.21.4 * update for sub references directly in stash in Perl 5.21.4 * update for IS_PADGV()'s limited visibility in Perl 5.21.4 * update for increased specialness of OP_PUSHMARK in Perl 5.21.6 * update for distinct PADNAMELIST type in Perl 5.21.7 * update for multideref optimisation in Perl 5.21.7, by a disgusting hack that depends on a flaw in the optimisation (which may disappear in the future) and which disables the optimisation entirely * add MYMETA.json to .gitignore - updated to 1.18 * bugfix: store peep chain link reliably under threads * update tests for Perl 5.19.4's removal of the special treatment of aliased undef in arrays * in doc, switch to consistent use of British English spellings * doc typo fix version 1.17; 2013-08-04 * bugfix: correct the dtrace-related macro squashing for Perls prior to 5.13.8, where the macros had the wrong number of parameters and prevented compilation * bugfix: use core's PL_no_localize_ref string constant as data string rather than format string * update to handle the new padrange op type in Perl 5.17.6 * update to handle the new op allocation mechanism in Perl 5.17.2 * clarify and expand documentation around list-like assignments * clarify documentation of deref() regarding lvalueness * remove the bulk of the documentation from the README file version 1.16; 2011-11-17 * bugfix: use supported API to put destructor calls on the save stack (the unsupported way used before was wrong for 64-bit systems on perl 5.13.1 and later) * document the behaviour of "alias return" in more detail * convert .cvsignore to .gitignore - update to 1.14 * port to Perl 5.15.0, where the op type aelemfast has been split into aelemfast and aelemfast_lex * test compatibility with Devel::CallParser * bugfix: never unhook peephole optimiser, because unhooking is liable to fail if anything else hooked it * bugfix: revise check for dorassign opcode to cope with FreeBSD's mutant Perl 5.8 that has it * test POD syntax and coverage * bugfix: prevent the lexer getting confused if the first thing inside an alias{} block is an open paren * bugfix: don't crash if an rv2cv op is built with PL_parser null * bugfix: handle variant structure of entersub op which lacks (ex-)list op as direct child * bugfix: squash bogus dtrace-related macro definitions that are picked up due to defining PERL_CORE * switch all pp functions to internal linkage * avoid some compiler warnings * include .cvsignore file in distribution - updated to 1.12 - Updated to work with Perl version 5.13.10, where GvGP() and GvCV() are not directly-assignable lvalues - Don't rely on details of core's pp_* functions to determine whether an opcode exists, because they can change unpredictably (and do change in Perl 5.13.9) - switch to perl_requires macro - update to 1.10 - Updated to work with Perl version 5.13.7, where lex_end() has disappeared and mod() is now in the public API under the name op_lvalue() - 1.09 - Modify source filter test to use Filter::Util::Call directly instead of the deprecated Switch, and to not fail if it is not available, thus allowing tests to pass on Perl versions 5.13.1 and above where Switch is no longer in the core distribution - Updated to work with Perl version 5.13.6, where global variables are managed in a different way from before - 1.08 - Updated to work with Perl versions 5.11.0 up to 5.13.0, including particularly the major change in when rv2cv ops get built in 5.11.2 - recreated by cpanspec 1.78 o fix deps - remove obsolete fix_for_perl_5_12 patch - initial package (1.07) OBS-URL: https://build.opensuse.org/request/show/640474 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Data-Alias?expand=0&rev=19
2018-10-07 22:04:11 +00:00
this module; see perlref/Assigning to References. The core's aliasing
facilities are implemented more robustly than this module and are better
supported. If you can rely on having a sufficiently recent Perl version,
you should prefer to use the core facility rather than use this module. If
you are already using this module and are now using a sufficiently recent
Perl, you should attempt to migrate to the core facility.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes README
%changelog