aboutsummaryrefslogtreecommitdiffstats
path: root/lang/perl5.6/files
diff options
context:
space:
mode:
authortobez <tobez@FreeBSD.org>2001-12-20 01:05:05 +0800
committertobez <tobez@FreeBSD.org>2001-12-20 01:05:05 +0800
commit61a01042c97a9e12395089eba07a7850fc4597e1 (patch)
tree167fa02a68276e52c3e73969ff0b746f0b1068c2 /lang/perl5.6/files
parent5e90804273b510ae1e97b2a564b62ab72989abac (diff)
downloadfreebsd-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.perl82
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;
+}