diff -Naur lilypond-2.2.1-orig/buildscripts/clean-fonts.sh lilypond-2.2.1/buildscripts/clean-fonts.sh
--- lilypond-2.2.1-orig/buildscripts/clean-fonts.sh	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/buildscripts/clean-fonts.sh	Sun May  9 13:17:28 2004
@@ -20,6 +20,7 @@
 /var/texfonts
 /var/cache/fonts
 /usr/share/texmf/fonts
+@prefix@/var/lib/texmf
 "
 
 for i in $dirs; do
diff -Naur lilypond-2.2.1-orig/buildscripts/lilypond-profile.sh lilypond-2.2.1/buildscripts/lilypond-profile.sh
--- lilypond-2.2.1-orig/buildscripts/lilypond-profile.sh	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/buildscripts/lilypond-profile.sh	Sun May  9 13:17:28 2004
@@ -7,59 +7,6 @@
 # If run by hand or from you .profile, run as follows
 #   . /PATH/TO/lilypond-profile
 
-
-
-# workaround for ZSH posix $0-problem
-
-# for zsh: start removing here
-if [ -n "$ZSH_NAME" ] ; then
-    echo "You are running this script under zsh. Edit this script by hand. "
-    echo 
-    echo "(failed to source lilypond-profile)"
-    return 2
-fi
-
-if [ `basename "$0"` = "lilypond-profile" ] ; then 
-    cat >/dev/stderr <<EOF
-    
-Error: This script cannot be run in a subshell; it MUST be sourced.
-
-
-EXAMPLE 1: One time use 
-
-	* Do
-
-	    . $0
-
-
-
-EXAMPLE 2: Install for self
-
-	* Do
-
-	    cp lilypond-profile $HOME/bin/
-
-	* Add
-
-	    .  $HOME/bin/lilypond-profile
-
-	to either $HOME/.profile or $HOME/.bash_profile, 
-
-	* Logout.
-
-
-EXAMPLE 3: Install for all users.
-
-	* Do
-
-	     mv lilypond-profile /etc/profile.d/lilypond.sh
-
-	* Logout
-
-EOF
-
-    return 2
-else
 #  for zsh: till here
 
 	if [ -z "$LILYPONDPREFIX" ]; then
@@ -86,8 +33,3 @@
 	# For direct ps output fonts. Add all available TeX Type1 fonts
 	## GS_FONTPATH=`kpsewhich -expand-path=\\$T1FONTS`:${GS_FONTPATH:=""}
 	## export GS_FONTPATH
