8
0

Compare commits

...

10 Commits

Author SHA256 Message Date
6cfe038357 Accepting request 1269366 from devel:languages:perl
OBS-URL: https://build.opensuse.org/request/show/1269366
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Object-Pad?expand=0&rev=3
2025-04-15 14:46:24 +00:00
eedc7171eb Accepting request 1268699 from devel:languages:perl:autoupdate
- updated to 0.820.0 (0.820)
   see /usr/share/doc/packages/perl-Object-Pad/Changes
  0.820   2025-02-26
          [BUGFIXES]
           * Account for perl 5.41.9's GV-less stash optimisation (RT159823)

OBS-URL: https://build.opensuse.org/request/show/1268699
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=26
2025-04-14 20:39:41 +00:00
131aa7c9d4 Accepting request 1241527 from devel:languages:perl
OBS-URL: https://build.opensuse.org/request/show/1241527
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Object-Pad?expand=0&rev=2
2025-01-31 15:04:38 +00:00
e4a16dea0a Accepting request 1240903 from home:tinita:branches:devel:languages:perl
- Fix dependency for Leap 15 (for older perl versions we need the
  indirect.pm module)

OBS-URL: https://build.opensuse.org/request/show/1240903
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=24
2025-01-30 21:56:37 +00:00
39de11db3c Accepting request 1240894 from devel:languages:perl
* Module to try out new perl features ahead of time
* Needs perl-XS-Parse-Sublike which I'm going to submit as well

OBS-URL: https://build.opensuse.org/request/show/1240894
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Object-Pad?expand=0&rev=1
2025-01-29 15:10:33 +00:00
62415077ad Accepting request 1239658 from devel:languages:perl:autoupdate
- updated to 0.819.0 (0.819)
   see /usr/share/doc/packages/perl-Object-Pad/Changes
  0.819   2025-01-10
          [CHANGES]
           * Initial experimental attempt to support lexical `my class` syntax
           * Neater, smaller `hax/` files by squashing out code guarded on
             versions of Perl before 5.18
  0.818   2024-12-23
          [BUGFIXES]
           * Ensure that `method :common` works with the new `OP_ARGELEM` code
             in the signature handling code (RT158048)
  0.817   2024-12-20
          [CHANGES]
           * Initial attempt at supporting an `:abstract` attribute on classes.
             Similar to roles but much simpler and easier to implement
           * Much internal reärrangement of the way OP_METHSTART is set up, to
             hopefully allow more seamless integration with upcoming core perl
             `faster-signatures` branch work
  0.816   2024-11-25
          [CHANGES]
           * Rewrote module introduction documentation, emphasising the relating
             to core perl 'class' feature and `Feature::Compat::Class`
           * Added a documentation file, giving a guide to migrating from
             classical Perl to `Object::Pad`
          [BUGFIXES]
           * Fix for t/82devel-mat-dumper-helper.t should require `Devel::MAT`
             v0.53 or later, in case DMD writes a file in format version 0.6
             (RT157189)
  0.815   2024-11-13
          [CHANGES]
           * Initial experiment at adding `APPLY` phaser blocks to roles
  0.814   2024-09-20
          [CHANGES]
           * Depend on `XS::Parse::Sublike` v0.25 because of RT155630 bugfix
           * Document and test the operation of `my method`
          [BUGFIXES]
           * Don't segfault when `->get_direct_method` fails to find the
             requested method
  0.813   2024-09-03
          [CHANGES]
           * Removed the `has` keyword; it now immediately throws a compiletime
             error
          [BUGFIXES]
           * Ensure that the RHS of a field init expression permits any kind of
             listexpr, including `( VAL ) x COUNT`
           * Fix some docs typoes (thanks Nick Morrott) (RT155106)
  0.812   2024-08-29
          [BUGFIXES]
           * Fix for perl 5.41.3, when `SAVEt_LONG` was removed

