diff options
-rw-r--r-- | games/Makefile | 1 | ||||
-rw-r--r-- | games/nonsense/Makefile | 27 | ||||
-rw-r--r-- | games/nonsense/distinfo | 1 | ||||
-rw-r--r-- | games/nonsense/files/patch-aa | 65 | ||||
-rw-r--r-- | games/nonsense/pkg-comment | 1 | ||||
-rw-r--r-- | games/nonsense/pkg-descr | 10 | ||||
-rw-r--r-- | games/nonsense/pkg-plist | 23 |
7 files changed, 128 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile index 39ec2e780010..41c20014e350 100644 --- a/games/Makefile +++ b/games/Makefile @@ -177,6 +177,7 @@ SUBDIR += trojka SUBDIR += tvp SUBDIR += nil + SUBDIR += nonsense SUBDIR += omega SUBDIR += uox3 SUBDIR += wmeyes diff --git a/games/nonsense/Makefile b/games/nonsense/Makefile new file mode 100644 index 000000000000..6a107e0527d1 --- /dev/null +++ b/games/nonsense/Makefile @@ -0,0 +1,27 @@ +# New ports collection makefile for: nonsense +# Date created: 15 December 2000 +# Whom: roam@FreeBSD.org +# +# $FreeBSD$ +# + +PORTNAME= nonsense +PORTVERSION= 0.4 +CATEGORIES= games +MASTER_SITES= http://i-want-a-website.com/about-linux/ + +MAINTAINER= roam@FreeBSD.org + +NO_BUILD= defined + +post-configure: + ${PERL} -pi -e "s,/usr/local,${PREFIX}," ${WRKSRC}/nonsense + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC}/nonsense ${PREFIX}/bin + ${MKDIR} ${PREFIX}/share/nonsense/data + ${MKDIR} ${PREFIX}/share/nonsense/template + ${INSTALL_DATA} ${WRKSRC}/*.data ${PREFIX}/share/nonsense/data + ${INSTALL_DATA} ${WRKSRC}/*.template ${PREFIX}/share/nonsense/template + +.include <bsd.port.mk> diff --git a/games/nonsense/distinfo b/games/nonsense/distinfo new file mode 100644 index 000000000000..4572d3f504a6 --- /dev/null +++ b/games/nonsense/distinfo @@ -0,0 +1 @@ +MD5 (nonsense-0.4.tar.gz) = 4913fd46d6b93a62eb26cf96586721b8 diff --git a/games/nonsense/files/patch-aa b/games/nonsense/files/patch-aa new file mode 100644 index 000000000000..6b5d2d5eba7d --- /dev/null +++ b/games/nonsense/files/patch-aa @@ -0,0 +1,65 @@ +--- nonsense 2000/12/15 13:26:57 1.1.1.3 ++++ nonsense 2000/12/15 13:54:30 1.6 +@@ -40,6 +40,10 @@ + use POSIX qw( strftime ); # Just in case somebody needs the date + use CGI; + ++my $PREFIX = "/usr/local"; ++my $datadir = "$PREFIX/share/nonsense/data"; ++my $templatedir = "$PREFIX/share/nonsense/template"; ++ + my %pool; # Where the datafiles are slurped into + my %static; # Hash of persistent data (to maintain state) + +@@ -328,7 +332,8 @@ + sub LoadDataFile { + my $file = shift; + $file = SafeFile( $file ) if $cgi_mode; +- open IN, $file or die "Error opening $file... $!\n"; ++ open IN, $file or open IN, "$datadir/$file" ++ or die "Error opening $file... $!\n"; + local $/ = ''; + + SECTION: while( <IN> ) { +@@ -344,7 +349,8 @@ + my $file = shift; + my $m = ''; + $file = SafeFile( $file ) if $cgi_mode; +- open IN, $file or die "Error opening $file template... $!\n"; ++ open IN, $file or open IN, "$templatedir/$file" ++ or die "Error opening $file template... $!\n"; + local $/; undef $/; my $t = <IN>; + close IN; + if( $t =~ /__BEGIN__/ ) { # Check for a header +@@ -356,15 +362,29 @@ + ### Remove special characters from a filename to prevent maliciousness + sub SafeFile { + my( $file ) = shift; +- $file =~ s/([|<>])//g; ++ $file =~ s/([|<>\0]|\.\.\/)//g; + warn("[" . localtime() . "] [warning] [client $ENV{REMOTE_ADDR}] Attempt to override filename safety feature!") if $1; + return $file; + } + ++sub ListUniq { ++ my ($v, $last) = (undef, undef); ++ my @l = (); ++ ++ foreach $v (@_) { ++ push (@l, $v) if (defined($last) && ($v ne $last)); ++ $last = $v; ++ } ++ return @l; ++} ++ + ### Return all of the datafiles in the current directory + sub GlobCurrentDirectory { + opendir(DIR, "."); + my @datafiles = grep { /\.data$/ } readdir(DIR); ++ closedir(DIR); ++ opendir(DIR, "$datadir"); ++ push(@datafiles, grep { /\.data$/ } readdir(DIR)); + closedir(DIR); +- return @datafiles; ++ return ListUniq(sort @datafiles); + } diff --git a/games/nonsense/pkg-comment b/games/nonsense/pkg-comment new file mode 100644 index 000000000000..808dc0f81ba0 --- /dev/null +++ b/games/nonsense/pkg-comment @@ -0,0 +1 @@ +A nonsense text generator diff --git a/games/nonsense/pkg-descr b/games/nonsense/pkg-descr new file mode 100644 index 000000000000..8aa00a97ff30 --- /dev/null +++ b/games/nonsense/pkg-descr @@ -0,0 +1,10 @@ +From the nonsense README: + +Nonsense generates random (and sometimes humorous) text from datafiles and +templates using a very simple, recursive grammar. It's like having a million +monkeys sitting in front of a million typewriters, without having to feed or +clean up after them. From fake Slashdot headlines to absurd college courses to +buzzword bingo cards, Nonsense is a good way to waste time. + +Author: James Bughn <nonsense@i-want-a-website.com> +WWW: http://i-want-a-website.com/about-linux/downloads.shtml diff --git a/games/nonsense/pkg-plist b/games/nonsense/pkg-plist new file mode 100644 index 000000000000..19d1b5bf028e --- /dev/null +++ b/games/nonsense/pkg-plist @@ -0,0 +1,23 @@ +bin/nonsense +share/nonsense/data/college.data +share/nonsense/data/cookie.data +share/nonsense/data/default.data +share/nonsense/data/insults.data +share/nonsense/data/linux.data +share/nonsense/data/mission.data +share/nonsense/data/newspaper.data +share/nonsense/data/ratherism.data +share/nonsense/data/resume.data +share/nonsense/data/shows.data +share/nonsense/data/slashdot.data +share/nonsense/data/stupidlaws.data +share/nonsense/template/bingo.html.template +share/nonsense/template/bizplan.html.template +share/nonsense/template/freshmeat.rdf.template +share/nonsense/template/newspaper.html.template +share/nonsense/template/resume.html.template +share/nonsense/template/slashdot.html.template +share/nonsense/template/slashdot.rdf.template +@dirrm share/nonsense/data +@dirrm share/nonsense/template +@dirrm share/nonsense |