]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.41
authorfred <fred>
Tue, 26 Mar 2002 23:10:25 +0000 (23:10 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:10:25 +0000 (23:10 +0000)
CHANGES
buildscripts/make-cygwin-cross.sh
input/bugs/direction.ly [new file with mode: 0644]
input/bugs/empty.ly [new file with mode: 0644]
input/test/ac-extra-voice.ly
make/lilypond.spec.in
mutopia/Coriolan/coriolan-paper.ly
mutopia/Coriolan/coriolan-part-paper.ly
mutopia/Coriolan/violino-2.ly
mutopia/E.Satie/gnossienne-4.ly

diff --git a/CHANGES b/CHANGES
index 7e58070ff217386ba4f50b2733922c97257bc02c..08e060e31deead96be75af027cc3242f7be7f454 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,44 @@
+1.3.40.jcn3
+===========
+
+* mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch.
+
+* input/test: Removed stale AutoStaffSwitch examples.
+
+* mutopia/E.Saite: Fixed gnossiene-4, doing \autochange.  Removed
+stale copy of gnossiene-4.
+
+* buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
+
+* make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
+for cross-building to Cygwin.
+
+* buildscripts/make-cygwin-cross.sh: Now using rpm packages.
+
+1.3.40.hwn2
+===========
+
+* added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
+
+* New_chord_tremolo_engraver: make tremolo beams from
+
+       \repeat "tremolo" NUMBER <Music-expression>
+
+Removed support for "old-style" tremolos.
+
+* Add a convert-mudela function for the conversion "\key A;" to "\key a; 
+
+* Read \property measurePosition within the engraver code, instead of
+looking up the Timing_translator.
+
+* star-spangled-banner.ly: add Bar_engraver to LyricsVoice 
+
+* Changed all .fly and .sly files to .ly files.  Propose to dump .fly
+and .sly.
+
+1.3.40
+======
+
 1.3.39.jbr1
 ===========
 
@@ -26,8 +67,6 @@ XXXVerticalExtent, so hard code the size of a vertical group.
 * Don't fix up reference points for originals of broken
 spanners. Fixes spurious "orphaned score-element" warnings.
 
-2000-03-24    <janneke@gnu.org>
-
 * buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
 
 * scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
index 4e02957799bfde28a1e9fbd9f4fe8037479ec785..e6277959e02d6d9a73ae25534a28de24036da62b 100644 (file)
 #
 #  * all development tools to build a native LilyPond, see INSTALL.txt
 #
-#  * pre-release cygnus sources (and a binary) from:
+#  * RPM distribution of the cygwin pre-release sources, from:
 #
-#      ftp://sourceware.cygnus.com/pub/cygwin/private/cygwin-net-485/
-#
-#          binutils/binutils-19990818-1-src.tar.gz
-#          bison/bison-src.tar.gz
-#          cygwin/cygwin-20000301.tar.gz
-#          flex/flex-src.tar.gz
-#          gcc/gcc-2.95.2-1-src.tar.gz
-#
-#      ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/runtime/
-#
-#          bin-crtdll-2000-02-03.tar.gz  (mingw only)
-#
-#  * rx-1.5.tar.gz
-#
-#  * guile-1.3.4.tar.gz
+#      http://appel.dyndns.org/lilypond/gnu-windows/redhat/SRPMS/
 #
-#  * lilypond-1.3.38.jcn1.tar.gz
+#    The tarballs were fetched from:
 #
-#  * lots of disk space, ca 353MB
+#      ftp://sourceware.cygnus.com/pub/cygwin/private/cygwin-net-485/
 #
 
 ################
@@ -51,18 +37,22 @@ else
        TARGET_ARCH=i386-pc-mingw32
 fi
 PREFIX=$ROOT/usr
-NATIVE_PREFIX=/Cygnus/usr
+NATIVE_ROOT=/Cygnus
+NATIVE_PREFIX=$NATIVE_ROOT/usr
 
 # urg
 DEVEL=/home/fred
-WWW=$DEVEL/WWW/lilypond/gnu-windows
-#WWW=/tmp
+distdir=$DEVEL/WWW/lilypond/gnu-windows/lily-w32
+#distdir=/tmp
 
-CYGWIN_SOURCE=$DEVEL/sourceware.cygnus.com/pub/cygwin/private/cygwin-net-485
-MINGW_SOURCE=$DEVEL/ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/runtime
-SOURCE_PATH=$DEVEL/usr/src/releases:$DEVEL/usr/src/patches:$DEVEL/usr/src/lilypond/Documentation/ntweb:$MINGW_SOURCE:/usr/src/redhat/SOURCES
+SOURCE_PATH=$DEVEL/usr/src/releases:$DEVEL/usr/src/redhat/SRPMS
 
-HOST=`uname -m`-gnu-`uname -s | tr '[A-Z]' '[a-z]'`
+ARCH=`uname -m`
+OS=`uname -s | tr '[A-Z]' '[a-z]'`
+HOST=$ARCH-gnu-$OS
+CROSS_TARGET_ARCH=$ARCH-x-$TARGET_ARCH
+cta=$ARCH-x-cygwin
+ta=i686-cygwin
 
 cygwin_binary=cygwin-20000301.tar.gz
 mingw_binary=bin-crtdll-2000-02-03.tar.gz
@@ -76,111 +66,34 @@ MINWG_DLL=mingwc10-net-485.dll
 # cross packages
 ################
 
-cross_packages="
+cross_rpm="
 binutils-19990818
-gcc-2.95.2
-flex
 bison
+flex
+gcc-2.95.2
 "
 
-not_yet_needed="
-cygwin-2000301
-rpm-3.04
-"
-
-cross_configure='--prefix=$PREFIX --target=$TARGET_ARCH'
-gcc_make='LANGUAGES="c++"'
-cygwin_make='-k || true'
-
-rpm_patch='patchm.ring.diff'
-
-#################
-# native packages
-#################
-
-# Typically, we install native packages under
-#
-#   /Cygnus/usr/package-x.y.z
-#
-# so that's how we configure them.
-#
-native_configure='--target=$TARGET_ARCH --build=$TARGET_ARCH --host=$HOST --oldincludedir=$PREFIX/include --prefix=$NATIVE_PREFIX/$package --program-suffix='
-native_config_site='$PREFIX/share/native-config.site'
-
-rx_install='prefix=$PREFIX'
-
-guile_patch='guile-1.3.4-gnu-windows.patch'
-if [ $target = mingw ]; then
-       guile_patch1='guile-1.3.4-mingw.patch'
-       guile_cflags='-I $PREFIX/$TARGET_ARCH/include -I $PREFIX/i686-pc-cygwin/include'
-fi
-guile_ldflags='-L$PREFIX/lib $PREFIX/bin/$CYGWIN_DLL'
-guile_make='oldincludedir=$PREFIX/include'
-
-# We need to get guile properly installed for cross-development, ie
-# at our prefix: $PREFIX.  When packaging, the prefix we configured
-# for, will be used.
-#
-guile_install='prefix=$PREFIX'
+#guile_after_rpm='ln -f $NATIVE_PREFIX/bin/i686-redhat-cygwin-guile-config $NATIVE_PREFIX/bin/i686-pc-cygwin-guile-config'
 
 lilypond_version=@TOPLEVEL_VERSION@
-if [ $target = mingw ]; then
-       lilypond_cflags='-I $PREFIX/$TARGET_ARCH/include -I $PREFIX/i686-pc-cygwin/include'
-fi
-lilypond_ldflags='-L$PREFIX/lib -lguile $PREFIX/bin/$CYGWIN_DLL'
-lilypond_configure='--enable-tex-tfmdir=/texmf/fonts/tfm/public/cm'
-## URG, help2man: doesn't know about cross-compilation.
-#lilypond_make='-k || make -k || true'
-lilypond_patch=lilypond-manpages.patch
-# Don't install lilypond
-lilypond_install='--just-print'
-lilypond_before_zip='cp -pr $PREFIX/src/$package/input $install_prefix \; cp -p \`find $PREFIX/src/$package -type f -maxdepth 1\` $install_prefix'
-
-native_packages="
+
+native_rpm="
 rx-1.5
+zlib-1.1.3
+db-2.7.7
 guile-1.3.4
+rpm-3.0.4
 lilypond-$lilypond_version
 "
 
-not_yet_needed="
-rpm-3.04
-"
-
 #######################
 # end of config section
 #######################
 
-cygwin_dirs=`/bin/ls -d1 $CYGWIN_SOURCE/*`
-cygwin_source_path=`echo $CYGWIN_SOURCE $cygwin_dirs`
-source_path=`echo $SOURCE_PATH:$cygwin_source_path | sed 's/:/ /g'`
-
 ###########
 # functions
 ###########
 
-untar ()
-{(
-       set -x
-       tarball=$1
-       dest_dir=$2
-
-       first_dir=`tar tzf $tarball | head -1`
-       src_dir=`dirname $first_dir`
-
-       if [ "$src_dir" = "src" -o "$src_dir" = "./src" \
-         -o "$src_dir" = "." ]; then
-               src_dir=$first_dir
-       fi
-
-       tar xzf $tarball
-
-       if [ "$src_dir" != "$dest_dir" -a "$src_dir" != "$dest_dir/" ]; then
-               mv $src_dir $dest_dir
-               rm -rf ./$first_dir
-       fi
-)
-}
-
 expand ()
 {(
 
@@ -194,10 +107,13 @@ find_path ()
 {(
        set -
        expr=$1
+       source_path=${2:-$SOURCE_PATH}
+       path_list=`echo $source_path | sed 's/:/ /g'`
+
        found=
-       for i in $source_path; do
+       for i in $path_list; do
                found=`/bin/ls -d1 $i/$expr 2>/dev/null | head -1`
-               if [ -e "$found" ]; then
+               if [ "$found" != "" ] && [ -e $found ]; then
                        break
                fi
        done
@@ -205,130 +121,72 @@ find_path ()
 )
 }
 
-fix_extension ()
-{
-       file=$1
-       ext=$2
-       expr="$3"
-       base=`basename $file $ext`
-       if [ $base$ext != $i ]; then
-               type="`file $file`"
-               if expr "$type" : "$expr"; then
-                       mv -f $file $base$ext
-               fi
-       fi
-}
-
 build ()
 {(
        package=$1
-       set -
-       if [ -d $package ]; then
-               echo "$package: directory exists"
-               echo "$package: skipping"
-               exit 0
-       fi
-
         name=`echo $package | sed 's/-.*//'`
-        name_cflags=`expand $name _cflags`
-        name_ldflags=`expand $name _ldflags`
-        name_configure=`expand $name _configure`
-        type_config_site=`expand $type _config_site`
-        type_configure=`expand $type _configure`
-        name_make=`expand $name _make`
-        name_before_install="`expand $name _before_install`"
-        name_install=`expand $name _install`
-
-       found=`find_path $package*src.tar.gz`
-       if [ "$found" = "" ]; then
-               found=`find_path $package.tar.gz`
-       fi
-       if [ "$found" = "" ]; then
-               found=`find_path $name*tar.gz`
-       fi
-       if [ "$found" = "" ]; then
-               echo "$package: no such tarball"
-               exit 1
-       fi
-       
-       untar $found $package
-       patch=`expand $name _patch`
-       count=0
-       while [ "x$patch" != "x" ]; do
-               (
-               cd $package
-               set -x
-               found=`find_path $patch`
-               if [ "$found" = "" ]; then
-                       echo "$patch: no such file"
-                       exit 1
-               fi
-               patch -p1 -E < $found
-               )
-               count=`expr $count + 1`
-               patch=`expand $name _patch$count`
-       done
-       mkdir $type-$package
-       cd $type-$package
-
-       rm -f config.cache
-       CONFIG_SITE="$type_config_site" CFLAGS="$name_cflags" LDFLAGS="$name_ldflags" ../$package/configure $type_configure $name_configure || exit 1
-       make $name_make || exit 1
-       `eval $name_before_install` || exit 1
-       make install $name_install || exit 1
-)
-}
 
-## urg, let's hope Cygnus uses rpm for packaging its next release
-pack ()
-{(
-       set -
-       package=$1
+       if [ $type = "cross" ]; then
+               target_arch=$CROSS_TARGET_ARCH
+               a=$cta
+       else
+               target_arch=$TARGET_ARCH
+               a=$ta
+       fi
 
-       zip=$WWW/$package.zip
-       if [ -e $zip ]; then
-               echo "$zip: package exists"
-               echo "$zip: skipping"
+       rpm_package=`find_path $name*.rpm "$topdir/RPMS/$cta:$topdir/RPMS/$ta"`
+       if [ "$rpm_package" != "" ]; then
+               echo "$rpm_package: package exists"
+               echo "$rpm_package: just updating db"
+               rpm -ivv --justdb --ignoreos --ignorearch --nodeps --force\
+                       --dbpath $NATIVE_ROOT/var/lib/rpm \
+                       $topdir/RPMS/$a/$name*.rpm
                exit 0
        fi
 
-        name=`echo $package | sed 's/-.*//'`
-        name_pack_install=`expand $name _pack_install`
-       install_root=/tmp/$package-install
-       install_prefix=$install_root/$NATIVE_PREFIX/$package
-       name_before_zip=`expand $name _before_zip`
-
-       set -x
-       rm -rf $install_root
-       mkdir -p $install_prefix
-
-       cd $PREFIX/src/$type-$package || exit 1
-       make install prefix=$install_prefix $name_pack_install
-
-        ## duh, rename executables,
-       ## for people that use a dumb shell instead of bash
-       cd $install_prefix/bin &&
-       for i in `/bin/ls -d1 *`; do
-               fix_extension $i .exe '.*Windows.*\(executable\).*'
-               fix_extension $i .py '.*\(python\).*'
-       done
+       cd $topdir
+       found=`find_path $package*src.rpm`
+       if [ "$found" != "" ]; then
+               rpm --root $NATIVE_ROOT -ivv $found || exit 1
+               rpm --target=$target_arch -ba SPECS/$name*.spec || exit 1
+       else
+               tarball=`/bin/ls -d1 SOURCES/$package*tar.gz 2>/dev/null | head -1`
+               if [ "SPECS/$name.spec" != "" ] && [ "$tarball" != "" ]; then
+                       rpm --target=$target_arch -ba SPECS/$name.spec || exit 1
+               else
+                       found=`find_path $package*tar.gz`
+                       if [ "$found" != "" ]; then
+                               rpm --target=$target_arch -ta $found || exit 1
+                       else
+                               echo "$package: no such rpm or tarball"
+                               exit 1
+                       fi
+               fi
+       fi
+       name=`echo $package | sed 's/-.*//'`
 
-        rm -f $zip
-       `eval $name_before_zip` || exit 1
-        cd $install_root && zip -ry $zip .$NATIVE_PREFIX
+       rpm -ivv --ignoreos --ignorearch --nodeps --force\
+               --dbpath $NATIVE_ROOT/var/lib/rpm \
+               $topdir/RPMS/$a/$name*.rpm
 )
 }
+
 ##################
 # end of functions
 ##################
 
-#
+#######
 # setup
-#
+#######
 
 set -x
 mkdir -p $ROOT
-if [ ! -d $PREFIX ]; then
+if [ ! -d $PREFIX/bin ]; then
+       mkdir -p $PREFIX
+       cd $PREFIX
+       mkdir -p include
+       mkdir -p $TARGET_ARCH
+       cd $TARGET_ARCH && ln -s ../include .
        cd $ROOT
        found=`find_path $cygwin_binary`
        if [ "$found" = "" ]; then
@@ -338,12 +196,6 @@ if [ ! -d $PREFIX ]; then
        tar xzf $found
        # urg, bug in gcc's cross-make configuration
        mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2
-
-       cd $PREFIX
-
-       # urg, bug in gcc's cross-make configuration
-       rm -f include
-       ln -s $PREFIX/$TARGET_ARCH/include .
 else
        echo "$PREFIX: already exists"
        echo "$cygwin_binary: skipping"
@@ -366,54 +218,272 @@ if [ ! -d $PREFIX/$TARGET_ARCH ]; then
        ln -s $PREFIX/$TARGET_ARCH/include .
 fi
 
-if [ ! -e $NATIVE_PREFIX ]; then
-       ln -s $ROOT /Cygnus || exit 1
+rm -f $NATIVE_ROOT
+if [ ! -e $NATIVE_ROOT ]; then
+       ln -s $ROOT $NATIVE_ROOT || exit 1
 fi
 
+#mv $PREFIX/bin/cygwin1.dll $PREFIX/bin/$CYGWIN_DLL
+#mv $PREFIX/bin/mingwc10.dll $PREFIX/bin/$MINGW_DLL
+
+mkdir -p $ROOT/var/redhat
+mkdir -p $PREFIX/src/redhat
+
+native_config_site='$PREFIX/share/native-config.site'
+
+ncs=`eval echo $native_config_site`
+rm -f $ncs
+mkdir -p `dirname $ncs`
+cat > $ncs <<EOF
+ac_cv_sizeof_int=4
+ac_cv_sizeof_long=4
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_sprintf_count=yes
+ac_cv_spinlocks=no
+db_cv_sprintf_count=yes
+db_cv_spinlocks=no
+EOF
+
+cross_rpm_dir=$NATIVE_PREFIX/lib/rpm/$cta
+cross_rpm_link=/usr/lib/rpm/$cta
+mkdir -p $cross_rpm_dir
+rm -f $cross_rpm_link
+ln -s $NATIVE_PREFIX/lib/rpm/$cta $cross_rpm_link
+
+native_rpm_dir=$NATIVE_PREFIX/lib/rpm/$ta
+native_rpm_link=/usr/lib/rpm/$ta
+mkdir -p $native_rpm_dir
+rm -f $native_rpm_link
+ln -s $NATIVE_PREFIX/lib/rpm/$ta $native_rpm_link
+
+cross_macros=$cross_rpm_dir/macros
+native_macros=$native_rpm_dir/macros
+
+base_macros=$NATIVE_PREFIX/lib/rpm/base-macros
+rm -f $base_macros
+cat > $base_macros <<EOF
+%root          /Cygnus
+%_prefix       /Cygnus/usr
+%prefix                /Cygnus/usr
+%native_prefix /Cygnus/usr
+
+%_topdir       %{native_prefix}/src/redhat
+%_sourcedir    %{native_prefix}/src/redhat/SOURCES
+%_builddir     %{native_prefix}/src/redhat/BUILD
+%_srcrpmdir    %{native_prefix}/src/redhat/SRPMS
+%_rpmdir       %{native_prefix}/src/redhat/RPMS
+
+#%DocDir               %{native_prefix}/doc
+%DocDir                /Cygnus/usr/doc
+%_defaultdocdir /Cygnus/usr/doc
+
+%cygwin_dll    %{native_prefix}/bin/cygwin1.dll
+
+%cflags                %{optflags}
+
+%sourcedir     .
+EOF
+
+cp -f $base_macros $cross_macros
+cat >> $cross_macros <<EOF
+%_rpmfilename  %%{ARCH}-x-cygwin/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-x-cygwin.rpm
+
+%config_site   %{nil}
+%ldflags       %{nil}
+%_target_platform $TARGET_ARCH
+
+%configure     \
+  CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \
+  %{sourcedir}/configure \
+  --host=%{_host} --target=%{_target_platform} --prefix=%{native_prefix}
+EOF
+
+cp -f $base_macros $native_macros
+cat >> $native_macros <<EOF
+%config_site   %{_prefix}/share/native-config.site
+#%program_suffix .exe
+%program_suffix %{nil}
+
+#%_arch                i686-cygwin
+#%_vendor      pc
+#%_os          cygwin
+
+%_rpmfilename  %%{ARCH}-cygwin/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-cygwin.rpm
+
+%__find_provides       %{native_prefix}/lib/rpm/cygwin.prov
+%__find_requires       %{native_prefix}/lib/rpm/cygwin.req
+
+%ldflags       -L%{native_prefix}/lib %{cygwin_dll}
+%configure     \
+  CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \
+  %{sourcedir}/configure --host=%{_host} --target=%{_target_platform} \
+  --prefix=%{native_prefix} --program-suffix=%{program_suffix}
+EOF
+
+rm -f $native_rpm_dir/cygwin.prov
+cat > $native_rpm_dir/cygwin.prov <<EOF
+#!/bin/sh
+while read f ; do
+       f=\`echo $f | tr '[:upper:]' '[:lower:]'\`
+       case \$f in
+       *.dll)  basename \$f
+               ;;
+       esac
+done | sort -u
+EOF
+chmod 755 $native_rpm_dir/cygwin.prov
+
+rm -f $native_rpm_dir/cygwin.req
+cat > $native_rpm_dir/cygwin.req <<EOF
+#!/bin/sh
+
+while read f ; do
+       case \$f in
+       *.dll|*.exe)    objdump -p $f | grep "DLL Name:" | cut -f3 -d" " | tr '[
+upper:]' '[:lower:]'
+                       ;;
+       esac
+done | sort -u
+
+EOF
+chmod 755 $native_rpm_dir/cygwin.req
+
+
+set -x
+type=rpm
+rm -rf $NATIVE_ROOT/var/lib/rpm
+mkdir -p $NATIVE_ROOT/var/lib/rpm
+rpm --root $NATIVE_ROOT --initdb
+
+topdir=$NATIVE_PREFIX/src/redhat
+mkdir -p $topdir/{BUILD,RPMS/{$ta,$cta},SOURCES,SPECS,SRPMS}
+
+##############
+# end of setup
+##############
+
+
+PATH=$PREFIX/bin:$PATH
+
 mkdir -p $PREFIX/src
 cd $PREFIX/src
-PATH=$PATH:$PREFIX/bin
-
 type=cross
-for i in $cross_packages; do
+for i in $cross_rpm; do
        if build $i; then
                true
        else
-               echo "$i: build failed"
+               echo "$i: rpm build failed"
                exit 1
        fi
 done
 
+# urg, bug in binutil's cross-make install
+(
+cd $PREFIX/$TARGET_ARCH/bin
+ln -f ../../bin/$TARGET_ARCH-objdump objdump
+ln -f ../../bin/$TARGET_ARCH-objcopy objcopy
+)
 # urg, bug in gcc's cross-make install
-mv $PREFIX/bin/cygwin1.dll $PREFIX/bin/$CYGWIN_DLL
-mv $PREFIX/bin/mingwc10.dll $PREFIX/bin/$MINGW_DLL
-ln -f $PREFIX/bin/$TARGET_ARCH-gcc $PREFIX/$TARGET_ARCH/bin/cc 
-ln -f $PREFIX/bin/$TARGET_ARCH-c++ $PREFIX/$TARGET_ARCH/bin/c++
-ln -f $PREFIX/bin/$TARGET_ARCH-g++ $PREFIX/$TARGET_ARCH/bin/g++
+(
+cd $PREFIX/$TARGET_ARCH/bin
+ln -f ../../bin/$TARGET_ARCH-gcc cc
+ln -f ../../bin/$TARGET_ARCH-gcc gcc
+ln -f ../../bin/$TARGET_ARCH-c++ c++
+ln -f ../../bin/$TARGET_ARCH-g++ g++
+)
 
-PATH=$PREFIX/$TARGET_ARCH/bin:$PREFIX/bin:$PATH 
+PATH=$PREFIX/$TARGET_ARCH/bin:$PATH
 
-mkdir -p $PREFIX/src
 cd $PREFIX/src
-
-ncs=`eval echo $native_config_site`
-rm -f $ncs
-mkdir -p `dirname $ncs`
-cat > $ncs <<EOF
-ac_cv_sizeof_int=4
-ac_cv_sizeof_long=4
-ac_cv_sys_restartable_syscalls=yes
-EOF
-
-set -x
 type=native
-for i in $native_packages; do
+for i in $native_rpm; do
        if build $i; then
-               pack $i
-               continue
+               true
+       else
+               echo "$i: rpm build failed"
+               exit 1
        fi
-       exit 1
 done
 
-rm -f $WWW/$CYGWIN_DLL.zip
-cd $PREFIX/bin && zip $WWW/$CYGWIN_DLL.zip $CYGWIN_DLL
+cd $NATIVE_PREFIX/src/redhat/BUILD
+
+rm -f $distdir/$CYGWIN_DLL.gz
+cd $distdir && cp -f $PREFIX/bin/$CYGWIN_DLL . && gzip -f $CYGWIN_DLL
+
+rm -f $distdir/rpm2cpio.gz
+cd $distdir && cp -f $PREFIX/bin/rpm2cpio . && gzip -f rpm2cpio
+
+
+cat > $distdir/setup.sh <<EOF
+#!/bin/bash
+set -x
+ROOT=/Cygnus
+PREFIX=\$ROOT/usr
+gunzip rpm2cpio.gz || exit 1
+# currently, the cygwin1.dll's conflict.
+# it's been reported one can't have both in PATH
+dll=\$ROOT/net-485
+mkdir -p \$dll
+gzip -dc cygwin.dll.gz > \$dll/cygwin1.dll
+here=\`pwd\`
+cd \$ROOT/.. && (PATH=\$dll \$here/rpm2cpio \$here/rpm*.rpm ) | cpio -ivmd 
+PATH=\$dll rpm --root=\$ROOT --initdb
+cd \$here
+for i in RPMS/$ta/*.rpm; do
+       PATH=\$dll rpm -ivv --ignoreos --ignorearch --nodeps --force\
+                 --dbpath \$ROOT/var/lib/rpm \
+                 \$i
+done
+EOF
+
+cat > $distdir/setup.bat <<EOF
+bash setup.sh
+if errorlevel 0 goto exit
+@echo "setup.bat: can't find bash"
+@echo "setup.bat: please install usertools from"
+@echo "setup.bat: http://sourceware.cygnus.com/cygwin/"
+:exit
+EOF
+
+cat > $distdir/lilypond.sh <<EOF
+#!/bin/bash
+ROOT=/Cygnus
+PREFIX=\$ROOT/usr
+# currently, the cygwin1.dll's conflict.
+# it's been reported one can't have both in PATH
+dll=\$ROOT/net-485
+PATH=\$dll \$ROOT/bin/lilypond \$*
+EOF
+
+cat > $distdir/midi2ly.sh <<EOF
+#!/bin/bash
+ROOT=/Cygnus
+PREFIX=\$ROOT/usr
+# currently, the cygwin1.dll's conflict.
+# it's been reported one can't have both in PATH
+dll=\$ROOT/net-485
+PATH=\$dll \$ROOT/bin/midi2ly \$*
+EOF
+
+cat > $distdir/lilypond.bat <<EOF
+bash lilypond.sh %1 %2 %3 %4 %5 %6 %7 %8 %9
+EOF
+
+cat > $distdir/midi2ly.bat <<EOF
+bash midi2ly.sh %1 %2 %3 %4 %5 %6 %7 %8 %9
+EOF
+
+distbase=`basename $distdir`
+cd $distdir
+rm -f RPMS
+ln -s ../redhat/RPMS .
+
+www=`dirname $distdir`
+cd $www
+for i in guile-1 rpm lilypond; do
+       rpm=`find_path $i*.rpm $distbase/RPMS/$ta`
+       dist_rpms="$dist_rpms $rpm"
+done
+
+rm -f $www/setup.zip
+cd $www && zip setup.zip lily-w32 $distbase/* $dist_rpms
diff --git a/input/bugs/direction.ly b/input/bugs/direction.ly
new file mode 100644 (file)
index 0000000..47f6cd4
--- /dev/null
@@ -0,0 +1,18 @@
+%
+% urg ik dacht dat jij generic-properties en dir had gefikst?
+% deze doet het wel in 1.3.37, voor je change + revert
+%
+\score{
+\context Voice=x \notes\relative c''{
+\property Voice.dynamicDirection = #-1
+\property Voice.verticalDirection = #1
+
+c\pp c c\< c \! c c \ff
+
+}
+\paper{
+}
+\midi{
+\tempo 1 = 60;
+}
+}
diff --git a/input/bugs/empty.ly b/input/bugs/empty.ly
new file mode 100644 (file)
index 0000000..187ca07
--- /dev/null
@@ -0,0 +1,16 @@
+%
+% empty bars?
+%
+\score{
+\context Staff \notes\relative c''{
+\property Staff.defaultBarType = #""
+c1 c
+\property Staff.defaultBarType = #"empty"
+c1 c
+}
+\paper{
+}
+\midi{
+\tempo 1 = 60;
+}
+}
index e6d3f9603f724ac600b97a90ab814b21868d01c4..bf3467bcafdd998865880193fb1d322f95ec793b 100644 (file)
@@ -25,12 +25,11 @@ accompany = \notes \relative c{
 
 \score{
        \notes \context PianoStaff <
-%              \global
                \context Staff=up < 
                        \global
                        \context Voice=foo {
-                       \property Voice.verticalDirection = 1
-                       \property Voice.scriptVerticalDirection = 1
+                       \property Voice.verticalDirection = #1
+                       \property Voice.scriptVerticalDirection = #1
                        \melody 
                        }
                >
@@ -46,20 +45,24 @@ accompany = \notes \relative c{
                indent = 8.\mm;
                textheight = 295.\mm;
 
-               % no slur damping
-               slur_slope_damping = 100.0;
+               % ugly is beautiful
+               slur_beautiful = 5.0;
 
+               \translator{ 
+                       \PianoStaffContext
+                       defaultBarType = #"" 
+               }
                \translator{ 
                        \StaffContext
                        % don't auto-generate bars: not a good idea: -> no breakpoints
                        % barAuto = "0";
-                       % urg defaultBarType = "";
-                       defaultBarType = "empty";
+                       % urg defaultBarType = #""
+                       defaultBarType = #"" 
                        \remove "Time_signature_engraver";
 
-                       slurVerticalDirection = 1;
-                       verticalDirection = -1;
-                       beamAutoEnd = "1/2";
+                       slurVerticalDirection = #1
+                       verticalDirection = -1
+                       beamAutoEnd = #(make-moment 1 2)
                }
        }
        \midi {
index f2d6958fd87bb5509f67a720dc8f6eddf4f23ef1..f7bee128c43e70dc6bea87edfae41edfd42cc4f2 100644 (file)
@@ -6,8 +6,6 @@ Group: Applications/Publishing
 Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
-# get Packager from (undocumented?) ~/.rpmmacros!
-# Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
 # Icon: @package@-icon.gif
 BuildRoot: /tmp/lilypond-install
 Prereq: tetex
@@ -31,9 +29,10 @@ The documentation of LilyPond, both in HTML and PostScript.
 %prep
 %setup
 %build
-./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared
+#./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared
+%{configure} --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared
 make all
-ln -s /usr/share/texmf/fonts/tfm/public/cm/ tfm
+ln -s %{_prefix}/share/texmf/fonts/tfm/public/cm/ tfm
 
 # urg
 # %build documentation
@@ -48,12 +47,12 @@ rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc
 
 strip lily/out/lilypond midi2ly/out/midi2ly
-make prefix="$RPM_BUILD_ROOT/usr" install
-# gzip -9fn $RPM_BUILD_ROOT/usr/info/* || true
+make prefix="$RPM_BUILD_ROOT%{_prefix}" install
+# gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true
 
-mkdir -p $RPM_BUILD_ROOT/etc/profile.d
-cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh
-cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT/etc/profile.d/lilypond.csh
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
+cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
+cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh
 
 # urg
 #%install documentation
@@ -68,11 +67,11 @@ tar -cf - input/  | tar -C out/examples/ -xf- || true
 
 touch /tmp/.lilypond-install
 rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install
-# /sbin/install-info /usr/info/lilypond.info.gz /usr/info/dir || true
+# /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
 
 %preun
 if [ $1 = 0 ]; then
- true #   /sbin/install-info --delete /usr/info/lilypond.info.gz /usr/info/dir || true
+ true #   /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
 fi
 
 
@@ -80,20 +79,21 @@ fi
 # hairy to hook it in (possibly non-existing) emacs
 %doc mudela-mode.el
 
-/usr/bin/abc2ly
-/usr/bin/convert-mudela
-/usr/bin/mudela-book
-/usr/bin/ly2dvi
-/usr/bin/lilypond
-/usr/bin/midi2ly
-/usr/man/man1/midi2ly.1
-/usr/man/man1/lilypond.1
-/usr/man/man1/mudela-book.1
-/usr/man/man1/ly2dvi.1
-/usr/man/man1/convert-mudela.1
-/usr/share/lilypond/
-/usr/share/locale/*/LC_MESSAGES/lilypond.mo
-/etc/profile.d/lilypond.*
+%{_prefix}/bin/abc2ly
+%{_prefix}/bin/convert-mudela
+%{_prefix}/bin/mudela-book
+%{_prefix}/bin/ly2dvi
+%{_prefix}/bin/lilypond
+%{_prefix}/bin/midi2ly
+%{_prefix}/man/man1/midi2ly.1
+%{_prefix}/man/man1/lilypond.1
+%{_prefix}/man/man1/mudela-book.1
+%{_prefix}/man/man1/ly2dvi.1
+%{_prefix}/man/man1/convert-mudela.1
+%{_prefix}/share/lilypond/
+%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo
+# urg?
+%{_prefix}/../etc/profile.d/lilypond.*
 
 %files documentation
 # this gets too messy...
index 0c87cdff7d2dd06fdff060aea532254b9dba0fb0..e1d7140a33d88a937e9454d5628b8172d723cfab 100644 (file)
@@ -21,7 +21,8 @@
                %%\consists "Line_number_engraver";
                verticalDirection = #1
                stemVerticalDirection = #1
-               dynamicDirection = #-1
+               %dynamicDirection = #-1
+               dynamicDirection = #1
        }
        \translator {
                \VoiceContext
index b9ed1f401d882b4bf088c08934d97b19384df8fa..0efeefa7bdcbbb070e47b520c13cf786a029aaba 100644 (file)
@@ -16,7 +16,8 @@
                %%\consists "Line_number_engraver";
                verticalDirection = #1
                stemVerticalDirection = #1
-               dynamicDirection = #-1
+               %dynamicDirection = #-1
+               dynamicDirection = #1
        }
        \translator {
                \VoiceContext
index e2243cf4275aed581a5b92000651c037e106dfab..be10cbd5e4e6c5da8f574e0f582da0d4dc8a2d47 100644 (file)
@@ -180,7 +180,7 @@ violino2 = \notes \relative c {
               a'4 r8 es' d4 r8 a |
        
        %120
-       b4 r8 es des4 r8 bes |
+       bes4 r8 es des4 r8 bes |
        as!4 r8 es' des4 r8 as |
        g4 r r2 |
        r4 r8 es' des4 r8 as |
index c53e26066f37b114c3ea1bb15d4cab7cb6f02ac2..4d4b75c0cc5a651bf3b7e06346c6637a84769678 100644 (file)
@@ -2,7 +2,6 @@
   filename =    "gnossienne-4.ly";
   title =       "Gnossienne";
   subtitle =   "4";
-  source =      "";
   composer =    "Erik Satie (1866-1925)";
   enteredby =   "jcn";
   copyright =   "Public Domain";
 
 \version "1.3.5";
 
-\include "nederlands.ly"
-
 global = \notes {
-  \key a \minor;
-  \time 6/4;
-  \skip 1.*34;
-%  \bar ".|";
+       \key a \minor;
+       \time 6/4;
+       \skip 1.*34;
+       \bar "|.";
 }
-  
+
 melody = \notes\relative c''{
   \clef violin;
-  \property Voice.verticalDirection = 1
-  \property Voice.graceFraction = "1/4"
+  \property Voice.verticalDirection = #1
+  \property Voice.graceFraction = #(make-moment 1 4)
   r2 r r 
   r2 r r
   r4 a'8--(\< a--  a-- a-- c-- \!b-- a--\> gis f \!e 
@@ -57,11 +54,10 @@ melody = \notes\relative c''{
   a,2( \grace e'8() f4 ~ )f8 r r2
   r2 r r
   fis,4( \grace dis8<)cis4 ais> r2 r
-  <e1 g b e> ~ <e g b e>
+  <e1*6/4 g b e> ~ <e g b e>
 }
 
 basloopje = \notes\relative c{
-%  d,8( a' d f a \translator Staff=treble d f d \translator Staff=bass a f d )a
   d,8( a' d f a d f d a f d )a
 }
 
@@ -100,94 +96,48 @@ accompany = \notes \relative c{
   \notes\relative c \basloopje
   \notes\relative c \basloopje
   \transpose e' \notes\relative c{ \basloopje }
-  < e1 b' e> ~ < e b' e> 
+  < e1*6/4 b' e> ~ < e b' e> 
 }
 
-
 \score{
-  \notes{
-    \context AutoSwitchGrandStaff \relative c <
-      \context Staff=upper <
-        \global
-        \context Voice=foo{
-         \property Voice.verticalDirection = 1
-         \property Voice.scriptVerticalDirection = 1
-         \melody 
-        }
-      >
-      \context AutoSwitchContext <
-        \global
-       \accompany
-      >
-    >
-  }
-  \paper {
-    gourlay_maxmeasures = 4.;
-    indent = 8.\mm;
-    textheight = 295.\mm;
+       \notes \context PianoStaff <
+               \context Staff=up < 
+                       \global
+                       \context Voice=foo {
+                       \property Voice.verticalDirection = #1
+                       \property Voice.scriptVerticalDirection = #1
+                       \melody 
+                       }
+               >
+               \context Staff=down <
+                       \global
+                       \clef bass;
+                       \autochange Staff \accompany
+               >
+       >
 
-    % no slur damping
-    slur_slope_damping = 100.0;
+       \paper {
+               gourlay_maxmeasures = 4.;
+               indent = 8.\mm;
+               textheight = 295.\mm;
 
-    \translator{ 
-      \StaffContext
-      % don't auto-generate bars: not a good idea: -> no breakpoints
-      % barAuto = "0";
-      % urg defaultBarType = "";
-      defaultBarType = "empty";
-      \remove "Time_signature_engraver";
-    }
-    \translator{ 
-      \GraceContext
-      \remove "Local_key_engraver";
-    }
-    \translator { 
-      \ScoreContext
-      \accepts "AutoSwitchGrandStaff";
-    }
-    \translator{
-      \type "Engraver_group_engraver";
-      \name AutoSwitchGrandStaff;
-      \consists "Span_bar_engraver";
-      \consists "Vertical_align_engraver";
-      \consists "Piano_bar_engraver";
-      \consistsend "Axis_group_engraver";
-      minVerticalAlign = 2.*\staffheight;
-      maxVerticalAlign = 2.*\staffheight;      
-      switcherName = "Voice";
-      acceptorName = "Thread";
-      staffContextName = "Staff";
+               % ugly is beautiful
+               slur_beautiful = 5.0;
 
-      \accepts "AutoSwitchContext";
-      \accepts "Staff";
-      slurVerticalDirection = 1;
-      verticalDirection = -1;
-      beamAutoEnd  = #(make-moment 1 2)
-    }
-    \translator {
-      \type "Engraver_group_engraver";
-      \name AutoSwitchContext;
-      \consists "Staff_switching_translator";
-    }
-  }
-  \midi {
-    \tempo 4 = 54;
-    \translator {
-      \ScoreContext
-      \accepts "AutoSwitchGrandStaff";
-    }
-    \translator {
-      \type "Performer_group_performer";
-      \name AutoSwitchGrandStaff;
-      \accepts "AutoSwitchContext";
-      \accepts "Staff";
-    }
-    \translator {
-      \type "Staff_performer";
-      \name AutoSwitchContext;
-      \accepts "Voice";
-      \consists "Key_performer";
-      \consists "Time_signature_performer";
-    }
-  }
+               \translator{ 
+                       \StaffContext
+                       % don't auto-generate bars: not a good idea: -> no breakpoints
+                       % barAuto = #f
+                       defaultBarType = #""
+                       \remove "Time_signature_engraver";
+
+                       slurVerticalDirection = #1
+                       verticalDirection = #-1
+                       beamAutoEnd = #(make-moment 1 2)
+               }
+       }
+       \midi {
+               \tempo 4 = 54;
+       }
 }
+