-
-fi # remove for zsh
- 	
-
-
diff -Naur lilypond-2.2.1-orig/buildscripts/rpm2cpio.pl lilypond-2.2.1/buildscripts/rpm2cpio.pl
--- lilypond-2.2.1-orig/buildscripts/rpm2cpio.pl	Thu Jan  1 09:00:00 1970
+++ lilypond-2.2.1/buildscripts/rpm2cpio.pl	Sun May  9 13:17:28 2004
@@ -0,0 +1,88 @@
+#!/usr/bin/perl
+
+# Why does the world need another rpm2cpio?  Because the existing one
+# won't build unless you have half a ton of things that aren't really
+# required for it, since it uses the same library used to extract RPMs.
+# In particular, it won't build on the HPsUX box I'm on.
+
+#
+# Expanded quick-reference help by Rick Moen (not the original author 
+# of this script).
+#
+
+# add a path if desired
+$gzip = "gzip";
+
+sub printhelp {
+  print "\n";
+  print "rpm2cpio, perl version by orabidoo <odar\@pobox.com>\n";
+  print "\n";
+  print "use: rpm2cpio [file.rpm]\n";
+  print "dumps the contents to stdout as a GNU cpio archive\n";
+  print "\n";
+  print "In case it's non-obvious, you'll need to redirect output\n";
+  print "from this script, e.g., './rpm2cpio package.rpm > package.cpio'.\n";
+  print "Then, unpack in, say, /tmp with a cpio incantation like this one:\n";
+  print "'cpio -ivd < package.cpio'\n";
+  print "\n";
+  print "You can optionally combine both steps:\n";
+  print "'rpm2cpio package.rpm | cpio -iduv'\n";
+  print "\n";
+  print "In either event, you will also need the 'cpio' utility available\n";
+  print "on your system.  If you can't find it elsewhere, source code for\n";
+  print "GNU cpio is always available at ftp://ftp.gnu.org/gnu/cpio/.)\n";
+  print "You'll also, of course, need Perl, and will want this Perl script\n";
+  print "set as executable, i.e., by doing 'chmod 775 rpm2cpio'\n";
+  print "\n";
+  print "Be aware that this script works ONLY on version 3-format RPM\n";
+  print "archives.  You can check an archive's RPM-format version using\n";
+  print "the Unix 'file' utility.  Also, be aware that the 'cpio'\n";
+  print "incantations above will unpack files at the current directory\n";
+  print "level.\n";
+  print "\n";
+  
+  exit 0;
+}
+
+if ($#ARGV == -1) {
+  printhelp if -t STDIN;
+  $f = "STDIN";
+} elsif ($#ARGV == 0) {
+  open(F, "< $ARGV[0]") or die "Can't read file $ARGV[0]\n";
+  $f = 'F';
+} else {
+  printhelp;
+}
+
+printhelp if -t STDOUT;
+
+# gobble the file up
+undef $/;
+$|=1;
+$rpm = <$f>;
+close ($f);
+
+($magic, $major, $minor, $crap) = unpack("NCC C90", $rpm);
+
+die "Not an RPM\n" if $magic != 0xedabeedb;
+die "Not a version 3 RPM\n" if $major != 3;
+
+$rpm = substr($rpm, 96);
+
+while ($rpm ne '') {
+  $rpm =~ s/^\c@*//s;
+  ($magic, $crap, $sections, $bytes) = unpack("N4", $rpm);
+  $smagic = unpack("n", $rpm);
+  last if $smagic eq 0x1f8b;
+  die "Error: header not recognized\n" if $magic != 0x8eade801;
+  $rpm = substr($rpm, 16*(1+$sections) + $bytes);
+}
+
+die "bogus RPM\n" if $rpm eq '';
+
+open(ZCAT, "|gzip -cd") || die "can't pipe to gzip\n";
+print STDERR "CPIO archive found!\n";
+
+print ZCAT $rpm;
+close ZCAT;
+
diff -Naur lilypond-2.2.1-orig/lexer-gcc-3.1.sh lilypond-2.2.1/lexer-gcc-3.1.sh
--- lilypond-2.2.1-orig/lexer-gcc-3.1.sh	Sat May  8 23:36:04 2004
+++ lilypond-2.2.1/lexer-gcc-3.1.sh	Sun May  9 13:17:28 2004
@@ -8,7 +8,7 @@
 
 if [ -z "$FLEXLEXER" ]; then
 
-includes="$HOME/usr/include /usr/local/include /usr/include"
+includes="$HOME/usr/include $PREFIX/include /usr/local/include /usr/include" 
 
 for i in $includes; do
     file=$i/FlexLexer.h
@@ -43,9 +43,9 @@
 echo -n "Copying and fixing $file... "
 mkdir -p lily/$outdir
 rm -f lily/$outdir/FlexLexer.h
-sed -e 's/iostream.h/iostream/' \
-    -e 's/\<istream\>/std::istream/' \
-    -e 's/\<ostream\>/std::ostream/' \
+perl -p -e 's/iostream.h/iostream/g;' \
+    -e 's/\bistream\b/std::istream/g;' \
+    -e 's/\bostream\b/std::ostream/' \
     $file > lily/$outdir/FlexLexer.h
 echo "done"
 
@@ -58,9 +58,9 @@
     make conf=$CONF -C lily $outdir/lexer.cc > /dev/null 2>&1 || true
 
     mv $file $file.orig
-    sed -e 's/\<cin\>/std::cin/g' \
-	-e 's/\<cout\>/std::cout/g' \
-	-e 's/\<cerr\>/std::cerr/g' \
+    perl -p -e 's/\bcin\b/std::cin/g;' \
+	-e 's/\bcout\b/std::cout/g;' \
+	-e 's/\bcerr\b/std::cerr/g' \
 	$file.orig > $file
     echo "done"
 fi
diff -Naur lilypond-2.2.1-orig/lily/kpath.cc lilypond-2.2.1/lily/kpath.cc
--- lilypond-2.2.1-orig/lily/kpath.cc	Sat May  8 23:36:02 2004
+++ lilypond-2.2.1/lily/kpath.cc	Sun May  9 13:17:28 2004
@@ -26,6 +26,7 @@
 #define popen REALLYUGLYKLUDGE
 #define pclose ANOTHERREALLYUGLYKLUDGE
 #define getopt YAKLUDGE