OBS-URL: https://build.opensuse.org/request/show/1239658
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=22
2025-01-26 01:37:06 +00:00
6d32a1be48 Accepting request 1195938 from devel:languages:perl:autoupdate
- updated to 0.811.0 (0.811)
   see /usr/share/doc/packages/perl-Object-Pad/Changes
  0.811   2024-08-21
          [CHANGES]
           * Accept requesting additional attributes to the
             `$classmeta->add_field` MOP method
           * XS API changes:
              + `get_obj_fieldsv()` does not need to take a ClassMeta argument
              + Added `mop_field_get_class()`
              + Added `get_field_for_padix()`
  0.810   2024-08-10
          [CHANGES]
           * Use `File::ShareDir` for storing .h include file, rather than
             storing the contents in the `__DATA__` section of the build helper
           * Added field hook function `gen_valueassert_op`
           * Warn when enabling all experiments at once with an unqualified
             `:experimental` import
          [BUGFIXES]
           * Don't attempt to reserve the embedding slot in the pad twice when
             making roles under composed_adjust (RT154494)
           * Ensure that field variables are not visible at compiletime of
             :common methods (RT154639)

OBS-URL: https://build.opensuse.org/request/show/1195938
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=21
2024-08-29 07:06:41 +00:00
fc9993f9d9 Accepting request 1187505 from devel:languages:perl:autoupdate
- updated to 0.809.0 (0.809)
   see /usr/share/doc/packages/perl-Object-Pad/Changes
  0.809   2024-07-14
          [CHANGES]
           * Experimental attempt at supporting anonymous `class` syntax
           * Add an extra debugging aid in the form of "linnets", canary-like
             values added to every struct and checked on pointer casts
          [BUGFIXES]
           * Do not create a `new` constructor method for roles, only classes
           * Ensure perl doesn't attempt to free() a non-malloced pointer when
             deleting a method of an invokable role (RT152793)
           * Ensure that `Object::Pad::MOP::Class->for_class` is not confused by
             non-OP subclasses
           * Make sure not to embed CVs of `:common` methods because that will
             upset any lexical or pad temporary at pad index 3

OBS-URL: https://build.opensuse.org/request/show/1187505
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=20
2024-07-29 13:06:44 +00:00
c89b704131 Fix disabling of __perllib_provides
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=19
2024-03-08 22:55:28 +00:00
c2e4fa54ad Accepting request 1153621 from devel:languages:perl:autoupdate
- updated to 0.808
   see /usr/share/doc/packages/perl-Object-Pad/Changes
  0.808   2023-12-28
          [CHANGES]
           * Added `Object::Pad::MOP::Class->try_for_class`
           * Nicer error message when calling `->for_class` on a package not
             implemented using Object::Pad
  0.807   2023-12-11
          [CHANGES]
           * Added `inherit` and `apply` keywords in an attempt to make
             subclassing and role-application more flexible in future
           * Experimental new ability to "import" fields from superclasses into
             subclasses, permitting subclasses to interact with base class
             fields directly
           * Allow setting the `OBJECTPAD_FLAG_ATTR_*_VALUE` flags when
             registering a custom attribute via the Perl-level MOP API

OBS-URL: https://build.opensuse.org/request/show/1153621
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=18
2024-03-07 17:17:53 +00:00
5 changed files with 175 additions and 30 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ca4085708d9961b5569f3d496304ac08e530141a2c312bca281ac78972047b9
size 176542

3
Object-Pad-0.820.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:872c38c8fb49ae87872f568659d918350507fb44c34ab26bb61f8f8943e1d6e5
size 203153

View File

@@ -11,8 +11,11 @@
# foo.patch: -p1
# bar.patch:
# baz.patch: PATCH-FIX-OPENSUSE
#preamble: |-
# BuildRequires: gcc-c++
preamble: |-
%if 0%{?suse_version} <= 1600
BuildRequires: perl(indirect)
Requires: perl(indirect)
%endif
#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

View File

