From ac0126adb6540946edadedaf96a70f96311e9c94 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 27 Mar 2002 02:00:15 +0000 Subject: [PATCH] lilypond-1.5.7 --- Documentation/topdocs/INSTALL.texi | 58 ++++++-- Documentation/user/tutorial.itely | 13 +- Documentation/windows/compiling.texi | 4 +- Documentation/windows/installing.texi | 15 +-- Documentation/windows/python-wrapper.sh | 4 +- GNUmakefile.in | 2 +- README.mandrake | 54 ++++++++ ROADMAP | 7 +- input/regression/grace-nest.ly | 12 ++ input/tutorial/sammartini.ly | 6 +- make/lilypond.mandrake.spec.in | 169 ++++++++++++++++++++++++ make/lilypond.redhat.spec.in | 2 +- scripts/ly2dvi.py | 14 +- 13 files changed, 305 insertions(+), 55 deletions(-) create mode 100644 README.mandrake create mode 100644 input/regression/grace-nest.ly create mode 100644 make/lilypond.mandrake.spec.in diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 75aece1741..dee4bec5f1 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -28,8 +28,7 @@ servers}. Big enhancements go into the latest odd numbered version (1.3), whose webpages are on @uref{http://www.lilypond.org/,the lilypond site}. -@subsection source code - +@subsection Source code If you want to compile LilyPond from source, download here: @itemize @bullet @@ -44,25 +43,42 @@ If you want to compile LilyPond from source, download here: @uref{http://www.lilypond.org/ftp/} by HTTP. @end itemize +Of course, if your platform supports LilyPond, such as Debian GNU/Linux, +FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build +from source drill. + +For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the +tarball; see instructions below. + @html @end html -@subsection Binaries +@subsection Precompiled binaries + +If you want to track bleeding edge development, try: + +@itemize @bullet +@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian +GNU/Linux} usually has the latest binaries for the most useful stable +and development versions, while +@item @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/, +Mandrake Cooker} also provides fairly recent versions. +@end itemize + +Binaries are made available for other popular platforms, but as we need +to compile them ourselves, they are not updated for every version +released. -Binaries are available, but are not updated for every version released. @itemize @bullet @item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, Red Hat i386} -@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, LinuxPPC} -@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian GNU/Linux} +@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE} +@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, +LinuxPPC} @item -@c @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable} -@c @item @uref{ftp://ftp.lilypond.org/pub/lilypond/gnu-windows, Windows -@c Testing} -@uref{http://www.lilypond.org/gnu-windows/, Windows Testing} - +@uref{http://www.lilypond.org/gnu-windows/, Windows} @end itemize @subsection Upgrading @@ -374,18 +390,34 @@ platform. @subsection Mandrake Some binaries are available at rpmfind.net. Refer to -@uref{ftp://ftp.rpmfind.net/linux/Mandrake-devel/cooker/contrib/RPMS/}. +@uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/}. +You can also compile a RPM for Mandrake yourself. A spec file is in +@file{make/out/lilypond.mandrake.spec}, see the instructions for building +the Red Hat RPM. @subsection Debian GNU/Linux A Debian package is also available. You may install it easily by running @command{apt-get} as root: - @example + apt-get install lilypond lilypond-doc @end example +You can also compile the .deb for Debian yourself, do: +@example + + apt-get -b source lilypond +@end example + +If you're real impatient, you may even do: +@example + + cd lilypond-x.y.z # a previous version + uscan # download and build latest directly from upstream +@end example + Debian's @TeX{} installation is a bit short on memory, you may want to increase it like this: diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 6076e1a9ce..4ac0a5679f 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -1830,7 +1830,7 @@ viola = \notes \relative c' \context Voice = viola { oboes = \notes \relative c'' \context Voice = oboe { \stemUp s4 g8. b,16 c8 r - \grace { } + \grace \times 2/3 { } < { \times 2/3 { a8 g c } \! c2 } @@ -1845,7 +1845,7 @@ oboes = \notes \relative c'' \context Voice = oboe { } > \stemBoth - \grace { } <)b8. d8.-\trill> | + \grace <)b8. d8.-\trill> | [ < )f8. a>] <)b,8 d> r [ ] r | [ < )e8. g>] } @@ -1990,13 +1990,11 @@ these notes are indeed processed by precisely one context with defined above. @separate @example -\grace @{ @} < d4 f> +\grace < d4 f> @end example @cindex @code{\grace} @cindex ornaments @cindex grace notes - -[FIXME] @code{\grace} introduces grace notes. It takes one argument, in this case a chord. @@ -2055,9 +2053,8 @@ We can't share stems with the other voice, so we have to create a new it from the other context. Stems go down in this voice. @separate @example -\grace @{ +\grace @end example -[FIXME] @cindex Grace context When a grace section is processed, a @code{Grace} context is created. This context acts like a miniature score of its own. It has @@ -2088,7 +2085,7 @@ This ends the two-part section. @separate @example \stemBoth -\grace @{ @} <)b8. d8.-\trill> | +\grace <)b8. d8.-\trill> | @end example @cindex trill @cindex stemBoth diff --git a/Documentation/windows/compiling.texi b/Documentation/windows/compiling.texi index 8332a24e1d..d7eefd8d7d 100644 --- a/Documentation/windows/compiling.texi +++ b/Documentation/windows/compiling.texi @@ -71,9 +71,7 @@ We think it's silly, but do this is on special request of Windows users. @item @file{fix-suffixes.sh} Add @file{.exe} to binary executables, add @file{.py} to Python scripts. @item @file{python-wrapper.sh} -All python scripts get a wrapper script to make direct invocation easier -and to change file paths to DOS style, which is needed by non-Cygwin -Python, that's currently used. +All python scripts get a wrapper script to make direct invocation easier. @item @file{latex-wrapper.sh} TeX and LaTeX get a wrapper script that changes the TEX path variables to DOS style, which is needed by non-Cygwin TeX, that's currently used. diff --git a/Documentation/windows/installing.texi b/Documentation/windows/installing.texi index a06bc0e476..18f9949792 100644 --- a/Documentation/windows/installing.texi +++ b/Documentation/windows/installing.texi @@ -18,7 +18,7 @@ code that works better (see @uref{compiling.html,compiling}). @section Windows binary setup -Apart from LilyPond itself, you need Cygwin, GUILE, Python, and a TeX +Apart from LilyPond itself, you need Cygwin, GUILE, Python and a TeX installation, but all this software be installed by running setup.exe: @table @asis @@ -32,9 +32,9 @@ This will install the minimal set of cygwin tools needed to run LilyPond. Make sure to install in the default place, @file{c:/cygwin}, and install everything. -As of version 1.3.150, you also have the option to install MiKTeX, -Python and GSView from this installer, which is recommended. If you -choose to install these by hand (see below), make sure to install them +As of version 1.3.150, you also have the option to install MiKTeX and +GSView from this installer, which is recommended. If you choose to +install these by hand (see below), make sure to install them @strong{before} you install LilyPond, otherwise your LilyPond setup will be broken. @@ -138,13 +138,6 @@ Click @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe or visit the @uref{http://www.cs.wisc.edu/~ghost/,Ghostscript, Ghostview and GSview site}. -@item Python -Click @uref{http://www.python.org/ftp/python/win32/py152.exe,here} to -install Python-1.5.2, or visit -@uref{http://www.python.org,www.python.org}. - -We have not tried using newer versions than 1.5.2. - @end table diff --git a/Documentation/windows/python-wrapper.sh b/Documentation/windows/python-wrapper.sh index 57bff4ea1d..2b49c87e84 100644 --- a/Documentation/windows/python-wrapper.sh +++ b/Documentation/windows/python-wrapper.sh @@ -5,9 +5,9 @@ if echo | python - >/dev/null 2>&1; then echo else cat < + +LilyPond is a music typesetter. It produces beautiful sheet music using a +high level description file as input. + +LilyPond is split into two packages. The package "lilypond" provides the +core package, containing the utilities for converting the music source +(.ly) files into printable output. The package "lilypond-extras" provides +the full documentation, example .ly files for various features and the +Mutopia project files (musical equivalent of the Gutenberg project - see +http://www.mutopiaproject.org for details). + +If you are new to lilypond, you will almost certainly want to install the +"lilypond-extras" package in addition to the "lilypond" package. + +You may also wish to investigate the "denemo" package, which provides a +graphical front end to lilypond. + + + +Quick Start Guide +================= + +To run lilypond: + +Create a lilypond source (.ly) file in a directory that you can write +to. (The easiest way to do this is to copy a .ly file from +/usr/share/doc/lilypond-1.4.2/Examples or one of the Mutopia files +from /usr/share/doc/lilypond-1.4.2/Mutopia - note that these folders +are part of the lilypond-extras package). + +Run "ly2dvi -P input_file.ly" (replacing input_file as appropriate). This +will create a file called input_file.ps, which you can then view using +Ghostscript ("gv input_file.ps"). + +For an easier way to use lilypond, try the graphical front-end denemo. + + + +Points to note +============== + +DO NOT use the "lilypond -f ps" option to generate a PostScript file. It +is included as an experimental feature, or for platforms that do not have +a working TeX setup (that's not Mandrake). +Use "ly2dvi -P" instead. + +[ Addendum: the "lilypond -f ps" option is now broken in this package, + due to the new, improved way of handling the via-LaTeX method. It won't + work. Use "ly2dvi -P" instead. ] diff --git a/ROADMAP b/ROADMAP index 3befc63473..d4ce13d7a5 100644 --- a/ROADMAP +++ b/ROADMAP @@ -10,12 +10,14 @@ LilyPond's source files. topdocs/ sources for the toplevel files (README.txt, INSTALL.txt, etc.) user/ User manuals buildscripts/ Scripts used during the build process - debian/ Files for building .deb packages. - flower/ A generic library. + debian/ Files for building .deb packages + flower/ A generic library include/ input/ Various input files test/ Test features: one file per feature bugs/ Show bugs + no-notation/ Examples or bugs that do not produce output + regression/ Various features for regression test tutorial/ Examples from the tutorial lily/ Source code for LilyPond include/ @@ -33,5 +35,6 @@ LilyPond's source files. ports/ ps/ postscript library files tex/ TeX library files + scm/ Scheme initialisation and subroutine files scripts/ User scripts stepmake/ Generic make subroutine files diff --git a/input/regression/grace-nest.ly b/input/regression/grace-nest.ly new file mode 100644 index 0000000000..71ca4b43e3 --- /dev/null +++ b/input/regression/grace-nest.ly @@ -0,0 +1,12 @@ +\header { +texidoc = "grace code should not be confused by nested sequential musics, containing grace notes; practically speaking, this means that the end-bar and measure bar coincide in this example." + +} +\score{ +\notes + +{ c''2 { \grace b'16 c''2 } \bar "|." } + \paper { +} + } + diff --git a/input/tutorial/sammartini.ly b/input/tutorial/sammartini.ly index 1975a1cadb..c8ff8a10f0 100644 --- a/input/tutorial/sammartini.ly +++ b/input/tutorial/sammartini.ly @@ -1,9 +1,9 @@ \include "paper16.ly" -stemdown = \property Voice.Stem \override #'direction = #-1 -stemup = \property Voice.Stem \override #'direction = #1 -stemboth = \property Voice.Stem \revert #'direction +stemDown = \property Voice.Stem \override #'direction = #-1 +stemUp = \property Voice.Stem \override #'direction = #1 +stemBoth = \property Voice.Stem \revert #'direction viola = \notes \relative c' \context Voice = viola { diff --git a/make/lilypond.mandrake.spec.in b/make/lilypond.mandrake.spec.in new file mode 100644 index 0000000000..6765e199b9 --- /dev/null +++ b/make/lilypond.mandrake.spec.in @@ -0,0 +1,169 @@ +%define name lilypond +%define version @TOPLEVEL_VERSION@ +%define release 1mdk + +Name: %{name} +Summary: A program for printing sheet music. +Version: %{version} +Release: %{release} +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-%{version}.tar.gz +## Patch0: lilypond-GNUmakefile.in.patch.bz2 +License: GPL +Group: Publishing +URL: http://www.lilypond.org/ +BuildRoot: %{_tmppath}/%{name}-buildroot +BuildRequires: guile guile-devel +Requires: tetex + +%description +LilyPond is a music typesetter. It produces beautiful sheet music using a +high level description file as input. Lilypond is part of the GNU project. + +LilyPond is split into two packages. The package "lilypond" provides the +core package, containing the utilities for converting the music source +(.ly) files into printable output. The package "lilypond-extras" provides +the full documentation, example .ly files for various features and the +Mutopia project files (musical equivalent of the Gutenberg project - see +http://www.mutopiaproject.org for details). + +If you are new to lilypond, you will almost certainly want to install the +"lilypond-extras" package in addition to the "lilypond" package. + +You may also wish to investigate the "denemo" package, which provides a +graphical front end to lilypond. + +See the file README.first for more information. + + +%package extras +Summary: LilyPond documentation, examples and Mutopia files. +Group: Publishing +Requires: lilypond + +%description extras +The documentation of LilyPond, both in HTML and PostScript, along with +example input files and the files from the Mutopia project. + +%prep +%setup -a 1 +## % patch0 -b .orig + +%build +# DO NOT use % { configure } , it hardcodes all paths, runs libtool, +# so we can't do make prefix=/tmp/ install. +# -- not sure what this comment means; it's a relic from the PPC spec file -- mbrown@fensystems.co.uk +./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared +make +make local-web + +%install + +# Create installation root folders +rm -rf $RPM_BUILD_ROOT +RPM_DOC_ROOT=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} +rm -rf $RPM_DOC_ROOT +mkdir -p $RPM_DOC_ROOT + +make prefix="$RPM_BUILD_ROOT%{_prefix}" install +%{find_lang} %{name} + +# Move info and man files into correct locations +mv $RPM_BUILD_ROOT/usr/info $RPM_BUILD_ROOT%{_infodir} +mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT%{_mandir} + +# Move TeX font files into system TeX tree locations +mkdir -p $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/{afm,source,tfm} +mv $RPM_BUILD_ROOT%{_datadir}/lilypond/afm $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/afm/lilypond +mv $RPM_BUILD_ROOT%{_datadir}/lilypond/mf $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/source/lilypond +mv $RPM_BUILD_ROOT%{_datadir}/lilypond/tfm $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/tfm/lilypond +mkdir -p $RPM_BUILD_ROOT%{_datadir}/texmf/tex +mv $RPM_BUILD_ROOT%{_datadir}/lilypond/tex $RPM_BUILD_ROOT%{_datadir}/texmf/tex/lilypond + +# Copy emacs mode files into %{_datadir}/lilypond/emacs +mkdir -p $RPM_BUILD_ROOT%{_datadir}/lilypond/emacs +cp *.el $RPM_BUILD_ROOT%{_datadir}/lilypond/emacs/ + +# Create documentation tree in %{_docdir} +mkdir -p $RPM_DOC_ROOT/HTML +tar -C $RPM_DOC_ROOT/HTML -xzf out/web.tar.gz +ln -s HTML/input $RPM_DOC_ROOT/Examples +ln -s HTML/input/test $RPM_DOC_ROOT/Tricks +ln -s HTML/mutopia $RPM_DOC_ROOT/Mutopia +mkdir -p $RPM_DOC_ROOT/Printable +ln -s ../HTML/Documentation/user/out-www/lilypond.ps.gz $RPM_DOC_ROOT/Printable/Manual.ps.gz +ln -s ../HTML/Documentation/user/out-www/glossary.ps.gz $RPM_DOC_ROOT/Printable/Glossary.ps.gz +cp AUTHORS.txt CHANGES COPYING DEDICATION FAQ.txt NEWS README.txt VERSION README.mandrake $RPM_DOC_ROOT/README.first + +%post +touch /tmp/.lilypond-install +rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install +/usr/bin/mktexlsr +%_install_info lilypond.info +%_install_info lilypond-internals.info + +%preun +%_remove_install_info lilypond.info +%_remove_install_info lilypond-internals.info + +%postun +/usr/bin/mktexlsr + + +%files -f %{name}.lang +%defattr(-,root,root,0755) +%{_bindir}/* +%{_datadir}/lilypond/ +%{_datadir}/texmf/fonts/afm/lilypond +%{_datadir}/texmf/fonts/source/lilypond +%{_datadir}/texmf/fonts/tfm/lilypond +%{_datadir}/texmf/tex/lilypond + +%doc %{_infodir}/* +%doc %{_mandir}/man1/* +%doc %{_docdir}/%{name}-%{version}/AUTHORS.txt +%doc %{_docdir}/%{name}-%{version}/CHANGES +%doc %{_docdir}/%{name}-%{version}/COPYING +%doc %{_docdir}/%{name}-%{version}/DEDICATION +%doc %{_docdir}/%{name}-%{version}/FAQ.txt +%doc %{_docdir}/%{name}-%{version}/NEWS +%doc %{_docdir}/%{name}-%{version}/README.txt +%doc %{_docdir}/%{name}-%{version}/VERSION +%doc %{_docdir}/%{name}-%{version}/README.first + +%files extras +%defattr(-,root,root,0755) +%doc %{_docdir}/%{name}-%{version}/HTML +%doc %{_docdir}/%{name}-%{version}/Mutopia +%doc %{_docdir}/%{name}-%{version}/Printable +%doc %{_docdir}/%{name}-%{version}/Tricks +%doc %{_docdir}/%{name}-%{version}/Examples + + +%changelog +* Fri Jun 01 2001 Lenny Cartier 1.4.2-1mdk +- updated by Michael Brown : + - Upgraded to 1.4.2 + - Changed URL + - Removed /etc/profile.d scripts: all TeX bits are now located properly + - Rearranged documentation + - Tidied spec file + - Updated README.first + +* Mon Feb 26 2001 Lenny Cartier 1.3.129-1mdk +- added in contribs by Michael Brown : + - Removed info files completely (couldn't get info reader to read them) + - TODO: Get this to work at some point (in the meantime, use documentation in lilypond-extras) + +* Sat Feb 17 2001 Michael Brown +- Moved TeX font folders into the system TeX tree (this ensures that the /var/lib/texmf font cache is used instead of current folder) +- Added mktexlsr to post-install and post-uninstall scripts +- Patched scripts in /etc/profile.d to reflect changes to font locations +- Added QuickStart guide and Points to note sections to README.first (well worth reading) +- Fixed install-info and uninstall-info sections to use Mandrake's RPM macros :-) + +* Tue Feb 13 2001 Michael Brown +- First Mandrake package +- spec file heavily adapted from PowerPC contribs. +- Note HTML documentation may contain duff links and may be incomplete. Lots of warnings appear when building HTML docs. +- PostScript documentation is duplicated (how do you get an rpm package to contain a symlink?) +- Created README.first file diff --git a/make/lilypond.redhat.spec.in b/make/lilypond.redhat.spec.in index 6eeba3c36d..7f047cda27 100644 --- a/make/lilypond.redhat.spec.in +++ b/make/lilypond.redhat.spec.in @@ -7,7 +7,7 @@ License: GPL Group: Applications/Publishing Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz Summary: Create and print music notation -URL: http://www.cs.uu.nl/~hanwen/lilypond +URL: http://www.lilypond.org/ BuildRoot: /tmp/lilypond-install # add lots of Buildreq: flex, bison, tetex, tetex-devel, tetex-latex, texinfo # better prereqs: tetex-latex, python, (mpost?) etc. diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index 63ded478b5..702c961171 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -179,10 +179,7 @@ Distributed under terms of the GNU General Public License. It comes with NO WARRANTY.''')) sys.stdout.write ('\n') -if ( os.name == 'posix' ): - errorport=sys.stderr -else: - errorport=sys.stdout +errorport=sys.stderr def progress (s): errorport.write (s + '\n') @@ -297,11 +294,6 @@ def system (cmd, ignore_error = 0): Exit status of CMD """ - if ( os.name != 'posix' ): - cmd = re.sub (r'''\\''', r'''\\\\\\''', cmd) - cmd = "sh -c \'%s\'" % cmd - - if verbose_p: progress (_ ("Invoking `%s\'") % cmd) st = os.system (cmd) @@ -577,7 +569,7 @@ None cmd = 'latex \\\\nonstopmode \\\\input %s' % latex_fn - if not verbose_p and os.name == 'posix': + if not verbose_p: progress ( _("Running %s...") % 'LaTeX') cmd = cmd + ' 1> /dev/null 2> /dev/null' @@ -602,7 +594,7 @@ None. cmd = 'dvips %s -o%s %s' % (opts, outbase + '.ps', outbase + '.dvi') - if not verbose_p and os.name == 'posix': + if not verbose_p: progress ( _("Running %s...") % 'dvips') cmd = cmd + ' 1> /dev/null 2> /dev/null' -- 2.39.5