diff options
author | tobez <tobez@FreeBSD.org> | 2001-12-20 01:05:05 +0800 |
---|---|---|
committer | tobez <tobez@FreeBSD.org> | 2001-12-20 01:05:05 +0800 |
commit | 61a01042c97a9e12395089eba07a7850fc4597e1 (patch) | |
tree | 167fa02a68276e52c3e73969ff0b746f0b1068c2 /lang/perl5.6/files | |
parent | 5e90804273b510ae1e97b2a564b62ab72989abac (diff) | |
download | freebsd-ports-gnome-61a01042c97a9e12395089eba07a7850fc4597e1.tar.gz freebsd-ports-gnome-61a01042c97a9e12395089eba07a7850fc4597e1.tar.zst freebsd-ports-gnome-61a01042c97a9e12395089eba07a7850fc4597e1.zip |
Unforbid the port for the use of general FreeBSD public.
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
Diffstat (limited to 'lang/perl5.6/files')
-rw-r--r-- | lang/perl5.6/files/use.perl | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/lang/perl5.6/files/use.perl b/lang/perl5.6/files/use.perl new file mode 100644 index 000000000000..4bd8fdef66d1 --- /dev/null +++ b/lang/perl5.6/files/use.perl @@ -0,0 +1,82 @@ +#! /usr/bin/perl5 -w +# $FreeBSD$ +use strict; + +# XXX what to do with perldoc, pelbug, perlcc ?? + +sub usage +{ + print STDERR <<EOF; +Usage: + $0 port -> /usr/bin/perl is the perl5 port + $0 system -> /usr/bin/perl is the system perl +EOF + exit 2; +} + +@ARGV == 1 or usage(); +if ($ARGV[0] eq 'port') { + switch_to_port(); +} elsif ($ARGV[0] eq 'system') { + switch_to_system(); +} else { + usage(); +} +exit 0; + +sub switch_to_system +{ + my $port_perl = '%%PREFIX%%/bin/perl'; + $port_perl =~ tr|/|/|s; + + # protect against cases where people use PREFIX=/usr + if ($port_perl ne '/usr/bin/perl') { + unlink '/usr/bin/perl', '/usr/bin/suidperl', + '/usr/bin/perl%%PERL_VERSION%%'; + + link '/usr/bin/perl5', '/usr/bin/perl'; + link '/usr/bin/sperl5', '/usr/bin/suidperl'; + } + + open MK, ">> /etc/make.conf" or die "/etc/make.conf: $!"; + print MK <<EOF; +# -- use.perl generated deltas -- # +# Created: @{[scalar localtime]} +# Setting to use base system perl: +.undef PERL_VER +.undef PERL_VERSION +.undef PERL_ARCH +.undef NOPERL + +EOF + close MK; +} + +sub switch_to_port +{ + my $port_perl = '%%PREFIX%%/bin/perl'; + $port_perl =~ tr|/|/|s; + + # protect against cases where people use PREFIX=/usr + if ($port_perl ne '/usr/bin/perl') { + unlink '/usr/bin/perl', '/usr/bin/suidperl', + '/usr/bin/perl%%PERL_VERSION%%'; + + symlink '%%PREFIX%%/bin/perl', '/usr/bin/perl'; + symlink '%%PREFIX%%/bin/suidperl', '/usr/bin/suidperl'; + symlink '%%PREFIX%%/bin/perl', '/usr/bin/perl%%PERL_VERSION%%'; + } + + open MK, ">> /etc/make.conf" or die "/etc/make.conf: $!"; + print MK <<EOF; +# -- use.perl generated deltas -- # +# Created: @{[scalar localtime]} +# Setting to use base perl from ports: +PERL_VER=%%PERL_VER%% +PERL_VERSION=%%PERL_VERSION%% +PERL_ARCH=%%PERL_ARCH%% +NOPERL=yo + +EOF + close MK; +} |