@@ -1,3 +1,150 @@
-------------------------------------------------------------------
Thu Feb 27 05:35:09 UTC 2025 - Tina Müller <timueller+perl@suse.de>
- updated to 0.820.0 (0.820)
see /usr/share/doc/packages/perl-Object-Pad/Changes
0.820 2025-02-26
[BUGFIXES]
* Account for perl 5.41.9's GV-less stash optimisation (RT159823)
-------------------------------------------------------------------
Tue Jan 28 17:59:07 UTC 2025 - Tina Müller <tina.mueller@suse.com>
- Fix dependency for Leap 15 (for older perl versions we need the
indirect.pm module)
-------------------------------------------------------------------
Wed Jan 22 21:11:25 UTC 2025 - Tina Müller <timueller+perl@suse.de>
- updated to 0.819.0 (0.819)
see /usr/share/doc/packages/perl-Object-Pad/Changes
0.819 2025-01-10
[CHANGES]
* Initial experimental attempt to support lexical `my class` syntax
* Neater, smaller `hax/` files by squashing out code guarded on
versions of Perl before 5.18
0.818 2024-12-23
[BUGFIXES]
* Ensure that `method :common` works with the new `OP_ARGELEM` code
in the signature handling code (RT158048)
0.817 2024-12-20
[CHANGES]
* Initial attempt at supporting an `:abstract` attribute on classes.
Similar to roles but much simpler and easier to implement
* Much internal reärrangement of the way OP_METHSTART is set up, to
hopefully allow more seamless integration with upcoming core perl
`faster-signatures` branch work
0.816 2024-11-25
[CHANGES]
* Rewrote module introduction documentation, emphasising the relating
to core perl 'class' feature and `Feature::Compat::Class`
* Added a documentation file, giving a guide to migrating from
classical Perl to `Object::Pad`
[BUGFIXES]
* Fix for t/82devel-mat-dumper-helper.t should require `Devel::MAT`
v0.53 or later, in case DMD writes a file in format version 0.6
(RT157189)
0.815 2024-11-13
[CHANGES]
* Initial experiment at adding `APPLY` phaser blocks to roles
0.814 2024-09-20
[CHANGES]
* Depend on `XS::Parse::Sublike` v0.25 because of RT155630 bugfix
* Document and test the operation of `my method`
[BUGFIXES]
* Don't segfault when `->get_direct_method` fails to find the
requested method
0.813 2024-09-03
[CHANGES]
* Removed the `has` keyword; it now immediately throws a compiletime
error
[BUGFIXES]
* Ensure that the RHS of a field init expression permits any kind of
listexpr, including `( VAL ) x COUNT`
* Fix some docs typoes (thanks Nick Morrott) (RT155106)
0.812 2024-08-29
[BUGFIXES]
* Fix for perl 5.41.3, when `SAVEt_LONG` was removed
-------------------------------------------------------------------
Thu Aug 22 05:30:31 UTC 2024 - Tina Müller <timueller+perl@suse.de>
- updated to 0.811.0 (0.811)
see /usr/share/doc/packages/perl-Object-Pad/Changes
0.811 2024-08-21
[CHANGES]
* Accept requesting additional attributes to the
`$classmeta->add_field` MOP method
* XS API changes:
+ `get_obj_fieldsv()` does not need to take a ClassMeta argument
+ Added `mop_field_get_class()`
+ Added `get_field_for_padix()`
0.810 2024-08-10
[CHANGES]
* Use `File::ShareDir` for storing .h include file, rather than
storing the contents in the `__DATA__` section of the build helper
* Added field hook function `gen_valueassert_op`
* Warn when enabling all experiments at once with an unqualified
`:experimental` import
[BUGFIXES]
* Don't attempt to reserve the embedding slot in the pad twice when
making roles under composed_adjust (RT154494)
* Ensure that field variables are not visible at compiletime of
:common methods (RT154639)
-------------------------------------------------------------------
Mon Jul 15 05:29:36 UTC 2024 - Tina Müller <timueller+perl@suse.de>
- updated to 0.809.0 (0.809)
see /usr/share/doc/packages/perl-Object-Pad/Changes
0.809 2024-07-14
[CHANGES]
* Experimental attempt at supporting anonymous `class` syntax
* Add an extra debugging aid in the form of "linnets", canary-like
values added to every struct and checked on pointer casts
[BUGFIXES]
* Do not create a `new` constructor method for roles, only classes
* Ensure perl doesn't attempt to free() a non-malloced pointer when
deleting a method of an invokable role (RT152793)
* Ensure that `Object::Pad::MOP::Class->for_class` is not confused by
non-OP subclasses
* Make sure not to embed CVs of `:common` methods because that will
upset any lexical or pad temporary at pad index 3
-------------------------------------------------------------------
Fri Mar 8 22:55:23 UTC 2024 - Tina Müller <tina.mueller@suse.com>
- Fix disabling of __perllib_provides
-------------------------------------------------------------------
Fri Dec 29 03:08:07 UTC 2023 - Tina Müller <timueller+perl@suse.de>
- updated to 0.808
see /usr/share/doc/packages/perl-Object-Pad/Changes
0.808 2023-12-28
[CHANGES]
* Added `Object::Pad::MOP::Class->try_for_class`
* Nicer error message when calling `->for_class` on a package not
implemented using Object::Pad
0.807 2023-12-11
[CHANGES]
* Added `inherit` and `apply` keywords in an attempt to make
subclassing and role-application more flexible in future
* Experimental new ability to "import" fields from superclasses into
subclasses, permitting subclasses to interact with base class
fields directly
* Allow setting the `OBJECTPAD_FLAG_ATTR_*_VALUE` flags when
registering a custom attribute via the Perl-level MOP API
-------------------------------------------------------------------
Wed Nov 15 03:07:50 UTC 2023 - Tina Müller <timueller+perl@suse.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package perl-Object-Pad
#
# Copyright (c) 2023 SUSE LLC
# 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
@@ -18,9 +18,10 @@
%define cpan_name Object-Pad
Name: perl-Object-Pad
Version: 0.806.0
Version: 0.820.0
Release: 0
%define cpan_version 0.806
# 0.820 -> normalize -> 0.820.0
%define cpan_version 0.820
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Simple syntax for lexical field-based objects
URL: https://metacpan.org/release/%{cpan_name}
@@ -29,14 +30,16 @@ Source1: cpanspec.yml
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(File::ShareDir) >= 1.0.0
BuildRequires: perl(Module::Build) >= 0.4004
BuildRequires: perl(Test2::V0) >= 0.000148
BuildRequires: perl(XS::Parse::Keyword) >= 0.370.0
BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.370.0
BuildRequires: perl(XS::Parse::Sublike) >= 0.15
BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.15
Requires: perl(XS::Parse::Keyword) >= 0.370.0
Requires: perl(XS::Parse::Sublike) >= 0.15
BuildRequires: perl(XS::Parse::Keyword) >= 0.470
BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.480
BuildRequires: perl(XS::Parse::Sublike) >= 0.350
BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.350
Requires: perl(File::ShareDir) >= 1.0.0
Requires: perl(XS::Parse::Keyword) >= 0.470
Requires: perl(XS::Parse::Sublike) >= 0.350
Provides: perl(Object::Pad) = %{version}
Provides: perl(Object::Pad::ExtensionBuilder) = %{version}
Provides: perl(Object::Pad::MOP::Class) = %{version}
@@ -44,29 +47,21 @@ Provides: perl(Object::Pad::MOP::Field) = %{version}
Provides: perl(Object::Pad::MOP::FieldAttr) = %{version}
Provides: perl(Object::Pad::MOP::Method) = %{version}
Provides: perl(Object::Pad::MetaFunctions) = %{version}
%define __perllib_provides /bin/true
%undefine __perllib_provides
%{perl_requires}
# MANUAL BEGIN
%if 0%{?suse_version} <= 1600
BuildRequires: perl(indirect)
Requires: perl(indirect)
%endif
# MANUAL END
%description
This module provides a simple syntax for creating object classes, which
uses private variables that look like lexicals as object member fields.
While most of this module has evolved into a stable state in practice,
parts remain *experimental* because the design is still evolving, and many
features and ideas have yet to implemented. I don't yet guarantee I won't
have to change existing details in order to continue its development. Feel
free to try it out in experimental or newly-developed code, but don't
complain if a later version is incompatible with your current code and
you'll have to change it.
That all said, please do get in contact if you find the module overall
useful. The more feedback you provide in terms of what features you are
using, what you find works, and what doesn't, will help the ongoing
development and hopefully eventual stability of the design. See the
FEEDBACK section.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
%autosetup -n %{cpan_name}-%{cpan_version} -p1
%build
perl Build.PL --installdirs=vendor optimize="%{optflags}"