ALT Linux repos
Group :: Publishing
RPM: lilypond
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
# TODO
# - verify-elf: WARNING: ./usr/lib/lilypond/2.11.0/python/midi.so: undefined symbol: PyDict_SetItemString
# - docs
%define ver_major 2.12
%define ver_minor 1
%define _lily_dir %_datadir/%name/%version
%define _texmf %_datadir/texmf
#%%define _texmf %(kpsetool -v '$TEXMF'| %__sed -e "s/\!*//")
Name: lilypond
Version: %ver_major.%ver_minor
Release: alt1
Group: Publishing
Summary: A program for printing sheet music
Summary(ru_RU.UTF-8): Издательская система для вёрстки нотных текстов
License: GPL
Url: http://www.lilypond.org
Packager: Ilya Mashkin <oddity at altlinux.ru>
Source: ftp://ftp.%name.org/pub/LilyPond/%ver_major/%name-%version.tar.gz
# russian lirycs example (rulix)
Source1: russian-lirycs-test.ly
PreReq: ghostscript >= 8.15
BuildPreReq: mftrace >= 1.1.19
BuildPreReq: fontforge >= 20060125
BuildPreReq: guile-devel >= 1.6.7
BuildPreReq: emacs-devel emacs22
# Automatically added by buildreq on Sun Mar 15 2009
BuildRequires: flex fontforge fonts-type1-urw gcc-c++ guile18-devel libpango-devel python-devel python-modules-compiler python-modules-encodings t1utils tetex-core
%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. This package contains the utilities for converting the music
source (.ly) files into printable output.
%description -l ru_RU.UTF-8
Lilypond - это издательская система для вёрстки нотных текстов. С её помощью можно
готовить печатные материалы в формате PS/PDF. Данные для обработки
предоставляются в виде текстовых файлов.Lilypond обрабатывает музыку для фортепиано,
симфонические партитуры, музыку для хора и пр. Обработанные данные
могут быть сохранены в MIDI-файл и воспроизведены при помощи MIDI-плеера.
%package doc
Summary: LilyPond documentation, examples and Mutopia files
Group: Publishing
Requires: %name = %version-%release
%description doc
The documentation of LilyPond, both in HTML and PostScript, along with
example input files and the files from the Mutopia project. At present a
part of this documentation may be broken. See http://lilypond.org for
full.
%package -n emacs-mode-%name
Summary: Major mode for editing GNU LilyPond music scores
Group: Editors
#msp:removed tetex-xdvi to avoid explicit dependence to tetex and make possible texlive using
Requires: %name = %version-%release emacs TiMidity++ gv
%description -n emacs-mode-%name
emacs-mode-%name provides syntax coloring, inserting tags,
PS-compilation, PS-viewing and MIDI-play.
All Emacs Lisp code is byte-compiled, install emacs-mode-%name-el for sources.
%package -n emacs-mode-%name-el
Summary: The Emacs Lisp sources for bytecode included in emacs-mode-%name
Group: Development/Other
Requires: emacs-mode-%name = %version-%release
%description -n emacs-mode-%name-el
emacs-mode-%name-el contains the Emacs Lisp sources for the bytecode
included in the emacs-mode-%name package, that extends the Emacs editor.
You need to install emacs-mode-%name-el only if you intend to modify any of the
emacs-mode-%name code or see some Lisp examples.
%prep
%setup -q
subst 's|package_infodir = $(infodir)/$(package)|package_infodir = $(infodir)|' config.make.in
%build
%configure \
--with-ncsb-dir=/usr/share/fonts/type1/urw \
--enable-relocation \
--enable-documentation \
# TODO: where is it?
# --enable-gui
%make_build
#%make_build webdir=%_docdir/%name-%version web
%install
%make_install DESTDIR=%buildroot install
#%make_install web-install out=www
# Move TeX dependent files into system TeX tree locations
# 30092007: hack for tfm:
%__mkdir_p %buildroot%_lily_dir/fonts/tfm
mv mf/out/*.tfm %buildroot%_lily_dir/fonts/tfm/
for i in otf source svg tfm type1; do
%__mkdir_p %buildroot%_texmf/fonts/$i/
mv %buildroot%_lily_dir/fonts/$i %buildroot%_texmf/fonts/$i/%name
ln -s %_texmf/fonts/$i/%name %buildroot%_lily_dir/fonts/$i
done
%__mkdir_p %buildroot%_texmf/tex/%name
%__mv %buildroot%_lily_dir/tex/* %buildroot%_texmf/tex/%name/
# Create documentation tree in %_docdir
#%__mkdir_p %buildroot%_docdir/%name-%version/Printable
#%__ln_s ../Documentation/user/out-www/lilypond.ps.gz %buildroot%_docdir/%name-%version/Printable/Manual.ps.gz
#%__ln_s ../Documentation/user/out-www/music-glossary.ps.gz %buildroot%_docdir/%name-%version/Printable/Glossary.ps.gz
# install russian-lirycs-test.ly
%__install -m644 %SOURCE1 .
# Install Emacs-mode files
%__mkdir_p %buildroot/%_emacs_sitestart_dir
%__mv %buildroot%_emacslispdir/%name-init.el %buildroot%_emacs_sitestart_dir/
for i in %buildroot%_emacslispdir/%{name}*.el; do
%byte_compile_file $i
done
%find_lang %name
%post
touch /tmp/.%name-install
find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print0|
xargs -r0 %__rm -f -- /tmp/.lilypond-install
%install_info %name.info music-glossary.info
%_bindir/mktexlsr ||:
%preun
#msp: Three last items in the following line added because these entries will be left in the dir file;
%uninstall_info %name.info music-glossary.info %name-program %name-learning %name-internals
%postun
%_bindir/mktexlsr ||:
%files -f %name.lang
%_bindir/*
%_libdir/%name
%_datadir/%name
%_texmf/tex/%name
%_texmf/fonts/*/%name
%_infodir/*
%_man1dir/*
%doc *.txt COPYING DEDICATION ROADMAP THANKS
%doc russian-lirycs-test.ly
%files -n emacs-mode-%name
%config(noreplace) %_emacs_sitestart_dir/%name-init.el
%_emacslispdir/%{name}*.elc
%files -n emacs-mode-%name-el
%_emacslispdir/%{name}*.el
%files doc
#%%_docdir/%name-%version/*.html
#%%_docdir/%name-%version/input
#%%_docdir/%name-%version/Documentation
#%%_docdir/%name-%version/Printable
%_datadir/omf/*
%changelog
…
Full changelog you can see here
# - verify-elf: WARNING: ./usr/lib/lilypond/2.11.0/python/midi.so: undefined symbol: PyDict_SetItemString
# - docs
%define ver_major 2.12
%define ver_minor 1
%define _lily_dir %_datadir/%name/%version
%define _texmf %_datadir/texmf
#%%define _texmf %(kpsetool -v '$TEXMF'| %__sed -e "s/\!*//")
Name: lilypond
Version: %ver_major.%ver_minor
Release: alt1
Group: Publishing
Summary: A program for printing sheet music
Summary(ru_RU.UTF-8): Издательская система для вёрстки нотных текстов
License: GPL
Url: http://www.lilypond.org
Packager: Ilya Mashkin <oddity at altlinux.ru>
Source: ftp://ftp.%name.org/pub/LilyPond/%ver_major/%name-%version.tar.gz
# russian lirycs example (rulix)
Source1: russian-lirycs-test.ly
PreReq: ghostscript >= 8.15
BuildPreReq: mftrace >= 1.1.19
BuildPreReq: fontforge >= 20060125
BuildPreReq: guile-devel >= 1.6.7
BuildPreReq: emacs-devel emacs22
# Automatically added by buildreq on Sun Mar 15 2009
BuildRequires: flex fontforge fonts-type1-urw gcc-c++ guile18-devel libpango-devel python-devel python-modules-compiler python-modules-encodings t1utils tetex-core
%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. This package contains the utilities for converting the music
source (.ly) files into printable output.
%description -l ru_RU.UTF-8
Lilypond - это издательская система для вёрстки нотных текстов. С её помощью можно
готовить печатные материалы в формате PS/PDF. Данные для обработки
предоставляются в виде текстовых файлов.Lilypond обрабатывает музыку для фортепиано,
симфонические партитуры, музыку для хора и пр. Обработанные данные
могут быть сохранены в MIDI-файл и воспроизведены при помощи MIDI-плеера.
%package doc
Summary: LilyPond documentation, examples and Mutopia files
Group: Publishing
Requires: %name = %version-%release
%description doc
The documentation of LilyPond, both in HTML and PostScript, along with
example input files and the files from the Mutopia project. At present a
part of this documentation may be broken. See http://lilypond.org for
full.
%package -n emacs-mode-%name
Summary: Major mode for editing GNU LilyPond music scores
Group: Editors
#msp:removed tetex-xdvi to avoid explicit dependence to tetex and make possible texlive using
Requires: %name = %version-%release emacs TiMidity++ gv
%description -n emacs-mode-%name
emacs-mode-%name provides syntax coloring, inserting tags,
PS-compilation, PS-viewing and MIDI-play.
All Emacs Lisp code is byte-compiled, install emacs-mode-%name-el for sources.
%package -n emacs-mode-%name-el
Summary: The Emacs Lisp sources for bytecode included in emacs-mode-%name
Group: Development/Other
Requires: emacs-mode-%name = %version-%release
%description -n emacs-mode-%name-el
emacs-mode-%name-el contains the Emacs Lisp sources for the bytecode
included in the emacs-mode-%name package, that extends the Emacs editor.
You need to install emacs-mode-%name-el only if you intend to modify any of the
emacs-mode-%name code or see some Lisp examples.
%prep
%setup -q
subst 's|package_infodir = $(infodir)/$(package)|package_infodir = $(infodir)|' config.make.in
%build
%configure \
--with-ncsb-dir=/usr/share/fonts/type1/urw \
--enable-relocation \
--enable-documentation \
# TODO: where is it?
# --enable-gui
%make_build
#%make_build webdir=%_docdir/%name-%version web
%install
%make_install DESTDIR=%buildroot install
#%make_install web-install out=www
# Move TeX dependent files into system TeX tree locations
# 30092007: hack for tfm:
%__mkdir_p %buildroot%_lily_dir/fonts/tfm
mv mf/out/*.tfm %buildroot%_lily_dir/fonts/tfm/
for i in otf source svg tfm type1; do
%__mkdir_p %buildroot%_texmf/fonts/$i/
mv %buildroot%_lily_dir/fonts/$i %buildroot%_texmf/fonts/$i/%name
ln -s %_texmf/fonts/$i/%name %buildroot%_lily_dir/fonts/$i
done
%__mkdir_p %buildroot%_texmf/tex/%name
%__mv %buildroot%_lily_dir/tex/* %buildroot%_texmf/tex/%name/
# Create documentation tree in %_docdir
#%__mkdir_p %buildroot%_docdir/%name-%version/Printable
#%__ln_s ../Documentation/user/out-www/lilypond.ps.gz %buildroot%_docdir/%name-%version/Printable/Manual.ps.gz
#%__ln_s ../Documentation/user/out-www/music-glossary.ps.gz %buildroot%_docdir/%name-%version/Printable/Glossary.ps.gz
# install russian-lirycs-test.ly
%__install -m644 %SOURCE1 .
# Install Emacs-mode files
%__mkdir_p %buildroot/%_emacs_sitestart_dir
%__mv %buildroot%_emacslispdir/%name-init.el %buildroot%_emacs_sitestart_dir/
for i in %buildroot%_emacslispdir/%{name}*.el; do
%byte_compile_file $i
done
%find_lang %name
%post
touch /tmp/.%name-install
find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print0|
xargs -r0 %__rm -f -- /tmp/.lilypond-install
%install_info %name.info music-glossary.info
%_bindir/mktexlsr ||:
%preun
#msp: Three last items in the following line added because these entries will be left in the dir file;
%uninstall_info %name.info music-glossary.info %name-program %name-learning %name-internals
%postun
%_bindir/mktexlsr ||:
%files -f %name.lang
%_bindir/*
%_libdir/%name
%_datadir/%name
%_texmf/tex/%name
%_texmf/fonts/*/%name
%_infodir/*
%_man1dir/*
%doc *.txt COPYING DEDICATION ROADMAP THANKS
%doc russian-lirycs-test.ly
%files -n emacs-mode-%name
%config(noreplace) %_emacs_sitestart_dir/%name-init.el
%_emacslispdir/%{name}*.elc
%files -n emacs-mode-%name-el
%_emacslispdir/%{name}*.el
%files doc
#%%_docdir/%name-%version/*.html
#%%_docdir/%name-%version/input
#%%_docdir/%name-%version/Documentation
#%%_docdir/%name-%version/Printable
%_datadir/omf/*
%changelog
…
Full changelog you can see here