From e936a18eacf6603037001f7bd4ee6f85ea76a492 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 27 Apr 2001 02:09:32 +0200 Subject: [PATCH] release: 1.3.151 ============ * ly2dvi: reverted footer change that broke mutopia endfooter. * Standchen revision (found four new bugs). * Allow multiple multiply for durations, eg: 'R1 * 3/4 * 10'. * Bugfix for direct PostScript output. * Compilation fix. * Windows: possibly ly2dvi fix, tex install, minor doco fixes, fixed some urls. 1.3.150.h --- CHANGES | 21 +- Documentation/index.texi | 39 +++ Documentation/topdocs/GNUmakefile | 1 + Documentation/topdocs/INSTALL.texi | 22 +- Documentation/topdocs/index.tely | 106 ++----- Documentation/user/GNUmakefile | 10 +- INSTALL.txt | 126 +++++--- VERSION | 4 +- buildscripts/mutopia-index.py | 27 +- make/lilypond.spec.in | 0 make/out/lilypond.lsm | 8 +- make/out/{lilypond.spec => redhat.spec} | 64 ++-- make/out/suse.spec | 300 +++++++++++++++++++ make/redhat.spec.in | 52 +--- scripts/lilypond-book.py | 21 +- scripts/ly2dvi.py | 6 +- stepmake/stepmake/documentation-targets.make | 1 + stepmake/stepmake/topdocs-targets.make | 2 - tex/lilyponddefs.tex | 2 +- 19 files changed, 561 insertions(+), 251 deletions(-) delete mode 100644 make/lilypond.spec.in rename make/out/{lilypond.spec => redhat.spec} (70%) create mode 100644 make/out/suse.spec diff --git a/CHANGES b/CHANGES index 8d2052caa5..bc44eaf674 100644 --- a/CHANGES +++ b/CHANGES @@ -9,19 +9,26 @@ * Bugfix for direct PostScript output. -1.3.150.jcn2 +* Compilation fix. + +* Windows: possibly ly2dvi fix, tex install, minor doco fixes, fixed +some urls. + + +1.3.150.hwn1 ============ -* Fix to standchen. +* RedHat .spec -* Compilation fix. +* SUSE .spec -* Windows: ly2dvi fix, tex install fix, cygwin path conversion switch -on again (arg!), minor doco fixes, fixed some urls. +* website cleanups. -1.3.150 -======= +* don't keep remaking lilypond-internals.texi +* ly2dvi bugfix: use the maximum linewidth specified. + + 1.3.149.jcn3 ============ diff --git a/Documentation/index.texi b/Documentation/index.texi index cd1d57d644..fd9f0838df 100644 --- a/Documentation/index.texi +++ b/Documentation/index.texi @@ -142,4 +142,43 @@ by computer}. @end itemize +@html + +@end html +@unnumberedsec Mailing lists + +If you have questions, do write to the mailing lists. But don't forget +to read the @uref{Documentation/topdocs/out-www/FAQ.html,Very Frequently +Asked Questions} and @uref{http://appel.dyndns.org/wiki?LilyPondFaqs, +Frequently Asked Questions} first. + + +@itemize @bullet +@item @uref{http://mail.gnu.org/mailman/listinfo/info-gnu-music,info-gnu-music@@gnu.org} +is a low-volume list for information on the GNU Music project. + This list is moderated; ask + @email{drl@@gnu.org, David R. Linn} or + @email{hanwen@@cs.uu.nl, Han-Wen} to send announcements for this list. +@item @uref{http://mail.gnu.org/mailman/listinfo/help-gnu-music,help-gnu-music@@gnu.org} + For help with using LilyPond. +@item @uref{http://mail.gnu.org/mailman/listinfo/bug-gnu-music,bug-gnu-music@@gnu.org} +If you have bugreports, you should send them to this list. + + + + Please include in your bugreport the version of LilyPond that +you experience the problem with, a description of your system and sample +input to reproduce the problem. Do not send output files over the list, +they tend to be very big and don't help with describing the problem. + + +@item @uref{http://mail.gnu.org/mailman/listinfo/gnu-music-discuss,gnu-music-discuss@@gnu.org} + For discussions concerning LilyPond. +@end itemize + +These pages were entirely created from a @strong{development snapshot} +of the LilyPond package. The version of this webpage is printed at the +bottom. + + @bye diff --git a/Documentation/topdocs/GNUmakefile b/Documentation/topdocs/GNUmakefile index 10f82f091d..d607526ace 100644 --- a/Documentation/topdocs/GNUmakefile +++ b/Documentation/topdocs/GNUmakefile @@ -6,3 +6,4 @@ LOCALSTEPMAKE_TEMPLATES=lilypond ly HTML_FILES=$(addprefix $(outdir)/, $(TEXI_FILES:.texi=.html) $(TELY_FILES:.tely=.html)) include $(depth)/make/stepmake.make + diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index d03a80ac91..9ef6f3c315 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -23,24 +23,26 @@ page}. @section Downloading +Even numbered versions are `stable'. The webpages for the stable version +(1.2) reside @uref{http://www.gnu.org/software/lilypond, on the GNU +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 If you want to compile LilyPond from source, download here: @itemize @bullet @item Download development releases from -@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/, by FTP} and -@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/, by HTTP}. -@item @uref{ftp://sca.uwaterloo.ca/pub/, ftp (Canadian mirror)} -@item at @code{lilypond.org} by -@uref{ftp://ftp.lilypond.org/pub/LilyPond/, FTP} and -@uref{http://www.lilypond.org/ftp/, HTTP}. +@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/} by FTP and +@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/}, by HTTP. +@item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror) +@item at @code{lilypond.org} +@uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and +@uref{http://www.lilypond.org/ftp/} by HTTP. @end itemize -Installing and compiling requires many additional packages, which are -listed in the @uref{Documentation/topdocs/out-www/INSTALL.html, -installation instructions}. - @html @end html diff --git a/Documentation/topdocs/index.tely b/Documentation/topdocs/index.tely index 064f4a742a..5326e41bd6 100644 --- a/Documentation/topdocs/index.tely +++ b/Documentation/topdocs/index.tely @@ -11,102 +11,40 @@ i\input texinfo @c -*-texinfo-*- @end html -@unnumberedsec What is LilyPond? +@unnumberedsec What is LilyPond? What can it do for you? -@c also use keywords: music notation software -LilyPond is a music typesetter. It produces beautiful sheet music -using a high level description file as input. It excels at typesetting -classical music, but you can also print pop-songs. With LilyPond we -hope to make music publication software available to anyone on the -internet. +LilyPond prints music notation. It produces beautiful sheet music from +a description file. It excels at typesetting classical music, but you +can also print pop-songs. -@unnumberedsec Why should I use it? - -The input to LilyPond is plain text. So, you can use your favorite text +LilyPond input is @b{plain text}. So, you can use your favorite text editor to enter it, you can put it in mail or embed it in an article like this: - - -@lilypond[fragment,verbatim] -\relative c'' { \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4 } +@lilypond[fragment,verbatim, relative 1] + \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4 @end lilypond +Or you can use it to print music from other programs, using one of the +numerous input filters. -The output looks very good: the font and the layout algorithms were -inspired by engraved music, so you can expect that same clear and +LilyPond output looks @b{beautiful}. The font and the layout algorithms +were inspired by engraved music, so you can expect that same clear and elegant look from your LilyPond output. And if you don't like the looks, you can tweak almost everything. -The program also has limited MIDI functionality: you can write MIDI -files with lilypond. You can also import files in PMX, MUP, MIDI, ABC, -Finale and Musedata format. - -LilyPond is free software. It is licensed under GNU General Public -License, so you can use, modify and redistribute the program with -almost no restrictions. LilyPond is part of the -@uref{http://www.gnu.org/,GNU Project}. - -The version numbers are in Linux-kernel style: even numbered versions -are `stable'. The webpages for the stable version (1.2) reside -@uref{http://www.gnu.org/software/lilypond, on the GNU servers}. Big -enhancements go into the latest odd numbered version (1.3), whose -webpages are on @uref{http://www.lilypond.org/,the lilypond site}. -Information on the latest and greatest features can be found in the -@uref{Documentation/out-www/CHANGES.html, Change Log}. - -If want more information, you can browse the -@uref{Documentation/user/out-www/lilypond.html, manual} or other -@uref{Documentation/out-www/index.html, documentation}. - -@html - -@end html -@unnumberedsec Sheet music - - -If you are interested in sheet music typeset by LilyPond, have a look at -the examples included. We have @uref{short-examples.html,short -examples} and @uref{long-examples.html,longer examples}. The -examples include sound bites in MIDI, pictures in PNG, printable scores -in PostScript, and LilyPond input. Others use LilyPond too, and have put -scores on the web. Head over to @uref{http://appel.lilypond.org/wiki?DownloadLilyPondScores} - - -@html - -@end html -@unnumberedsec Mailing lists - -If you have questions, do write to the mailing lists. But don't forget -to read the @uref{Documentation/topdocs/out-www/FAQ.html,Very Frequently -Asked Questions} and @uref{http://appel.dyndns.org/wiki?LilyPondFaqs, -Frequently Asked Questions} first. - - -@itemize @bullet -@item @uref{http://mail.gnu.org/mailman/listinfo/info-gnu-music,info-gnu-music@@gnu.org} -is a low-volume list for information on the GNU Music project. - This list is moderated; ask - @email{drl@@gnu.org, David R. Linn} or - @email{hanwen@@cs.uu.nl, Han-Wen} to send announcements for this list. -@item @uref{http://mail.gnu.org/mailman/listinfo/help-gnu-music,help-gnu-music@@gnu.org} - For help with using LilyPond. -@item @uref{http://mail.gnu.org/mailman/listinfo/bug-gnu-music,bug-gnu-music@@gnu.org} -If you have bugreports, you should send them to this list. - - +LilyPond is @b{free software}. It is part of the +@uref{http://www.gnu.org/,GNU Project}. It is licensed under GNU General +Public License, so you can use, modify and redistribute the program with +almost no restrictions. LilyPond is part of the - Please include in your bugreport the version of LilyPond that -you experience the problem with, a description of your system and sample -input to reproduce the problem. Do not send output files over the list, -they tend to be very big and don't help with describing the problem. +@unnumberedsec Want to know more? +If you want to know more, visit the +@uref{Documentation/out-www/index.html, documentation page}. If you want +to see some sheet music, then have a look at the examples: we have +@uref{short-examples.html,short examples} and +@uref{long-examples.html,longer examples}. For even more sheet music, +head over to @uref{http://www.mutopiaproject.org, the mutopia project}. -@item @uref{http://mail.gnu.org/mailman/listinfo/gnu-music-discuss,gnu-music-discuss@@gnu.org} - For discussions concerning LilyPond. -@end itemize -These pages were entirely created from a @strong{development snapshot} -of the LilyPond package. The version of this webpage is printed at the -bottom. @bye diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index 1dc1853f44..89789e350b 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -121,11 +121,17 @@ local-clean: # Rules for the automatically generated documentation # When cross-compiling, we don't have lilypond, so we fake ifneq ($(CROSS),yes) -dummy: -$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: dummy + + +# there used to be a dependency on a dummy target, to force a rebuild of lilypond-internals every time. +# however, this triggers compilation during install, which is a bad thing (tm). + +$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: $(depth)/$(builddir)/lily/$(outconfbase)/lilypond cd $(outdir) && ../$(depth)/$(builddir)/lily/$(outconfbase)/lilypond ../$(src-depth)/ly/generate-documentation -ln $(outdir)/lilypond-internals.texi $(outdir)/lilypond-internals.nexi + +## unused $(outdir)/interfaces.itexi: dummy cd $(outdir) && ../$(depth)/$(builddir)/lily/$(outconfbase)/lilypond ../$(src-depth)/ly/generate-interface-doc diff --git a/INSTALL.txt b/INSTALL.txt index 898649b307..088db01f8d 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,35 +1,73 @@ +Table of Contents +***************** + + + + +INSTALL - compiling and installing GNU LilyPond + Downloading + source code + Binaries + Upgrading + Requirements + Compilation + Running requirements + Website requirements + Building LilyPond + Configuring for multiple platforms + Emacs mode + Compiling for distributions + Red Hat Linux + SuSE + Mandrake + Debian GNU/Linux + Problems + NetBSD + Solaris: + AIX + + INSTALL - compiling and installing GNU LilyPond *********************************************** -Downloading source code -======================= + This document describes how to build LilyPond on Unix platforms. It +is also known to run and compile on Windows NT/95/98 as well. More +information on this topic can be found at the LilyPond on Windows page +(ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/). - If you want to compile LilyPond from source, download here: - * Download stable releases at GNU (ftp://ftp.gnu.org/gnu/lilypond/) +Downloading +=========== - * Download development releases from by FTP - (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/) and by HTTP - (http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/). + Even numbered versions are `stable'. The webpages for the stable +version (1.2) reside on the GNU servers +(http://www.gnu.org/software/lilypond). Big enhancements go into the +latest odd numbered version (1.3), whose webpages are on the lilypond +site (http://www.lilypond.org/). - * ftp (Canadian mirror) (ftp://sca.uwaterloo.ca/pub/) +source code +----------- - * at `lilypond.org' by FTP (ftp://ftp.lilypond.org/pub/LilyPond/) and - HTTP (http://www.lilypond.org/ftp/). + If you want to compile LilyPond from source, download here: + * Download development releases from + `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/' by FTP and + `http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/', by HTTP. + + * `ftp://sca.uwaterloo.ca/pub/' by FTP (Canadian mirror) - Installing and compiling requires many additional packages, which are -listed in the installation instructions -(Documentation/topdocs/out-www/INSTALL.html). + * at `lilypond.org' `ftp://ftp.lilypond.org/pub/LilyPond/' by FTP and + `http://www.lilypond.org/ftp/' by HTTP. -Downloading binaries -==================== +Binaries +-------- Binaries are available, but are not updated for every version released. - * RedHat i386 (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/) + * RedHat i386 + (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/) - * LinuxPPC (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/linuxppc) + * LinuxPPC (ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc) * Debian GNU/Linux Stable (ftp://ftp.debian.org/debian/pool/main/l/lilypond) @@ -38,11 +76,11 @@ released. (ftp://ftp.debian.org/debian/pool/main/l/lilypond1.3) * Windows Stable (http://home.austin.rr.com/jbr/jeff/lilypond/) + Windows Testing (http://www.lilypond.org/gnu-windows) - * Windows Testing (ftp://ftp.lilypond.org/pub/lilypond/gnu-windows) Upgrading -========= +--------- There are two options for upgrading sources. @@ -61,13 +99,11 @@ Upgrading on the FTP site. xdelta patch lilypond-1.3.121-1.3.122.xd lilypond-1.3.121.tar.gz -Build requirements -================== +Requirements +============ - This document describes how to build LilyPond on Unix platforms. It -is also known to run and compile on Windows NT/95/98 as well. More -information on this topic can be found at the LilyPond on Windows page -(ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/). +Compilation +----------- You need the following packages to compile Lilypond. @@ -130,7 +166,7 @@ information on this topic can be found at the LilyPond on Windows page Running requirements -==================== +-------------------- GNU LilyPond does use a lot of resources. For operation you need the following software @@ -153,7 +189,7 @@ Csh and bourne sh scripts are left in recommended for comfortable use. Website requirements -==================== +-------------------- The documentation comes in the form of a website. You can view this website on the internet, but you can also build it locally. This process @@ -183,8 +219,8 @@ issuing not see our hypertextified bibliography. -Configuring and compiling -========================= +Building LilyPond +================== to install GNU LilyPond, type: gunzip -c lilypond-x.y.z | tar xf - @@ -208,7 +244,7 @@ points into your home directory, eg. `buildscripts/out/lilypond-profile' into your start up scripts by hand. Configuring for multiple platforms -================================== +---------------------------------- If you want to build multiple versions of LilyPond with different configuration settings, you can use the `--enable-config=CONF' option @@ -234,7 +270,7 @@ Emacs mode `lilypond-mode.el' and `lilypond-font-lock.el'. If you have an RPM, it is in `/usr/share/doc/lilypond-X/'. You have to install it yourself. - Add this to your ~/.emacs or ~/.emacs.el: + Add this to your `~/.emacs' or `~/.emacs.el': (load-library "lilypond-mode.el") (setq auto-mode-alist (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist)) @@ -243,21 +279,24 @@ is in `/usr/share/doc/lilypond-X/'. You have to install it yourself. If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode is automatically loaded, so you need not modify your `~/.emacs' file. +Compiling for distributions +=========================== + Red Hat Linux -============= +------------- Red Hat 7.0 i386 RPMS are available from `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/'. You can also compile them yourself. A spec file is in -`make/out/lilypond.spec'. This file is distributed along with the +`make/out/redhat.spec'. This file is distributed along with the sources. You can make the rpm by issuing rpm -tb lilypond-x.y.z.tar.gz rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z For running on a Red Hat system you need these packages: guile, -tetex, tetex-dvips, libstdc++, python, ghostscript. +tetex, tetex-latex, tetex-dvips, libstdc++, python, ghostscript. For compilation on a Red Hat system you need these packages, in addition to the those needed for running: glibc-devel, gcc-c++, @@ -265,19 +304,22 @@ libstdc++-devel, guile-devel, flex, bison, texinfo, tetex-devel, groff, libgr-progs. SuSE -==== +---- - [TODO: document this] + You can also compile them yourself. A spec file is in +`make/out/suse.spec'. This file is distributed along with the sources. - Install `tetex', `te_mpost', `te_kpath'. + You must have the following packages: guile tcsh tetex te_latex +te_kpath te_mpost libpng python gpp libgpp gettext autoconf netpbm +libnetpb gs_serv gs_lib gs_fonts guile Mandrake -======== +-------- [TODO] Debian GNU/Linux -================ +---------------- A Debian package is also available. You may install it easily by using apt-get as root: @@ -370,7 +412,7 @@ your problems. If you find bugs, please send bug reports to Bugs that are not fault of LilyPond are documented here. NetBSD -****** +------ * The flex precompiled in NetBSD-1.4.2 is broken. Download flex-2.5.4a, build, install. @@ -382,7 +424,7 @@ NetBSD Solaris: -******** +-------- * Sparc64/Solaris 2.6, GNU make-3.77 @@ -394,7 +436,7 @@ Solaris: Not yet resolved. AIX -*** +--- * AIX 4.3 ld diff --git a/VERSION b/VERSION index 2072f2c8f7..90d8cc214b 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=150 -MY_PATCH_LEVEL=jcn3 +PATCH_LEVEL=151 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/buildscripts/mutopia-index.py b/buildscripts/mutopia-index.py index 4cb45eae1e..bfa093e466 100755 --- a/buildscripts/mutopia-index.py +++ b/buildscripts/mutopia-index.py @@ -52,14 +52,21 @@ def file_exist_b (fn): return 0 -headertext= r""" -These example files are taken from the LilyPond distribution. -LilyPond currently only outputs TeX and MIDI. The pictures and -PostScript files were generated using TeX, Ghostscript and some -graphics tools. The papersize used for these examples is A4. -The images are in PNG format, and should be viewable with any current browser. +headertext= r"""You're looking at a page with some LilyPond samples. +These files are also included in the distribution. The output is +completely generated by LilyPond, without any touch up by humans. + + +

+ +The PostScript files were generated using TeX and dvips. The pictures +are 90dpi anti-aliased snapshots of the printed output. The images +are in PNG format, and should be viewable with any current browser. +

-These images are generated at approximately 180dpi. If you want a better impression of the appearance do print out one the postscript version of the samples.""" + +If you want a better impression of the appearance, do print out one of +the postscript files.""" # @@ -157,9 +164,9 @@ def gen_list(inputs, filename): f = base + '-page%d.png' % pageno if not file_exist_b (f): break - list_item(f, 'The output, page %d' % pageno, 'png') - list_item(base + '.ps.gz', 'The output', 'gzipped PostScript') - list_item(base + '.midi', 'The output', 'MIDI') + list_item(f, 'See a picture of page %d' % pageno, 'png') + list_item(base + '.ps.gz', 'Print ', 'gzipped PostScript') + list_item(base + '.midi', 'Listen', 'MIDI') list.write (""); list.write( ""); diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 665f1cfd22..0bdf4c72a6 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.150 -Entered-date: 23APR01 +Version: 1.3.151 +Entered-date: 27APR01 Description: @BLURB@ Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.3.150.tar.gz + 1000k lilypond-1.3.151.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.150.tar.gz + 1000k lilypond-1.3.151.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/redhat.spec similarity index 70% rename from make/out/lilypond.spec rename to make/out/redhat.spec index 31e7302fb7..8a440ee555 100644 --- a/make/out/lilypond.spec +++ b/make/out/redhat.spec @@ -1,24 +1,22 @@ %define info yes Name: lilypond -Version: 1.3.150 +Version: 1.3.151 Release: 1 License: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.150.tar.gz -# music notation software for.. ? -Summary: A program for printing sheet music. +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.151.tar.gz +Summary: Create and print music notation URL: http://www.cs.uu.nl/~hanwen/lilypond -# rpm: 4.0: broken for -ta builds: rpm doesn't look in tarball for xpm -# Icon: lilypond-icon.xpm BuildRoot: /tmp/lilypond-install +# add lots of Buildreq: flex, bison, tetex, tetex-devel, tetex-latex, texinfo +# better prereqs: tetex-latex, python, (mpost?) etc. Prereq: tetex -# use keywords: music notation software + %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 lets you create music notation. It produces +beautiful sheet music from a high-level description file. %package documentation Summary: Prebuilt website containing all LilyPond documentation. @@ -34,75 +32,61 @@ The documentation of LilyPond, both in HTML and PostScript. %build -# - # DO NOT use % { configure } , it hardcodes all paths, runs libtool, # so we can't do make prefix=/tmp/ install. -# In fact, do not take out the spaces between % and { , because RPM will gladly -# do a substitution anyway. +# In fact, do not take out the spaces between % and { in the above comment, +# because RPM will gladly do a substitution anyway. ./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared make all -# urg -# %build documentation -# line 42: second %build # ok, now make sure that lilypond package will succeed, # even if documentation fails to build - make -C Documentation || true make web || true %install - 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%{_prefix}" install + %if info=="yes" gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true %endif - +mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d +install -m 644 lilypond-mode.el lilypond-font-lock.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/ +install -m 644 lilypond-init.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* || true - - - 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 -#line 63: second %install + # again, make sure that main package installs even if doco fails mkdir -p web/out tar -C web -xzf out/web.tar.gz || true -%ifos cygwin -# urg, this symlink doesn't come through on cygwin -# this is the way symlinks work over there, let's fake one -rm -f $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm -echo '!c:\\texmf\\fonts\\tfm\\public\\cm' > $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm -%{fix_suffixes} -%endif %post touch /tmp/.lilypond-install rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install + %if info=="yes" /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true %endif %preun + %if info=="yes" if [ $1 = 0 ]; then /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true @@ -111,11 +95,10 @@ fi %files -# hairy to hook it in (possibly non-existing) emacs -%doc lilypond-mode.el -%doc lilypond-font-lock.el -%ifnos cygwin +%{_datadir}/emacs/site-lisp/* +%{_datadir}/emacs/site-lisp/site-start.d/* + %{_prefix}/bin/abc2ly %{_prefix}/bin/as2text %{_prefix}/bin/convert-ly @@ -127,9 +110,6 @@ fi %{_prefix}/bin/mup2ly %{_prefix}/bin/musedata2ly %{_prefix}/bin/pmx2ly -%else -%{_prefix}/bin -%endif %if info=="yes" %{_prefix}/info/lilypond.info.gz @@ -150,11 +130,7 @@ fi %{_prefix}/share/lilypond/ %{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo -# urg? %{_prefix}/../etc/profile.d/lilypond.* %files documentation -# this gets too messy... -# %doc input/*.ly -# verbatim include of input: list the directory without issuing a %dir %doc web/ diff --git a/make/out/suse.spec b/make/out/suse.spec new file mode 100644 index 0000000000..f2a37de68f --- /dev/null +++ b/make/out/suse.spec @@ -0,0 +1,300 @@ +# +# spec file for package lilypond (Version 1.3.149) +# based on +# spec file for package lilypond (Version 1.2.17) +# Copyright (c) 2000 SuSE GmbH Nuernberg, Germany. +# +# Please send bug reports to schlemme@mathe.tu-freiberg.de + +%define info yes + +# neededforbuild guile tcsh tetex te_latex te_mpost libpng python gpp libgpp gettext autoconf netpbm libnetpb gs_serv gs_lib gs_fonts guile +# usedforbuild aaa_base aaa_dir autoconf automake base bash bindutil binutils bison bzip compress cpio cracklib devs diff ext2fs file fileutil find flex gawk gcc gdbm gettext gpm gpp gppshare groff gs_fonts gs_lib gs_serv guile gzip kbd less libc libgpp libnetpb libpng libtool libz lx_suse make mktemp modules ncurses net_tool netcfg netpbm nkita nkitb nssv1 pam patch perl pgp ps python rcs rpm sendmail sh_utils shadow shlibs strace syslogd sysvinit tcsh te_ams te_latex te_mpost tetex texinfo textutil timezone unzip util vim xdevel xf86 xshared guile + + +Distribution: SuSE Linux 7.0 (i386) +Name: lilypond +Version: 1.3.151 +Release: 2 +Copyright: GPL +Group: Applications/Publishing +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.151.tar.gz +# music notation software for.. ? +Summary: A program for printing sheet music. +URL: http://www.lilypond.org/ +# rpm: 4.0: broken for -ta builds: rpm doesn't look in tarball for xpm +# Icon: lilypond-icon.xpm +BuildRoot: /tmp/lilypond-install +# add lots of Buildreq: tetex-kpath, te_mpost, bison +# better prereqs: tetex-latex, python, (mpost?) etc. +Prereq: tetex python + +# use keywords: music notation software +%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. + +Authors: +-------- + Han-Wen Nienhuys + Jan Nieuwenhuizen + Alexandre Oliva + Mats Bengtsson + Eric Bullinger + Jan Arne Fagertun + Anthony Fok + Neil Jerram + Donald Ervin Knuth + Werner Lemberg + David R. Linn + François Pinard + Jeffrey B. Reed + Shay Rojanski + Tom Cato Amundsen + Laura Conrad + James Hammons + Bjoern Jacke + Michael Krause + David R. Linn + Adrian Mariano + Stephen Peters + Glen Prideaux + Roy R. Rankin + Juergen Reuter + August S.Sigov + Rune Zedeler + +SuSE series: ap + +%package doc +Summary: Prebuilt website containing all LilyPond documentation. +Group: Applications/Publishing +# BuildArchitectures: noarch + +%description doc + +The documentation of LilyPond, both in HTML and PostScript. + +%define INSTALL install -m755 -s +%define INSTALL_DIR install -d -m755 +%define INSTALL_DATA install -m644 +%prep +%setup + +%build + +# + +# DO NOT use % { configure } , it hardcodes all paths, runs libtool, +# so we can't do make prefix=/tmp/ install. + +# In fact, do not take out the spaces between % and { , because RPM will gladly +# do a substitution anyway. + +CFLAGS="$RPM_OPT_FLAGS" ./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --enable-optimise --enable-shared + +make LDFLAGS=-s "CFLAGS=$RPM_OPT_FLAGS" all + +# urg +# %build doc +# line 42: second %build +# ok, now make sure that lilypond package will succeed, +# even if documentation fails to build + +make -C Documentation || true +make web || true + +%install + + + +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc + +## this is an ugly hack +mkdir -p scripts/share/lilypond/tex +cp tex/titledefs.tex scripts/share/lilypond/tex +## end of hack + + +strip lily/out/lilypond midi2ly/out/midi2ly +make prefix="$RPM_BUILD_ROOT%{_prefix}" install + +%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/fonts/source/public/lilypond +(cd $RPM_BUILD_ROOT/usr/share/lilypond \ + && mv mf/* $RPM_BUILD_ROOT/usr/share/texmf/fonts/source/public/lilypond \ + && rm -fr mf \ + && ln -s ../texmf/fonts/source/public/lilypond mf) +%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/fonts/afm/lilypond +(cd $RPM_BUILD_ROOT/usr/share/lilypond \ + && mv afm/* $RPM_BUILD_ROOT/usr/share/texmf/fonts/afm/lilypond \ + && rm -fr afm \ + && ln -s ../texmf/fonts/afm/lilypond afm) +%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/tex/lilypond +(cd $RPM_BUILD_ROOT/usr/share/lilypond \ + && mv tex/* $RPM_BUILD_ROOT/usr/share/texmf/tex/lilypond \ + && rm -fr tex \ + && ln -s ../texmf/tex/lilypond tex) +%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/lilypond/ps +(cd $RPM_BUILD_ROOT/usr/share/lilypond \ + && mv ps/* $RPM_BUILD_ROOT/usr/share/texmf/lilypond/ps \ + && rm -fr ps \ + && ln -s ../texmf/lilypond/ps ps) + + +%if info=="yes" +gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true +%endif + + + +gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* || true + + + + +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 doc +#line 63: second %install +# again, make sure that main package installs even if doco fails +mkdir -p web/out +tar -C web -xzf out/web.tar.gz || true + +%ifos cygwin +# urg, this symlink doesn't come through on cygwin +# this is the way symlinks work over there, let's fake one +rm -f $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm +echo '!c:\\texmf\\fonts\\tfm\\public\\cm' > $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm +%{fix_suffixes} +%endif + +%{?suse_check} + + +%pre +if [ -d usr/share/lilypond/ps ]; then + mv usr/share/lilypond/ps usr/share/lilypond/ps.old + echo "please, remove /usr/share/lilypond/ps.old manually." +fi + +%post + +touch /tmp/.lilypond-install +rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install +%if info=="yes" +/usr/bin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true +%endif +mkdir -p var/adm/SuSEconfig +touch var/adm/SuSEconfig/run-texhash + + +%preun +%if info=="yes" +if [ $1 = 0 ]; then + /usr/bin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true +fi +%endif + +%postun +mkdir -p var/adm/SuSEconfig +touch var/adm/SuSEconfig/run-texhash + + + +%files +%defattr(-, root, root) +%doc CHANGES COPYING DEDICATION INSTALL.txt NEWS +%doc README.txt FAQ.txt AUTHORS.txt VERSION ROADMAP +%doc buildscripts/ +%doc scripts/ +# hairy to hook it in (possibly non-existing) emacs +%doc lilypond-mode.el +%doc lilypond-font-lock.el + +%config /etc/profile.d/* + +%ifnos cygwin +%{_prefix}/bin/abc2ly +%{_prefix}/bin/as2text +%{_prefix}/bin/convert-ly +%{_prefix}/bin/etf2ly +%{_prefix}/bin/lilypond +%{_prefix}/bin/ly2dvi +%{_prefix}/bin/midi2ly +%{_prefix}/bin/lilypond-book +%{_prefix}/bin/mup2ly +%{_prefix}/bin/musedata2ly +%{_prefix}/bin/pmx2ly +%else +%{_prefix}/bin +%endif + +%if info=="yes" +%{_prefix}/info/lilypond.info.gz +%{_prefix}/info/lilypond-internals.info.gz +%endif + +%{_prefix}/man/man1/abc2ly.1.gz +%{_prefix}/man/man1/as2text.1.gz +%{_prefix}/man/man1/convert-ly.1.gz +%{_prefix}/man/man1/etf2ly.1.gz +%{_prefix}/man/man1/lilypond.1.gz +%{_prefix}/man/man1/ly2dvi.1.gz +%{_prefix}/man/man1/midi2ly.1.gz +%{_prefix}/man/man1/lilypond-book.1.gz +%{_prefix}/man/man1/musedata2ly.1.gz +%{_prefix}/man/man1/mup2ly.1.gz +%{_prefix}/man/man1/pmx2ly.1.gz + +%{_prefix}/share/lilypond/ +%{_prefix}/share/texmf/ +%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo +# urg? +#%{_prefix}/../etc/profile.d/lilypond.* + +%files doc +# this gets too messy... +%doc mutopia/ +%doc input/ +%doc web/ +# verbatim include of input: list the directory without issuing a %dir + +%changelog -n lilypond +* Sun Apr 22 2001 - schlemme@mathe.tu-freiberg.de +- update: 1.3.149 +* Mon Apr 10 2000 - bk@suse.de +- added suse update config macro +* Thu Mar 16 2000 - kukuk@suse.de +- Use gs_serv, not gs_both (doesn't exist on all platforms) +* Wed Mar 01 2000 - uli@suse.de +- moved man pages to /usr/share +* Tue Dec 21 1999 - ke@suse.de +- add documentation (#271). +* Mon Dec 13 1999 - ke@suse.de +- update: 1.2.17. +- compiler fix (thanks to schwab@suse.de). +- #271. +* Mon Oct 25 1999 - ke@suse.de +- update: 1.2.16. +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Mon Sep 06 1999 - ro@suse.de +- update to 1.2.6 to make it compile with new guile +- various fixes and one hack to make this compile at all +* Sun Aug 22 1999 - ke@suse.de +- provide /etc/profile.d scripts. +- make lily.ps available (thanks to Ulrich Windl). +* Tue Aug 17 1999 - ke@suse.de +- update: version 1.2.1. +* Thu Nov 05 1998 - ke@suse.de +- use the TDS and provide links from /usr/share/lilypond. +- install examples via %doc. +* Wed Oct 28 1998 - ke@suse.de +- update: version 1.0.17. +* Fri Aug 07 1998 - ke@suse.de +- initial package: version 1.0.0 diff --git a/make/redhat.spec.in b/make/redhat.spec.in index 5a7a7163e3..e19c3931c0 100644 --- a/make/redhat.spec.in +++ b/make/redhat.spec.in @@ -6,21 +6,17 @@ Release: 1 License: GPL Group: Applications/Publishing Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz -# music notation software for.. ? -Summary: A program for printing sheet music. +Summary: Create and print music notation URL: http://www.cs.uu.nl/~hanwen/lilypond -# rpm: 4.0: broken for -ta builds: rpm doesn't look in tarball for xpm -# Icon: @package@-icon.xpm BuildRoot: /tmp/lilypond-install # add lots of Buildreq: flex, bison, tetex, tetex-devel, tetex-latex, texinfo # better prereqs: tetex-latex, python, (mpost?) etc. Prereq: tetex -# use keywords: music notation software + %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 lets you create music notation. It produces +beautiful sheet music from a high-level description file. %package documentation Summary: Prebuilt website containing all LilyPond documentation. @@ -46,63 +42,51 @@ The documentation of LilyPond, both in HTML and PostScript. make all -# urg -# %build documentation -# line 42: second %build # ok, now make sure that lilypond package will succeed, # even if documentation fails to build - make -C Documentation || true make web || true %install - 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%{_prefix}" install + %if info=="yes" gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true %endif - +mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d +install -m 644 lilypond-mode.el lilypond-font-lock.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/ +install -m 644 lilypond-init.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* || true - - - 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 -#line 63: second %install + # again, make sure that main package installs even if doco fails mkdir -p web/out tar -C web -xzf out/web.tar.gz || true -%ifos cygwin -# urg, this symlink doesn't come through on cygwin -# this is the way symlinks work over there, let's fake one -rm -f $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm -echo '!c:\\texmf\\fonts\\tfm\\public\\cm' > $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm -%{fix_suffixes} -%endif %post touch /tmp/.lilypond-install rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install + %if info=="yes" /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true %endif %preun + %if info=="yes" if [ $1 = 0 ]; then /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true @@ -111,11 +95,10 @@ fi %files -# hairy to hook it in (possibly non-existing) emacs -%doc lilypond-mode.el -%doc lilypond-font-lock.el -%ifnos cygwin +%{_datadir}/emacs/site-lisp/* +%{_datadir}/emacs/site-lisp/site-start.d/* + %{_prefix}/bin/abc2ly %{_prefix}/bin/as2text %{_prefix}/bin/convert-ly @@ -127,9 +110,6 @@ fi %{_prefix}/bin/mup2ly %{_prefix}/bin/musedata2ly %{_prefix}/bin/pmx2ly -%else -%{_prefix}/bin -%endif %if info=="yes" %{_prefix}/info/lilypond.info.gz @@ -150,11 +130,7 @@ fi %{_prefix}/share/lilypond/ %{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo -# urg? %{_prefix}/../etc/profile.d/lilypond.* %files documentation -# this gets too messy... -# %doc input/*.ly -# verbatim include of input: list the directory without issuing a %dir %doc web/ diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index e0a2d5d001..b6d3ee6a26 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -532,9 +532,24 @@ def compose_full_body (body, opts): l = -1.0; else: l = __main__.paperguru.get_linewidth() - - if 'relative' in opts:#ugh only when is_fragment - body = '\\relative c { %s }' % body + + for o in opts: + m= re.search ('relative(.*)', o) + v = 0 + if m: + try: + v = string.atoi (m.group (1)) + except ValueError: + pass + + v = v + 1 + pitch = 'c' + if v < 0: + pitch = pitch + '\,' * v + elif v > 0: + pitch = pitch + '\'' * v + + body = '\\relative %s { %s }' %(pitch, body) if is_fragment: body = r"""\score { diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index bc5284e2c9..3a4eb4175d 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -500,10 +500,12 @@ lily output file in TFILES after that, and return the Latex file constructed. ' orientation = extra['orientation'][0] # set sane geometry width (a4-width) for linewidth = -1. - if not extra['linewidth'] or extra['linewidth'][0] < 0: + maxlw = max (extra['linewidth'] + [-1]) + if maxlw < 0: + # who the hell is 597 ? linewidth = 597 else: - linewidth = extra['linewidth'][0] + linewidth = maxlw s = s + '\geometry{width=%spt%s,headheight=2mm,headsep=12pt,footskip=2mm,%s}\n' % (linewidth, textheight, orientation) if extra['latexoptions']: diff --git a/stepmake/stepmake/documentation-targets.make b/stepmake/stepmake/documentation-targets.make index f1ab422668..c9d4e5c5f5 100644 --- a/stepmake/stepmake/documentation-targets.make +++ b/stepmake/stepmake/documentation-targets.make @@ -1,6 +1,7 @@ default: +# UGH. include $(stepdir)/www-targets.make local-WWW: $(OUTHTML_FILES) footify diff --git a/stepmake/stepmake/topdocs-targets.make b/stepmake/stepmake/topdocs-targets.make index f820c182a4..fd64b837c6 100644 --- a/stepmake/stepmake/topdocs-targets.make +++ b/stepmake/stepmake/topdocs-targets.make @@ -6,8 +6,6 @@ copy-to-top: $(TO_TOP_FILES) cp $(i) $(depth)/ && ) true -cp $(outdir)/*png $(outdir)/index.html $(depth) # don't fail if not making website -###local-WWW: copy-to-top - local-WWW: $(HTML_FILES) copy-to-top # we want footers even if website builds (or is built) partly $(MAKE) footify diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 2daf37fca9..aaeab27d9c 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -46,7 +46,7 @@ \fi \def\interscoreline{\vskip\lilypondpaperinterscoreline pt plus % - \lilypondpaperinterscorelinefill fill\myfilbreak} + \lilypondpaperinterscorelinefill fill} \def\placebox#1#2#3{% \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}% -- 2.39.2