+#define __GNU_LIBRARY__
 
 #if HAVE_KPATHSEA_KPATHSEA_H
 extern "C" {
diff -Naur lilypond-2.2.1-orig/lily/lily-guile.cc lilypond-2.2.1/lily/lily-guile.cc
--- lilypond-2.2.1-orig/lily/lily-guile.cc	Sat May  8 23:36:02 2004
+++ lilypond-2.2.1/lily/lily-guile.cc	Sun May  9 13:17:28 2004
@@ -37,6 +37,11 @@
 #include "interval.hh"
 #include "pitch.hh"
 #include "dimensions.hh"
+//
+// source-file.h includes cmath which undefines isinf and isnan
+//
+inline int (isinf)(Real r) { return isinf(r); }
+inline int (isnan)(Real r) { return isnan(r); }
 #include "source-file.hh"
 
 // #define TEST_GC
diff -Naur lilypond-2.2.1-orig/lily/my-lily-parser.cc lilypond-2.2.1/lily/my-lily-parser.cc
--- lilypond-2.2.1-orig/lily/my-lily-parser.cc	Sat May  8 23:36:02 2004
+++ lilypond-2.2.1/lily/my-lily-parser.cc	Sun May  9 13:17:28 2004
@@ -7,6 +7,10 @@
        Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
+//
+// Work aroung a gcc 3.1 (?) bug
+//
+#include <iostream.h>
 #include "my-lily-parser.hh"
 #include "my-lily-lexer.hh"
 #include "warn.hh"
diff -Naur lilypond-2.2.1-orig/mf/GNUmakefile lilypond-2.2.1/mf/GNUmakefile
--- lilypond-2.2.1-orig/mf/GNUmakefile	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/mf/GNUmakefile	Sun May  9 13:20:14 2004
@@ -82,7 +82,7 @@
 
 export MFINPUTS:=.:$(MFINPUTS)
 
-default: pfa_warning $(ALL_GEN_FILES)
+default: $(ALL_GEN_FILES)
 
 
 pfa_warning:
@@ -118,11 +118,13 @@
 
 redhat-package=lilypond-$(TOPLEVEL_VERSION)-1.i386.rpm
 $(outdir)/$(redhat-package):
-	wget  --passive-ftp -P $(outdir) http://lilypond.org/download/binaries/RedHat-9/$(redhat-package)
+#	wget  --passive-ftp -P $(outdir) http://lilypond.org/download/binaries/RedHat-9/$(redhat-package)
+	mv ../../$(redhat-package) $(outdir)
 
 get-rpm-pfa: $(outdir)/$(redhat-package)
 	cd $(outdir) ; rm -rf usr/ # (root alert!) 
-	cd $(outdir) ; rpm2cpio $(redhat-package) | cpio -uid '*.pfa'
+#	cd $(outdir) ; rpm2cpio $(redhat-package) | cpio -uid '*.pfa'
+	cd $(outdir) ; perl ../../buildscripts/rpm2cpio.pl $(redhat-package) | cpio -uid '*.pfa'
 	touch $(addprefix $(outdir)/, $(addsuffix .bla,$(SAUTER_FONTS)))
 	cp `find $(outdir)/usr/ -name '*.pfa'` $(outdir)/
 
diff -Naur lilypond-2.2.1-orig/stepmake/stepmake/c++-rules.make lilypond-2.2.1/stepmake/stepmake/c++-rules.make
--- lilypond-2.2.1-orig/stepmake/stepmake/c++-rules.make	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/stepmake/stepmake/c++-rules.make	Sun May  9 13:17:28 2004
@@ -26,3 +26,4 @@
 
 $(outdir)/%.cc: %.ll
 	$(FLEX) -Cfe -p -p -o$@ $< 
+	perl -i -pe 's/^class istream;/#include <iostream>;\nusing namespace std;/' $@
\ No newline at end of file
diff -Naur lilypond-2.2.1-orig/stepmake/stepmake/c-vars.make lilypond-2.2.1/stepmake/stepmake/c-vars.make
--- lilypond-2.2.1-orig/stepmake/stepmake/c-vars.make	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/stepmake/stepmake/c-vars.make	Sun May  9 13:17:28 2004
@@ -14,4 +14,4 @@
 
 ALL_C_SOURCES += $(H_FILES) $(C_FILES) $(Y_FILES) $(L_FILES)
 
-ALL_CFLAGS = $(CFLAGS) $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS)
+ALL_CFLAGS = $(CFLAGS) $(CPPFLAGS) $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS)
diff -Naur lilypond-2.2.1-orig/stepmake/stepmake/compile-vars.make lilypond-2.2.1/stepmake/stepmake/compile-vars.make
--- lilypond-2.2.1-orig/stepmake/stepmake/compile-vars.make	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/stepmake/stepmake/compile-vars.make	Sun May  9 13:17:28 2004
@@ -3,7 +3,7 @@
 ALL_LDFLAGS = $(LDFLAGS) $(ILDFLAGS) $(EXTRA_LDFLAGS) $($(PACKAGE)_LDFLAGS) $(MODULE_LDFLAGS) $(USER_LDFLAGS)
 
 PIC_FLAGS = -fpic -fPIC
