#!/usr/bin/perl
### pos.pl 'POrts Search' (c) 2003 by I.S.

use warnings;
use Term::ANSIColor;

$wort = shift || die "./pos.pl suchwort";

print "\nSuche nach ", colored("$wort", "bold"), " ...\n\n";
chdir("/usr/ports");
system("make search key=$wort >/tmp/bla");
open(F, "/tmp/bla");

while(<F>){
  if (/^\s+$/) {print "\n"; next;}
  @zeile = split /:\t/, $_;
  $zeile[1] =~ s/^\s+//;
  if ( $zeile[0] eq "Port" ) {
    chop($zeile[1]);
    print "==> ";
    print colored("$zeile[1]", "yellow"), " ";
  } elsif ( $zeile[0] eq "Path" ) {
    chop($zeile[1]);
    $zeile[1] =~ s/,\w+$//;
    print "($zeile[1])\n";
    if (-f "/usr/ports/$zeile[1]/Makefile") {
      open(H, "grep HOMEPAGE= /usr/ports/$zeile[1]/Makefile |");
      $url = <H>;
      close(H);
      if (defined $url){
        $url =~ s/^HOMEPAGE=\s//;
        $url =~ s/^\s+//;
        print colored("$url", "blue");
      }
    }
  } elsif ( $zeile[0] eq "Info" ) {
    chop($zeile[1]);
    print colored("$zeile[1]", "bold"), "\n";
  } elsif ( $zeile[0] =~ "-deps" ) {
    print colored("$zeile[1]", "red");
  }
}

close(F);
print "\n";
unlink</tmp/bla*>;
### EOP

