Simple config:
LoadModule perl_module libexec/apache24/mod_perl.so
#PerlModule Apache::compat
# your config comes here
For a more detailed version (including more options) refer to:
docs/user/intro/start_fast.pod
or online:
http://perl.apache.org/docs/2.0/user/intro/start_fast.html
The module can be enabled in
etc/apache24/modules.d/260_mod_perl.conf
Packages by version and architecture
latest
FreeBSD version
amd64
aarch64
i386
FreeBSD 16
2.0.13,3
2.0.13,3
–
FreeBSD 15
2.0.13,3
2.0.13,3
–
FreeBSD 14
2.0.13,3
2.0.13,3
2.0.13,3
quarterly (2026Q4)
FreeBSD version
amd64
aarch64
i386
FreeBSD 15
2.0.13,3
2.0.13,3
–
FreeBSD 14
2.0.13,3
2.0.13,3
2.0.13,3
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed and VuXML only (0)
No unaddressed CVE and nothing reported by pkg audit for the packaged version 2.0.13,3.
Fixed (1)
Show 1 fixed
VuXML entries whose affected range the packaged version has left.
www/mod_perl2: fix build with clang 19 on i386
Clang 19 has become more strict about incompatible function pointer
types, which results in an error building mod_perl2 on i386:
modperl_common_util.c:57:53: error: incompatible function pointer types initializing 'int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, I32)' (aka 'int (*)(struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, long)') with an expression of type 'int (PerlInterpreter *, SV *, MAGIC *, SV *, const char *, int)' (aka 'int (struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, int)') [-Wincompatible-function-pointer-types]
57 | modperl_table_magic_copy};
| ^~~~~~~~~~~~~~~~~~~~~~~~
Perl uses the type `I32` for the last parameter, which is apparently
`long` on i386. So use that instead.
PR: 281594
MFH: 2024Q3
Mk/Uses/apache.mk: Refactor after removal of older versions
apache22 and apache25 had been removed a long time ago however the
apache.mk file has never been refactored and is out of sync from the
file Mk/bsd.default-versions.mk. These changes refactors the removals of
the older versions. In addition:
- Move some keywords like USE_APACHE, USE_APACHE_BUILD, USE_APACHE_RUN
from SANITY_DEPRECATED to SANITY_UNSUPPORTED
- Remove apache versions from ports Makefiles as currently there is only
one available version in the tree. However the version checks are
still valid and should work flawlessly whenever a new version is
added. For example USES=apache:2.2+ are simply replaced with
USES=apache. As currently there are no other versions available for
test this could not be checked on it's own ground.
- Update FOO_USE=APACHE=yes to FOO_USES=apache
- Remove trailing whitespaces
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D38113
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
www/mod_perl2: update to 2.0.12 release (+)
* Fix detection of APR's threading support
* Fix build for perl >= 5.33.7
* Fix SIGSEGV crash due to wrong use of perl_parse()
MFH: 2022Q2
With hat: ports-secteam
- update to 2.0.10 (no new changes since 2.0.10-rc2)
Major changes in this release are as follows:
- Add support for Perl 5.22.x.
- Fix non-threaded Perl 5.22.x build and tests.
- Automatically select the appropriate c89 option when modperl is being
built with either gcc 5 or clang.
- Declare MP_vtbl_env and MP_vtbl_envelem as 'extern' to fix linker
errors on OSX/Darwin.
- update to 2.0.10-rc1 - change to MASTER_SITES local
Running tests against perl5.20/5.24 on 10.3(amd64) showed only know
issues present also on other platforms, but it seems to be a good
state for wider community roll out / test
Test failures:
t/filter/in_bbs_inject_header.t ......... 1/?
# Failed test 22 in t/filter/in_bbs_inject_header.t at line 58 fail #6
# Failed test 26 in t/filter/in_bbs_inject_header.t at line 58 fail #7
# Failed test 30 in t/filter/in_bbs_inject_header.t at line 58 fail #8
t/modperl/local_env.t ....... skipped: local %ENV is still broken
t/modperl/perl_options2.t ... skipped: PerlOptions None is broken
t/perl/signals.t ............ Failed 2/2 subtests
Changelog:
2.0.10-rc1
- Automatically select the appropriate c89 option when modperl is being
built with either gcc 5 or clang.
- Fix non-threaded Perl 5.22.x build and tests.
- Add support for Perl 5.22.x.
- update to rc3 - move ITHREAD check to pre-configure (dependencies are already installed) [1] - use @sample macro for apache module file [2]
[1] If this is not working as expected, detection will be replaced with an OPTION
PR: 200799 [2]
- add patch from upstream trunk - mark broken with perl5.22.x - fix pkg-plist if build against apache22 and perl with THREADS=off
PR: 15750
Submitted by: nick(_at_)foobar.org
- update to 2.0.9-rc2 - install modules file instead activating the module with apxs
RC2 has really gone a long way, and is a real candidate to
become the next official release.
Tested against apache22/24 MPM prefork/event/worker.
Changes:
========
Remove PerlInterpScope. This has not been working properly with threaded
MPMs with httpd-2.4.x and the use-case of this directive was questionable.
[Jan Kaluza]
Allow running the test suite with httpd-2.4.x when mod_access_compat is not
loaded. [Steve Hay]
Add support for Apache httpd-2.4.x. [Torsten Foertsch, Jan Kaluza,
Steve Hay, Gozer]
Don't call modperl_threaded_mpm() et al. from XS code. Fixes Debian Bug
#765174. [Niko Tyni <ntyni@debian.org>]
Make sure modperl_interp_select uses r->server rather than the passed s
parameter to find the interpreter pool to pull an interpreter from. This
fixes an issue with vhosts with a separate interpreter pool and runtime
dir-config merges that used to pull the interpreter from the wrong pool.
[Torsten Foertsch]
PerlInterpScope is now more advisory. Using $(c|r)->pnotes will bind
the current interpreter to that object for it's lifetime.
$(c|r)->pnotes_kill() can be used to prematurely drop pnotes and
remove this binding. [Torsten Foertsch]
Now correctly invokes PerlCleanupHandlers, even if they are the only
handler type configured for that request [Torsten Foertsch]
For threaded MPMs, change interpreter managment to a new, reference-counted
allocation model. [Torsten Foertsch]
Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t
via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig
[Torsten Foertsch]
Expose modperl_interp_t via ModPerl::Interpreter [Torsten Foertsch]
Fix t/compat/apache_file.t on Windows. Apache::File->tmpfile() wants TMPDIR
or TEMP from the environment, or else defaults to /tmp. The latter is no
good on Windows, so make sure the environment variables are passed through.
(TEMP should be set to something suitable on Windows.) [Steve Hay]
Fix t/api/err_headers_out.t with HTTP::Headers > 6.00. [Rolando
<rolosworld@gmail.com>]
with haed apache@
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
- update apache24 patch to upstream r1638352 - sort pkg-plist to match new makeplist output - cleanup dirrm in pkg-plist
Changes:
- Don't call modperl_threaded_mpm() et al. from XS code #765174.
Change the way Perl modules are installed, update the default Perl to 5.18.
Before, we had:
site_perl : lib/perl5/site_perl/5.18
site_perl/perl_arch : lib/perl5/site_perl/5.18/mach
perl_man3 : lib/perl5/5.18/man/man3
Now we have:
site_perl : lib/perl5/site_perl
site_arch : lib/perl5/site_perl/mach/5.18
perl_man3 : lib/perl5/site_perl/man/man3
Modules without any .so will be installed at the same place regardless of the
Perl version, minimizing the upgrade when the major Perl version is changed.
It uses a version dependent directory for modules with compiled bits.
As PERL_ARCH is no longer needed in plists, it has been removed from
PLIST_SUB.
The USE_PERL5=fixpacklist keyword is removed, the .packlist file is now
always removed, as is perllocal.pod.
The old site_perl and site_perl/arch directories have been kept in the
default Perl @INC for all Perl ports, and will be phased out as these old
Perl versions expire.
PR: 194969
Differential Revision: https://reviews.freebsd.org/D1019
Exp-run by: antoine
Reviewed by: perl@
Approved by: portmgr
- apply patches for apache24 shaped from upstream r1602105 (2.0.9-dev)
The patches are automatically applied if build against apache24.
Interested apache22 users can change the follwing line in the Makefile
from: .if ${APACHE_VERSION} > 22
to: .if ${APACHE_VERSION} >= 22
Changelog (*NIX related):
=item 2.0.9-dev
Make sure modperl_interp_select uses r->server rather than the passed s
parameter to find the interpreter pool to pull an interpreter from. This
fixes an issue with vhosts with a separate interpreter pool and runtime
dir-config merges that used to pull the interpreter from the wrong pool.
[Torsten Foertsch]
PerlInterpScope is now more advisory. Using $(c|r)->pnotes will bind
the current interpreter to that object for it's lifetime.
$(c|r)->pnotes_kill() can be used to prematurely drop pnotes and
remove this binding. [Torsten Foertsch]
Now correctly invokes PerlCleanupHandlers, even if they are the only
handler type configured for that request [Torsten Foertsch]
For threaded MPMs, change interpreter managment to a new, reference-counted
allocation model. [Torsten Foertsch]
Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t
via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig
[Torsten Foertsch]
Expose modperl_interp_t via ModPerl::Interpreter [Torsten Foertsch]
Fix t/compat/apache_file.t on Windows. Apache::File->tmpfile() wants TMPDIR
or TEMP from the environment, or else defaults to /tmp. The latter is no
good on Windows, so make sure the environment variables are passed through.
(TEMP should be set to something suitable on Windows.) [Steve Hay]
Fix t/api/err_headers_out.t with HTTP::Headers > 6.00. [Rolando
<rolosworld@gmail.com>]
PR: 191471
Remove all the bootstrap files (.bs) from the plists.
Starting with perl 5.20, they're not installed any more if empty,
and on FreeBSD, they're (always ?) empty.
PR: 190681
Submitted by: mat
Exp-Run by: antoine
Sponsored by: Absolight
- update to 2.0.8
2.0.8 April 17, 2013
Perl 5.16.3's fix for a rehash-based DoS makes it more difficult to invoke
the workaround for the old hash collision attack, which breaks mod_perl's
t/perl/hash_attack.t. Patch from rt.cpan.org #83916 improves the fix
previously applied as revision 1455340. [Zefram]
On Perl 5.17.6 and above, hash seeding has changed, and HvREHASH has
disappeared. Patch to update mod_perl accordingly from rt.cpan.org #83921.
[Zefram]
Restore build with Perl 5.8.1, 5.8.2 etc: take care to use
$Config{useithreads} rather than $Config{usethreads}, and supply definitions
of Newx and Newxz as necessary. [Steve Hay]
On Perl 5.17.9, t/apache/read2.t fails because an "uninitialized value"
warning is generated for the buffer being autovivified. This is because
the sv_setpvn() that's meant to vivify the buffer doesn't perform set
magic; the warning is generated by the immediately following SvPV_force().
Patch to fix this from rt.cpan.org #83922. [Zefram]
Fix t/perl/hash_attack.t to work with Perl 5.14.4, 5.16.3 etc, which
contain a fix for CVE-2013-1667 (memory exhaustion with arbitrary hash
keys). This resolves rt.perl.org #116863, from where the patch was taken.
[Hugo van der Sanden]
use APR::Finfo instead of Perl's stat() in ModPerl::RegistryCooker to
generate HTTP code 404 even if the requested filename contains newlines
[Torsten]
Remove all uses of deprecated core perl symbols. [Steve Hay]
Feature safe: yes
with hat apache@
- USE_APACHE s/22+/22/
some additional cleanups/fixes
- adopt new Makefile header
- convert to optionsNG
- use BROKEN instead IGNORE in bsd.apache.mk
with hat apache@
- USE_APACHE= s/22+/22/ - adopt new Makefile header
Port build fails on local exp-run with apache24 with
error: 'conn_rec' has no member named 'remote_ip'
or various other apache22 specific functions/parameters
with hat apache@
- allow build a correct library with clang/gcc47+ by disabling APR_INLINE because FreeBSD default port settings not uses bundled apr from apache tarball. - force compiler to use gnu89 C standard. - bump PORTREVISION
with hat apache@
PR: ports/168514
Submitted by: Dima Panov <fluffy@freebsd.org>
- update to version 2.0.7 - Use APACHE macro for MASTER_SITES - Remove SITE_PERL from *_DEPENDS
Changes:
Fix breakage caused by removal of PL_uid et al from perl 5.16.0.
Patch from rt.cpan.org #77129. [Zefram]
PR: ports/168819
Submitted by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>