-SHARED_FLAGS = -shared
+SHARED_FLAGS = -bundle -flat_namespace -undefined suppress
 
 o-dep-out = $(outdir)/$(subst .o,.dep,$(notdir $@))#
 DO_O_DEP = rm -f $(o-dep-out); DEPENDENCIES_OUTPUT="$(o-dep-out) $(outdir)/$(notdir $@)"
diff -Naur lilypond-2.2.1-orig/stepmake/stepmake/install-out-targets.make lilypond-2.2.1/stepmake/stepmake/install-out-targets.make
--- lilypond-2.2.1-orig/stepmake/stepmake/install-out-targets.make	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/stepmake/stepmake/install-out-targets.make	Sun May  9 13:17:28 2004
@@ -6,13 +6,13 @@
 # urg, parameterise
 local-install-outfiles: $(INSTALLATION_OUT_FILES) $(foreach suff, $(INSTALLATION_OUT_SUFFIXES), $(INSTALLATION_OUT_FILES$(suff)))
 	-$(INSTALL) -d $(INSTALLATION_OUT_DIR)
-	$(foreach i, $(INSTALLATION_OUT_FILES), \
-		$(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR)/ && ) true
+	for i in $(INSTALLATION_OUT_FILES) ; do \
+		$(INSTALL) -m 644 $$i $(INSTALLATION_OUT_DIR)/; done
 	$(foreach suff, $(INSTALLATION_OUT_SUFFIXES),  \
 		($(INSTALL) -d $(INSTALLATION_OUT_DIR$(suff))/ || true) && \
-		$(foreach i, $(INSTALLATION_OUT_FILES$(suff)), \
-			$(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR$(suff))/ && ) true && ) true
-
+		for i in $(INSTALLATION_OUT_FILES$(suff)); do \
+			$(INSTALL) -m 644 $$i $(INSTALLATION_OUT_DIR$(suff))/; \
+			done && ) true
 
 local-uninstall: local-uninstall-outfiles local-uninstall-files 
 
diff -Naur lilypond-2.2.1-orig/stepmake/stepmake/install-targets.make lilypond-2.2.1/stepmake/stepmake/install-targets.make
--- lilypond-2.2.1-orig/stepmake/stepmake/install-targets.make	Sat May  8 23:36:00 2004
+++ lilypond-2.2.1/stepmake/stepmake/install-targets.make	Sun May  9 13:17:28 2004
@@ -7,12 +7,13 @@
 local-install-files: $(INSTALLATION_FILES)
 	$(PRE_INSTALL)
 	-$(INSTALL) -d $(INSTALLATION_DIR)
-	$(foreach i,  $(INSTALLATION_FILES),\
-		$(INSTALL) -m 644 $(i) $(INSTALLATION_DIR)/ &&)true
+	for i in $(INSTALLATION_FILES) ; do \
+		$(INSTALL) -m 644 $$i $(INSTALLATION_DIR)/; done
 	$(foreach suff, $(INSTALLATION_SUFFIXES),  \
 		($(INSTALL) -d $(INSTALLATION_DIR$(suff)) || true) && \
-		$(foreach i, $(INSTALLATION_FILES$(suff)), \
-			$(INSTALL) -m 644 $(i) $(INSTALLATION_DIR$(suff))/  && )  && ) true
+		for i in $(INSTALLATION_FILES$(suff)) ; do \
+			$(INSTALL) -m 644 $$i $(INSTALLATION_DIR$(suff))/ ; \
+		done && ) true
 	$(POST_INSTALL)
 
 local-uninstall: local-uninstall-outfiles local-uninstall-files 
