forked from pool/perl-Object-Pad
Compare commits
11 Commits
10a360aeb5
...
main
Author | SHA256 | Date | |
---|---|---|---|
8c3217cab7 | |||
6cfe038357 | |||
eedc7171eb | |||
131aa7c9d4 | |||
e4a16dea0a | |||
39de11db3c | |||
62415077ad | |||
6d32a1be48 | |||
fc9993f9d9 | |||
c89b704131 | |||
c2e4fa54ad |
@@ -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
3
Object-Pad-0.820.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:872c38c8fb49ae87872f568659d918350507fb44c34ab26bb61f8f8943e1d6e5
|
||||||
|
size 203153
|
12
README.md
Normal file
12
README.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
## Build Results
|
||||||
|
|
||||||
|
Current state of perl in openSUSE:Factory is
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The current state of perl in the devel project build (devel:languages:perl)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
@@ -11,8 +11,11 @@
|
|||||||
# foo.patch: -p1
|
# foo.patch: -p1
|
||||||
# bar.patch:
|
# bar.patch:
|
||||||
# baz.patch: PATCH-FIX-OPENSUSE
|
# baz.patch: PATCH-FIX-OPENSUSE
|
||||||
#preamble: |-
|
preamble: |-
|
||||||
# BuildRequires: gcc-c++
|
%if 0%{?suse_version} <= 1600
|
||||||
|
BuildRequires: perl(indirect)
|
||||||
|
Requires: perl(indirect)
|
||||||
|
%endif
|
||||||
#post_prep: |-
|
#post_prep: |-
|
||||||
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
|
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
|
||||||
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
|
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
|
||||||
|
@@ -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>
|
Wed Nov 15 03:07:50 UTC 2023 - Tina Müller <timueller+perl@suse.de>
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package perl-Object-Pad
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -18,25 +18,29 @@
|
|||||||
|
|
||||||
%define cpan_name Object-Pad
|
%define cpan_name Object-Pad
|
||||||
Name: perl-Object-Pad
|
Name: perl-Object-Pad
|
||||||
Version: 0.806.0
|
Version: 0.820.0
|
||||||
Release: 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
|
License: Artistic-1.0 OR GPL-1.0-or-later
|
||||||
Summary: Simple syntax for lexical field-based objects
|
Summary: Simple syntax for lexical field-based objects
|
||||||
URL: https://metacpan.org/release/%{cpan_name}
|
URL: https://metacpan.org/release/%{cpan_name}
|
||||||
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{cpan_version}.tar.gz
|
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{cpan_version}.tar.gz
|
||||||
Source1: cpanspec.yml
|
Source1: cpanspec.yml
|
||||||
|
Source100: README.md
|
||||||
BuildRequires: perl
|
BuildRequires: perl
|
||||||
BuildRequires: perl-macros
|
BuildRequires: perl-macros
|
||||||
BuildRequires: perl(ExtUtils::CBuilder)
|
BuildRequires: perl(ExtUtils::CBuilder)
|
||||||
|
BuildRequires: perl(File::ShareDir) >= 1.0.0
|
||||||
BuildRequires: perl(Module::Build) >= 0.4004
|
BuildRequires: perl(Module::Build) >= 0.4004
|
||||||
BuildRequires: perl(Test2::V0) >= 0.000148
|
BuildRequires: perl(Test2::V0) >= 0.000148
|
||||||
BuildRequires: perl(XS::Parse::Keyword) >= 0.370.0
|
BuildRequires: perl(XS::Parse::Keyword) >= 0.470
|
||||||
BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.370.0
|
BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.480
|
||||||
BuildRequires: perl(XS::Parse::Sublike) >= 0.15
|
BuildRequires: perl(XS::Parse::Sublike) >= 0.350
|
||||||
BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.15
|
BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.350
|
||||||
Requires: perl(XS::Parse::Keyword) >= 0.370.0
|
Requires: perl(File::ShareDir) >= 1.0.0
|
||||||
Requires: perl(XS::Parse::Sublike) >= 0.15
|
Requires: perl(XS::Parse::Keyword) >= 0.470
|
||||||
|
Requires: perl(XS::Parse::Sublike) >= 0.350
|
||||||
Provides: perl(Object::Pad) = %{version}
|
Provides: perl(Object::Pad) = %{version}
|
||||||
Provides: perl(Object::Pad::ExtensionBuilder) = %{version}
|
Provides: perl(Object::Pad::ExtensionBuilder) = %{version}
|
||||||
Provides: perl(Object::Pad::MOP::Class) = %{version}
|
Provides: perl(Object::Pad::MOP::Class) = %{version}
|
||||||
@@ -44,29 +48,21 @@ Provides: perl(Object::Pad::MOP::Field) = %{version}
|
|||||||
Provides: perl(Object::Pad::MOP::FieldAttr) = %{version}
|
Provides: perl(Object::Pad::MOP::FieldAttr) = %{version}
|
||||||
Provides: perl(Object::Pad::MOP::Method) = %{version}
|
Provides: perl(Object::Pad::MOP::Method) = %{version}
|
||||||
Provides: perl(Object::Pad::MetaFunctions) = %{version}
|
Provides: perl(Object::Pad::MetaFunctions) = %{version}
|
||||||
%define __perllib_provides /bin/true
|
%undefine __perllib_provides
|
||||||
%{perl_requires}
|
%{perl_requires}
|
||||||
|
# MANUAL BEGIN
|
||||||
|
%if 0%{?suse_version} <= 1600
|
||||||
|
BuildRequires: perl(indirect)
|
||||||
|
Requires: perl(indirect)
|
||||||
|
%endif
|
||||||
|
# MANUAL END
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This module provides a simple syntax for creating object classes, which
|
This module provides a simple syntax for creating object classes, which
|
||||||
uses private variables that look like lexicals as object member fields.
|
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
|
%prep
|
||||||
%autosetup -n %{cpan_name}-%{cpan_version}
|
%autosetup -n %{cpan_name}-%{cpan_version} -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
perl Build.PL --installdirs=vendor optimize="%{optflags}"
|
perl Build.PL --installdirs=vendor optimize="%{optflags}"
|
||||||
|
Reference in New Issue
Block a user