diff --git a/externals/cowsay/INSTALL b/externals/cowsay/INSTALL deleted file mode 100644 --- a/externals/cowsay/INSTALL +++ /dev/null @@ -1,15 +0,0 @@ -================= -Installing cowsay -================= - -If you really want to get things installed a nice and pretty way, - - sh install.sh - -It will ask approximately one question. If you can't answer it, -you need serious help. - -If the install goes well, you can start cowing immediately! Just -be sure to read the manual page first... - -$Id: INSTALL,v 1.1 1999/08/14 08:03:17 tony Exp $ diff --git a/externals/cowsay/MANIFEST b/externals/cowsay/MANIFEST deleted file mode 100644 --- a/externals/cowsay/MANIFEST +++ /dev/null @@ -1,11 +0,0 @@ -ChangeLog Changes to recent versions. -INSTALL Instructions for installing cowsay. -LICENSE The license for use and redistribution of cowsay. -MANIFEST This file. -README Read this first. Really. -Wrap.pm.diff Diff for Text/Wrap.pm. -cows/* Support files used by cowsay. -cowsay Main cowsay executable. -cowsay.1 Main cowsay manual page. -install.sh cowsay installation script. -pgp_public_key.txt Verify the signature file with this key. diff --git a/externals/cowsay/README b/externals/cowsay/README --- a/externals/cowsay/README +++ b/externals/cowsay/README @@ -36,3 +36,11 @@ -- Tony Monroe (tony@nog.net) $Id: README,v 1.3 2000/05/28 06:24:46 tony Exp $ + +---- + +In September 2015, Phabricator imported the Perl version of cowsay +in the core, to use its nice template files. Anyway, the logic now +is not in Perl. It was re-implemented in PHP, here: + +src/infrastructure/markup/interpreter/PhabricatorRemarkupCowsayBlockInterpreter.php diff --git a/externals/cowsay/Wrap.pm.diff b/externals/cowsay/Wrap.pm.diff deleted file mode 100644 --- a/externals/cowsay/Wrap.pm.diff +++ /dev/null @@ -1,47 +0,0 @@ -*** Wrap.pm.in Thu May 22 00:21:42 1997 ---- Wrap.pm Fri Nov 12 10:00:15 1999 -*************** -*** 3,9 **** - require Exporter; - - @ISA = (Exporter); -! @EXPORT = qw(wrap); - @EXPORT_OK = qw($columns); - - $VERSION = 97.011701; ---- 3,9 ---- - require Exporter; - - @ISA = (Exporter); -! @EXPORT = qw(wrap fill); - @EXPORT_OK = qw($columns); - - $VERSION = 97.011701; -*************** -*** 66,71 **** ---- 66,90 ---- - - print "-----------$r---------\n" if $debug;; - return $r; -+ } -+ -+ ## Copied up from below. -+ sub fill -+ { -+ my ($ip, $xp, @raw) = @_; -+ my @para; -+ my $pp; -+ -+ for $pp (split(/\n\s+/, join("\n",@raw))) { -+ $pp =~ s/\s+/ /g; -+ my $x = wrap($ip, $xp, $pp); -+ push(@para, $x); -+ } -+ -+ # if paragraph_indent is the same as line_indent, -+ # separate paragraphs with blank lines -+ -+ return join ($ip eq $xp ? "\n\n" : "\n", @para); - } - - 1; diff --git a/externals/cowsay/cowsay b/externals/cowsay/cowsay deleted file mode 100755 --- a/externals/cowsay/cowsay +++ /dev/null @@ -1,187 +0,0 @@ -#%BANGPERL% - -## -## Cowsay 3.03 -## -## This file is part of cowsay. (c) 1999-2000 Tony Monroe. -## - -use Text::Tabs qw(expand); -use Text::Wrap qw(wrap fill $columns); -use File::Basename; -use Getopt::Std; -use Cwd; - -$version = "3.03"; -$progname = basename($0); -$eyes = "oo"; -$tongue = " "; -$cowpath = $ENV{'COWPATH'} || '%PREFIX%/share/cows'; -@message = (); -$thoughts = ""; - -## Yeah, this is rude, I know. But hopefully it gets around a nasty -## little version dependency. - -$Text::Wrap::initial_tab = 8; -$Text::Wrap::subsequent_tab = 8; -$Text::Wrap::tabstop = 8; - -## One of these days, we'll get it ported to Windows. Yeah, right. - -if (($^O eq "MSWin32") or ($^O eq "Windows_NT")) { ## Many perls, eek! - $pathsep = ';'; -} else { - $pathsep = ':'; -} - -%opts = ( - 'e' => 'oo', - 'f' => 'default.cow', - 'n' => 0, - 'T' => ' ', - 'W' => 40, -); - -getopts('bde:f:ghlLnNpstT:wW:y', \%opts); - -&display_usage if $opts{'h'}; -&list_cowfiles if $opts{'l'}; - -$borg = $opts{'b'}; -$dead = $opts{'d'}; -$greedy = $opts{'g'}; -$paranoid = $opts{'p'}; -$stoned = $opts{'s'}; -$tired = $opts{'t'}; -$wired = $opts{'w'}; -$young = $opts{'y'}; -$eyes = substr($opts{'e'}, 0, 2); -$tongue = substr($opts{'T'}, 0, 2); -$the_cow = ""; - -&slurp_input; -$Text::Wrap::columns = $opts{'W'}; -@message = ($opts{'n'} ? expand(@message) : - split("\n", fill("", "", @message))); -&construct_balloon; -&construct_face; -&get_cow; -print @balloon_lines; -print $the_cow; - -sub list_cowfiles { - my $basedir; - my @dirfiles; - chop($basedir = cwd); - for my $d (split(/$pathsep/, $cowpath)) { - print "Cow files in $d:\n"; - opendir(COWDIR, $d) || die "$0: Cannot open $d\n"; - for my $file (readdir COWDIR) { - if ($file =~ s/\.cow$//) { - push(@dirfiles, $file); - } - } - closedir(COWDIR); - print wrap("", "", sort @dirfiles), "\n"; - @dirfiles = (); - chdir($basedir); - } - exit(0); -} - -sub slurp_input { - unless ($ARGV[0]) { - chomp(@message = <STDIN>); - } else { - &display_usage if $opts{'n'}; - @message = join(' ', @ARGV); - } -} - -sub maxlength { - my ($l, $m); - $m = -1; - for my $i (@_) { - $l = length $i; - $m = $l if ($l > $m); - } - return $m; -} - -sub construct_balloon { - my $max = &maxlength(@message); - my $max2 = $max + 2; ## border space fudge. - my $format = "%s %-${max}s %s\n"; - my @border; ## up-left, up-right, down-left, down-right, left, right - if ($0 =~ /think/i) { - $thoughts = 'o'; - @border = qw[ ( ) ( ) ( ) ]; - } elsif (@message < 2) { - $thoughts = '\\'; - @border = qw[ < > ]; - } else { - $thoughts = '\\'; - if ($V and $V gt v5.6.0) { # Thanks, perldelta. - @border = qw[ / \\ \\ / | | ]; - } else { - @border = qw[ / \ \ / | | ]; - } - } - push(@balloon_lines, - " " . ("_" x $max2) . " \n" , - sprintf($format, $border[0], $message[0], $border[1]), - (@message < 2 ? "" : - map { sprintf($format, $border[4], $_, $border[5]) } - @message[1 .. $#message - 1]), - (@message < 2 ? "" : - sprintf($format, $border[2], $message[$#message], $border[3])), - " " . ("-" x $max2) . " \n" - ); -} - -sub construct_face { - if ($borg) { $eyes = "=="; } - if ($dead) { $eyes = "xx"; $tongue = "U "; } - if ($greedy) { $eyes = "\$\$"; } - if ($paranoid) { $eyes = "@@"; } - if ($stoned) { $eyes = "**"; $tongue = "U "; } - if ($tired) { $eyes = "--"; } - if ($wired) { $eyes = "OO"; } - if ($young) { $eyes = ".."; } -} - -sub get_cow { -## -## Get a cow from the specified cowfile; otherwise use the default cow -## which was defined above in $the_cow. -## - my $f = $opts{'f'}; - my $full = ""; - if ($opts{'f'} =~ m,/,) { - $full = $opts{'f'}; - } else { - for my $d (split(/:/, $cowpath)) { - if (-f "$d/$f") { - $full = "$d/$f"; - last; - } elsif (-f "$d/$f.cow") { - $full = "$d/$f.cow"; - last; - } - } - if ($full eq "") { - die "$progname: Could not find $f cowfile!\n"; - } - } - do $full; - die "$progname: $@\n" if $@; -} - -sub display_usage { - die <<EOF; -cow{say,think} version $version, (c) 1999 Tony Monroe -Usage: $progname [-bdgpstwy] [-h] [-e eyes] [-f cowfile] - [-l] [-n] [-T tongue] [-W wrapcolumn] [message] -EOF -} diff --git a/externals/cowsay/cowsay.1 b/externals/cowsay/cowsay.1 deleted file mode 100644 --- a/externals/cowsay/cowsay.1 +++ /dev/null @@ -1,168 +0,0 @@ -.\" -.\" cowsay.1 -.\" -.\" $Id: cowsay.1,v 1.4 1999/11/04 19:50:40 tony Exp $ -.\" -.\" This file is part of cowsay. (c) 1999 Tony Monroe. -.\" -.ds Nm Cowsay -.ds nm cowsay -.ds Vn 3.02 -.TH \*(nm 1 "$Date: 1999/11/04 19:50:40 $" -.SH NAME -\*(nm/cowthink \- configurable speaking/thinking cow (and a bit more) -.SH SYNOPSIS -cowsay -.RB [ \-e -.IR eye_string ] -.RB [ \-f -.IR cowfile ] -.RB [ \-h ] -.RB [ \-l ] -.RB [ \-n ] -.RB [ \-T -.IR tongue_string ] -.RB [ \-W -.IR column ] -.RB [ \-bdgpstwy ] -.SH DESCRIPTION -.I Cowsay -generates an ASCII picture of a cow saying something provided by the -user. If run with no arguments, it accepts standard input, word-wraps -the message given at about 40 columns, and prints the cow saying the -given message on standard output. -.PP -To aid in the use of arbitrary messages with arbitrary whitespace, -use the -.B \-n -option. If it is specified, the given message will not be -word-wrapped. This is possibly useful if you want to make the cow -think or speak in figlet(6). If -.B \-n -is specified, there must not be any command-line arguments left -after all the switches have been processed. -.PP -The -.B \-W -specifies roughly (where the message should be wrapped. The default -is equivalent to -.B \-W 40 -i.e. wrap words at or before the 40th column. -.PP -If any command-line arguments are left over after all switches have -been processed, they become the cow's message. The program will not -accept standard input for a message in this case. -.PP -There are several provided modes which change the appearance of the -cow depending on its particular emotional/physical state. The -.B \-b -option initiates Borg mode; -.B \-d -causes the cow to appear dead; -.B \-g -invokes greedy mode; -.B \-p -causes a state of paranoia to come over the cow; -.B \-s -makes the cow appear thoroughly stoned; -.B \-t -yields a tired cow; -.B \-w -is somewhat the opposite of -.BR \-t , -and initiates wired mode; -.B \-y -brings on the cow's youthful appearance. -.PP -The user may specify the -.B \-e -option to select the appearance of the cow's eyes, in which case -the first two characters of the argument string -.I eye_string -will be used. The default eyes are 'oo'. The tongue is similarly -configurable through -.B \-T -and -.IR tongue_string ; -it must be two characters and does not appear by default. However, -it does appear in the 'dead' and 'stoned' modes. Any configuration -done by -.B \-e -and -.B \-T -will be lost if one of the provided modes is used. -.PP -The -.B \-f -option specifies a particular cow picture file (``cowfile'') to -use. If the cowfile spec contains '/' then it will be interpreted -as a path relative to the current directory. Otherwise, cowsay -will search the path specified in the -.B COWPATH -environment variable. -To list all cowfiles on the current -.BR COWPATH , -invoke -.B \*(nm -with the -.B \-l -switch. -.PP -If the program is invoked as -.B cowthink -then the cow will think its message instead of saying it. -.PP -.SH COWFILE FORMAT -A cowfile is made up of a simple block of -.BR perl (1) -code, which assigns a picture of a cow to the variable -.BR $the_cow . -Should you wish to customize the eyes or the tongue of the cow, -then the variables -.B $eyes -and -.B $tongue -may be used. The trail leading up to the cow's message balloon is -composed of the character(s) in the -.B $thoughts -variable. Any backslashes must be reduplicated to prevent -interpolation. The name of a cowfile should end with -.BR .cow , -otherwise it is assumed not to be a cowfile. Also, at-signs (``@'') -must be backslashed because that is what Perl 5 expects. -.PP -.SH COMPATIBILITY WITH OLDER VERSIONS -.PP -What older versions? :-) -.PP -Version 3.x is fully backward-compatible with 2.x versions. If -you're still using a 1.x version, consider upgrading. And tell me -where you got the older versions, since I didn't exactly put them -up for world-wide access. -.PP -Oh, just so you know, this manual page documents version \*(Vn of -cowsay. -.SH ENVIRONMENT -The COWPATH environment variable, if present, will be used to search -for cowfiles. It contains a colon-separated list of directories, -much like -.B PATH or -.BR MANPATH . -It should always contain the -.B /usr/local/share/cows -directory, or at least a directory with a file called -.B default.cow -in it. -.SH FILES -.B %PREFIX%/share/cows -holds a sample set of cowfiles. If your -.B COWPATH -is not explicitly set, it automatically contains this directory. -.SH BUGS -If there are any, please notify the author at the address below. -.SH AUTHOR -Tony Monroe (tony@nog.net), with suggestions from Shannon -Appel (appel@CSUA.Berkeley.EDU) and contributions from Anthony Polito -(aspolito@CSUA.Berkeley.EDU). -.SH SEE ALSO -perl(1), wall(1), nwrite(1), figlet(6) diff --git a/externals/cowsay/install.sh b/externals/cowsay/install.sh deleted file mode 100755 --- a/externals/cowsay/install.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh - -## -## install.sh -## -## Installation script for cowsay. -## -## $Id: install.sh,v 1.5 1999/11/01 20:19:21 tony Exp $ -## -## This file is part of cowsay. (c) 1999 Tony Monroe. -## - -rcs_id='$Id: install.sh,v 1.5 1999/11/01 20:19:21 tony Exp $' - -filelist='cows' - -cat <<DOG -=================== -cowsay Installation -=================== - -Searching for useful perl executables... -DOG - -backdoor=$1 - -pathdirs=`echo $PATH | tr : " "` -for p in $pathdirs; do - set $p/perl $p/perl5* - while [ ! -z "$1" ]; do - if [ -x "$1" ]; then - echo Found perl in $1 - perls="$perls $1" - fi - shift - done -done -for perl in $perls; do - if $perl -MText::Wrap -e0 >/dev/null 2>&1; then - echo Found a good perl in $perl - goodperls="$goodperls $perl" - fi -done -echo The following perl executables will run cowsay: -echo $goodperls -echo I recommend the latest stable perl you can find. -set $goodperls -if [ -z "$1" ]; then - echo Ack! You do not have Perl 5 installed correctly! - echo Get thee to CPAN! - exit 1 -fi -usethisperl=$1 -echo I will be using $1 because I know it will work. - -echo Now I need an installation prefix. I will use /usr/local unless -printf "you give me a better idea here: " -if [ -n "$backdoor" ]; then - prefix=$backdoor - printf "%s (specified on command line)\n" $prefix -else - read prefix -fi - -PREFIX=${prefix:-/usr/local} - -echo Okay, time to install this puppy. - -echo s,%BANGPERL%,!$usethisperl,\; > install.pl -echo s,%PREFIX%,$PREFIX,\; >> install.pl -set -x -mkdir -p $PREFIX/bin || (mkdir $PREFIX; mkdir $PREFIX/bin) -$usethisperl -p install.pl cowsay > $PREFIX/bin/cowsay -chmod a+x $PREFIX/bin/cowsay -ln -s cowsay $PREFIX/bin/cowthink -mkdir -p $PREFIX/man/man1 || ($mkdir $PREFIX; mkdir $PREFIX/man; mkdir $PREFIX/man/man1) -$usethisperl -p install.pl cowsay.1 > $PREFIX/man/man1/cowsay.1 -chmod a+r $PREFIX/man/man1/cowsay.1 -ln -s cowsay.1 $PREFIX/man/man1/cowthink.1 -mkdir -p $PREFIX/share/cows || (mkdir $PREFIX; mkdir $PREFIX/share; mkdir $PREFIX/share/cows) -tar -cf - $filelist | (cd $PREFIX/share && tar -xvf -) -set +x - -echo Okay, let us see if the install actually worked. - -if [ ! -f $PREFIX/share/cows/default.cow ]; then - echo The default cow file did not make it across! - echo Ooops, it failed...sorry! - exit 1 -fi - -echo Installation complete! Enjoy the cows! diff --git a/externals/cowsay/pgp_public_key.txt b/externals/cowsay/pgp_public_key.txt deleted file mode 100644 --- a/externals/cowsay/pgp_public_key.txt +++ /dev/null @@ -1,14 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.2 - -mQCNAzNS+H4AAAEEAMilCcxLMIqMNXhZoeHjbeJGnHoKP0JpKDejz66qBlDwP+du -FvVBHkyNIuU3orKe7l/aXIR8TcpjrxdcmrjjzwuB1aV48V4swT7v9UXvv9YP41Pd -1pXYXNelXHmE0eKSfcnkkFmYTJBXPaPNTJ3rpZpZOEW3SfgrrheqQm6w/6IJAAUR -tBpUb255IE1vbnJvZSA8dG9ueUBub2cubmV0PrQdVG9ueSBNb25yb2UgPHRtb25y -b2VAbm9nLm5ldD6JAJUDBRA2bDA5F6pCbrD/ogkBASOZA/9XtYSpcPjpi62MTEZl -l+wV1svtlUlPvKkDE7FB9bwnMbF1FgGhTe/H4/8qDu20m5eGxMX58Ri7HPXWjjJ/ -CrUWMzGVbg1JBkgh+d9QvEywmR0j4WezaifW1nCbxk0GrW1PjJyGb3kx7vrIF1Km -xt6VwxTgfJzjIioBJFb4EiDyaLQnVG9ueSBNb25yb2UgPHRtb25yb2VAQ1NVQS5C -ZXJrZWxleS5FRFU+ -=WpM4 ------END PGP PUBLIC KEY BLOCK-----