BSD Ports

devel/p5-Readonly-XS 1.05_2 FreeBSD

Companion module for Readonly.pm, to speed up read-only scalar variables

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
License
ART10, GPLv1+
Categories
devel, perl5
Package size
9.8 KiB, 17.6 KiB installed

Description

This module corrects the speed problem, at least with respect to scalar variables. When Readonly::XS is installed, Readonly uses it to access the internals of scalar variables. Instead of creating a scalar variable object and tying it, Readonly simply flips the SvREADONLY bit in the scalar's FLAGS structure.

Readonly arrays and hashes are not sped up by this, since the SvREADONLY flag only works for scalars. Arrays and hashes always use the tie interface.

Programs that you write do not need to know whether Readonly::XS is installed or not. They should just "use Readonly" and let Readonly worry about whether or not it can use XS. If the Readonly::XS is present, Readonly will be faster. If not, it won't. Either way, it will still work, and your code will not have to change.

Your program can check whether Readonly.pm is using XS or not by examining the $Readonly::XSokay variable. It will be true if the XS module was found and is being used. Please do not change this variable.

In the other systems

The newest version among them is 1.05, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
FreeBSDdevel/p5-Readonly-XS1.05_2 newestnone known-[email protected]-
OpenBSDdevel/p5-Readonly-XS1.05p5 newestno data-The OpenBSD ports mailing-list <[email protected]>-
NetBSDdevel/p5-Readonly-XS1.05nb17 newestnone known-[email protected]2026-07-16
DragonFlydevel/p5-Readonly-XS1.05_2 newestnone known-[email protected]-
HardenedBSDdevel/p5-Readonly-XS1.05_2 newestno data-[email protected]-
GhostBSDdevel/p5-Readonly-XS1.05_2 newestno data-[email protected]-

Compare across BSDs

Install

Binary package:

pkg install p5-Readonly-XS

From the ports tree:

cd /usr/ports/devel/p5-Readonly-XS/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	p5-Readonly-XS>0:devel/p5-Readonly-XS

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.05_21.05_21.05_21.05_21.05_2
FreeBSD:14:quarterly1.05_21.05_2n/a1.05_21.05_2
FreeBSD:15:latest1.05_21.05_2n/a1.05_21.05_2
FreeBSD:15:quarterly1.05_21.05_2n/an/an/a
FreeBSD:16:latest1.05_21.05_2n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 1

Runtime 1

The full lists below include those, and their dependencies in turn.

Build dependencies 2
Run dependencies 2

No port depends on this one.

Configuration

No options to configure.

USES
perl5
Service scripts
none

Files

pkg-plist 3
  • %%SITE_ARCH%%/Readonly/XS.pm
  • %%SITE_ARCH%%/auto/Readonly/XS/XS.so
  • %%PERL5_MAN3%%/Readonly::XS.3.gz
distinfo 1
FileSizeSHA256
Readonly-XS-1.05.tar.gz88498ae5c4e85299e5c8bddd1b196f2eea38f00709e0dc0cb60454dc9114ae3fff0d
Master sites 1
  • CPAN

Commit history 0

No commits in the history this site was built from.