#!/usr/bin/perl -w

# make-wmtheme
#
# Read in wmtheme, make replacements:
#
#  1.  Put $PERL or `which perl` in shebang line
#  2.  Put contents of VERSION in line like $VERSION = 'x.x.x';
#  3.  Put $PREFIX in line like $PREFIX = '/usr';
#
# and write back to wmtheme.

$programname = 'make-wmtheme';

if ($ENV{'PERL'}) {
  $perl = $ENV{'PERL'};
} else {
  chomp($perl = `which perl`);
}

if (!$perl) {
  die "$programname: fatal: can't find perl\n";
}

($version = `cat VERSION`) =~ s/^\s*(.+?)\s*$/$1/;

if (!$version) {
  die "$programname: fatal: can't find VERSION\n";
}

$wmprefix = $ENV{'PREFIX'};

if (!$wmprefix) {
  die "$programname: fatal: can't determine PREFIX\n";
}

open F, 'wmtheme' or die "$programname: can't open wmtheme: $!\n";

($shebang = <F>) =~ s/^#!\S+/#!$perl/ or
  die "$programname: expected #!... in wmtheme but found this: $shebang\n";

$wmtheme = $shebang;

while (defined ($line = <F>)) {
  if ($line =~ /^\s*\$VERSION\s*=/) {
    $line = "\$VERSION = '$version';\n";
  } elsif ($line =~ /^\s*\$PREFIX\s*=/) {
    $line = "\$PREFIX = '$wmprefix';\n";
  }
  $wmtheme .= $line;
}

close F;

open F, '>wmtheme' or die "$programname: can't write wmtheme: $!\n";
print F $wmtheme;
close F or die "$programname: error writing wmtheme: $!\n";


