environment (like da_DK.ISO_8859-15 as opposed to da_DK.ISO8859-15 on
-CURRENT), perl ports cannot be built. While this condition clearly is
an operator error, it is still no excuse for the build failure.
Fix that by cleaning locale-related variables for configure and build
steps. No plist changes, no portrevision bump.
Reported by: Flemming Jacobsen <fj quite-at batmule maybe-dot dk>
Use more correct OSVERSION threshold to distinguish between
base system perl and perl from ports - the right value is 500036 [1].
Also, simplify OSVERSION-related logic in lang/perl5 and lang/perl5.8.
Now it goes as follows:
- for lang/perl5.8, if there is perl in the base system, install
use.perl script, use a helpful pkg-message, and do not automatically
update symlinks;
- for lang/perl5.8, if there is no perl in the base system, do not
install use.perl script, and update symlinks automatically;
- for lang/perl5, always install use.perl;
- for lang/perl5, never update symlinks automatically;
- for lang/perl5, vary produced pkg-message depending on the presence of
the base system perl.
Bump PORTREVISION for both lang/perl5 and lang/perl5.8.
[1] Approved by: portmgr
- redirect output from h2ph to /dev/null [1];
- fix File::Path insecure file/directory permissions [2];
this resolves CAN-2004-0452
(http://vuxml.freebsd.org/c418d472-6bd1-11d9-93ca-000a95bc6fae.html);
- for OSVERSION < 500036, create symlinks in /usr/bin not only for
perl and suidperl, but also for a2p, c2ph, find2perl, h2ph, h2xs,
perlbug, perlcc, perldoc, pl2pm, pod2html, pod2latex, pod2man,
pod2text, s2p, and splain; perl and suidperl are still enough for
more recent FreeBSD versions [3];
- clean up created symlinks upon deinstallation [4];
- try to cleanup symlinks created by older versions of lang/perl5 and
lang/perl5.8, during both installation and deinstallation [5];
- added support for DISABLE_BSDPAN environment variable [6];
- be explicit about use.perl usage after installation of 4.X systems,
and on systems where lang/perl5.8 is prefered to lang/perl5; the exact
range is OSVERSION < 500036 || OSVERSION >= 502100 [7];
- respect __MAKE_CONF partially (the build-time value is used) [8];
- use.perl is now the same as pkg-install is now the same as
pkg-deinstall; apart from the changes already mentioned above, this
is a shell script now;
- use.perl's logic is also simplified in several ways [9];
- fix a BSDPAN bug [10];
- create and remove %%SITE_PERL%%/%%PERL_ARCH%%/auto, just
like lang/perl5.8 does, to silent pointyhat [11];
- apply a patch to handle daylight saving time correctly in
POSIX::strftime [12];
- the port now creates and uses shared libperl.so, as lang/perl5.8 port
does;
- move MAN3 manual pages under ${PREFIX}/lib/perl5/${PERL_VER}/perl, as
to avoid conflict with some of the p5 ports;
- do not build suidperl by default any longer; one should use
ENABLE_SUIDPERL to do that;
- move out manpage list to a separate Makefile.man;
- in general, the port layout is made much more similar to lang/perl5.8,
including.
Outstanding issues: Module::Build support for BSDPAN, SU_CMD support (PR
70831), PR 64963 (partially), and anything else that I forgot.
[1] Nudged by: krion
[2] Reported by: nectar
Patch from: Chris Turner @ RedHat
[3] PR: 55760, 57151, 58406
[4] Requested by: kris
PR: 54262
[5] PR: 51281, 51539
[6] PR: 57134
[7] PR: 60736
[8] PR: 74431
[9] Perl version submitted by des, implemented in sh
[10] Reported by: Alexander Nagilum <freebsd %at% nagilum de>
[11] PR: 71390
[12] PR: 74042, perl bug 18238
that /usr/bin/perl5 doesn't exist, which violates some of use.perl's
assumptions. Take care of this case. [1]
Also in the case of a recent 5-CURRENT, automatically perform
"use.perl port" during package/port installation. This helps the
installation of sysinstall's new "Perl distribution", in that
sysinstall doesn't need to do this explicitly as Yet Another Special
Case. [2]
PORTREVISION bump after all this good stuff.
Requested by: bmah [1], jhb [2]
Submitted by: tobez (port MAINTAINER)
Approved by: portmgr (kris)
list by bsd.port.mk insert anti foot-shooting device, which prevents
infinite fork loop when the user defines corresponding USE_XXX in global
make.conf, command line or environment.
Similar devices should probably be inserted into ports that might be inserted
into dependency list by others bsd.foo.mk files (bsd.ruby.mk, bsd.python.mk
and so on.)
WITH_PERL_MALLOC - to compile with perl's own malloc, as opposed to the
freebsd system malloc. Some might find this useful, since perl's malloc
is marginally faster in typical cases, and orders of magnitude faster in
degenerate cases. Use with care.
WITH_GDBM - to compile with gdbm support.
Requested by: netchild (WITH_PERL_MALLOC),
Joachim Leidinger <jojo@blackpoint.de> (WITH_GDBM)
Force installs. This is to allow (semi-)automatic garbage removal by
"find /usr/libdata -ctime -N -delete".
Well - substitute /usr/libdata with /usr/local/lib/perl5 here.
Requested by: sheldonh
2. Do not link with libbind even if Configure detects it. A particular
reason for that is that perl's getpw* stop working with NIS.
Reported by: Russell Cattelan <cattelan@thebarn.com>
from normal rmdir'ing and unexec rmdir'ing, do a find | xargs rm for
generated .ph files, since those will differ in different versions of
FreeBSD just like .h files may not be the same.
2. Install.pm is broken in 5.6.1 and leads to the wrong .packlist
generation, which, in turn, breaks BSDPAN. Fix that.
3. Extend use.perl to patch /etc/manpath.config so that manpages for
modules installed by this and other p5- ports are be available.
PR: 39108 (item 1)
Reported by: Dan Nelson <dan@dan.emsphone.com> (item 1)
@INC array. This takes care of the infamous problem of updating the
packages already in the perl distribution. With this change, no tricks
are any longer necessary for such p5 ports, except the usual tweaking of
INSTALLDIRS in Makefile.PL. This last one can also be taken care of by
an appropriate BSDPAN modifications, but until we have the `natural'
@INC order in the 4.X base system perl, it is meaningless.
Do not include iconv.h and do not link with libiconv. Iconv is not used
by perl in any way currently, but it used to link it if found.
Fix perl on freebsd/sparc64.
PR: 33212 (iconv), 37605 (iconv), 38813 (sparc64)
Reported by: Vivek Khera <khera@kciLink.com> (iconv),
Martin Nilsson <martin@gneto.com> (iconv)
Submitted by: jake (sparc64)
the problems with threaded perl build. The threaded perl is curently
unsupported by this port but seems to work fine with this fix applied.
Reported by: Jens Fallesen <jens@fallesen.dk>
more stuff than the old one, which confuses makedepend script in the
distribution).
PORTREVISION is not bumped since there was no functionality change.
Reported-by: too many to list here
2. Remove the dependency on perl (rather important for this port).
3. Make the script this port installs use the version of perl from ports.
Reported-by: (item 2) Juriy Goloveshkin <j@gu.ru>, Mark Huizer <xaa@timewasters.nl>
Compile perl with BSDPAN support, both -current and -stable. The
version of BSDPAN used here coincides accidentally with the one present
in the -current system perl, but is installed in a different place.
Provide a script, use.perl, to facilitate switching of the perl used by
default between the system perl and this port. Also print a message
describing the usage of use.perl (this works for the port and for the
package built from it). The switching to the port version is done by
removing /usr/bin/perl and /usr/bin/suidperl (they both have link count
>1, so this is reversible), and making them to be symlinks to the
corresponding binaries in $PREFIX/bin. Also, assignments of the correct
values of PERL_VER, PERL_VERSION, and PERL_ARCH are appended to
/etc/make.conf. Last, NOPERL=yes is appended to /etc/make.conf, so that
the changes made will survive system upgrades from source. The
switching to the system version is more or less a reverse of the process
described above.
Set and use PERL_ARCH which is independed from the one used by the
system perl.
Fix the port for post-malloc.h -current.
Fix a small bogon when PREFIX was used in pkg-install (PKG_PREFIX should
have been used instead).
Reviewed by: markm, joe
As before, this is a "guru only" port. If you know what you are
doing, go ahead and use it. If not - HANDS OFF!
Perl 5.6.1 will be committed to "base" FreeBSD in a week or 2.
really want it.
This is still marked FORBIDDEN as there may be all sorts of horrible
incompatabilities with the perl5 in "base", but folks who are willing
to override this and experiment are welcome.
Consider this to be only partially supported. I'll happily commit
patches and fixes, but I don't want to answer too many questions.
Sorry!