Linux workstation

Upstream software project

libmoosex-nonmoose-perl

Easy subclassing of non-Moose classes

About libmoosex-nonmoose-perl

Easy subclassing of non-Moose classes

This project links 5 native package records across 5 recorded operating-system releases. Compare the retained versions and architectures below, then open the package for your own release.

These are catalog observations, not a guarantee of installation, compatibility, or upstream support.

Project pictures and package coverage

Debian 12 (Bookworm): 1 package records; Debian 13 (Trixie): 1 package records; Fedora 43: 1 package records; Fedora 44: 1 package records; openSUSE Tumbleweed: 1 package records. Catalog coverage diagram, not an application screenshot.libmoosex-nonmoose-perl: recorded package coverageDebian 12 (Bookworm)1 recordsDebian 13 (Trixie)1 recordsFedora 431 recordsFedora 441 recordsopenSUSE Tumbleweed1 records
OpenFactory diagram of linked package records. It is not an application screenshot.

Project identity

Project
libmoosex-nonmoose-perl
Publisher
Not authoritatively mapped
Native package records
5
Operating systems
debian-12, debian-13, fedora-43, fedora-44, opensuse-tumbleweed
License expression
Artistic-1.0 OR GPL-1.0-or-later
Metadata completeness
100/100 (not a software quality rating)
Source repository
Not reported

Source-reported description

The fullest retained description is shown with its source. Distribution packaging descriptions may include downstream details.

'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from Moose::Object and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a Moose::Exporter-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. MooseX::NonMoose::Meta::Role::Class and MooseX::NonMoose::Meta::Role::Constructor can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using Moose::Util::MetaRole in a Moose::Exporter-based package. MooseX::NonMoose::Meta::Role::Class is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying MooseX::NonMoose::Meta::Role::Constructor as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way.

Description source

Packages by operating system

Compare recorded versions, then open a package for dependency, file, checksum, and repository evidence. Version strings are distribution-specific, not a ranking of newer software.

Debian 12 (Bookworm)

  1. libmoosex-nonmoose-perl

    Debian 12 (Bookworm) / perl

    0.26-2

    Moose extension to allow easy subclassing of non-Moose classes

    allbookworm

Debian 13 (Trixie)

  1. libmoosex-nonmoose-perl

    Debian 13 (Trixie) / perl

    0.27-1

    Moose extension to allow easy subclassing of non-Moose classes

    alltrixie

Fedora 43

  1. perl-MooseX-NonMoose

    Fedora 43 / Unspecified / source perl-MooseX-NonMoose

    0.27-3.fc43

    Easy subclassing of non-Moose classes

    noarch43

Fedora 44

  1. perl-MooseX-NonMoose

    Fedora 44 / Unspecified / source perl-MooseX-NonMoose

    0.27-4.fc44

    Easy subclassing of non-Moose classes

    noarch44

openSUSE Tumbleweed

  1. perl-MooseX-NonMoose

    openSUSE Tumbleweed / Unspecified / source perl-MooseX-NonMoose

    0.270.0-1.6

    Easy subclassing of non-Moose classes

    noarchtumbleweed

Project resources and further reading

Mapping provenance

Only source-backed identity signals create public cross-OS links. A reviewer can later approve or dispute an inferred relationship without rewriting native package history.

No field-level source record is published yet.