]> git.donarmstrong.com Git - lilypond.git/blobdiff - make/lilypond.mandrake.spec.in
release commit
[lilypond.git] / make / lilypond.mandrake.spec.in
index 073071203ead9dee580e2ca3606698cd8e0c072e..8dcd8bdf1e4f7f49ba001b101926c0444fbd3b80 100644 (file)
+%define info yes
+
 %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
+%define release 4mdk
+
+Summary:       A program for printing sheet music.
+Name:          %{name}
+Version:       %{version}
+Release:       %{release}
+License:       GPL
+Group:         Publishing
+URL:           http://www.lilypond.org/
+Source0:       ftp.lilypond.org:/pub/LilyPond/development/lilypond-%{version}.tar.bz2
+BuildRoot:     %{_tmppath}/%{name}-buildroot
+BuildRequires: t1utils bison texinfo t1lib1-devel libstdc++5-devel libguile12-devel >= 1.6.4
+BuildRequires: gcc-c++ glibc-devel flex >= 2.5.4a-22mdk groff netpbm autotrace
+BuildRequires:  ImageMagick >= 5.5.4.4 libMagick5.5.4-devel >= 5.5.4.4
+BuildRequires: ghostscript >= 7.05-53.2mdk mftrace >= 1.0.19 pfaedit >= 030822
+Requires:      tetex tetex-latex chkfontpath XFree86 info-install
+PreReq:                chkfontpath
 
 %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.
+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
+(.ly) files into printable output.  The package "lilypond-documentation" 
+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.
+"lilypond-documentation" package in addition to the "lilypond" package.
 
+%package -n liblilypond
+Summary: LilyPond libraries.
+License: GPL
+Group: System/Libraries
+Requires: lilypond >= %{version}
 
-%package extras
+%description -n liblilypond
+LilyPond libs
+%package documentation
 Summary: LilyPond documentation, examples and Mutopia files.
 Group: Publishing
-Requires: lilypond
+Requires: %{name}
 
-%description extras
+%description documentation
 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
+rm -rf $RPM_BUILD_ROOT
+
+%setup
 
 %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
+##./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimising --enable-shared
+## Add options if needed
+
+#Fix conflicting php variable out=/dev/vc/
+unset out
+
+./configure --disable-checking --prefix=%{_prefix} --libdir=%{_libdir} --enable-optimising
+
+%make  all
+
+# make info
+make -C Documentation
+
+# make  html
+make web
+make -C Documentation/user omf
 
 %install
 
+#Fix conflicting php variable out=/dev/vc/
+unset out
+
 # 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}
+strip lily/out/lilypond 
+%makeinstall 
+local_lilypond_libdir=$RPM_BUILD_ROOT/%{_libdir}/%{name}/%{version}
+
+%if %{info}
+  rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
+  bzip2 $RPM_BUILD_ROOT%{_infodir}/*
+%endif
+
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
+install -m 644 elisp/lilypond-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
+
+bzip2 $RPM_BUILD_ROOT%{_mandir}/man1/*
+
+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
+
+make prefix="$RPM_BUILD_ROOT%{_prefix}" webdir="$RPM_BUILD_ROOT%{_prefix}/share/doc/%{name}-documentation-%{version}/" out=www web-install
+
+# Menu
+# Every entry must be changed according package specifications
+# Pay attention to "section" "command" and "longtitle"
 
-# 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
+mkdir -p $RPM_BUILD_ROOT%{_menudir}
+cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
+?package(%name):\
+  command="info %{name}"\
+  needs="text"\
+  icon="%{name}.png"\
+  section="Documentation"\
+  title="%{name}-info"\
+  longtitle="%{name} Info"
+EOF
+  
+cat >$RPM_BUILD_ROOT%{_menudir}/%{name}-documentation <<EOF
+?package(%name):\
+  command="\$BROWSER %{_docdir}/%{name}-documentation-%{version}/index.html"\
+  needs="X11"\
+  icon="%{name}.png"\
+  section="Documentation"\
+  title="%{name}-documentation"\
+  longtitle="%{name} Documentation"
+EOF
+
+# icon
+install -d $RPM_BUILD_ROOT/%{_iconsdir}
+install -m 644 Documentation/pictures/out-www/lelie-logo.png $RPM_BUILD_ROOT/%{_iconsdir}/%{name}.png
+
+%{find_lang} %{name}
 
 %post
+%{update_menus}
+
 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
+rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print` /tmp/.lilypond-install
+
+%if %{info}
+  /sbin/install-info --quiet %{_infodir}/lilypond.info.bz2 %{_infodir}/dir 
+%endif
 
-echo 'Please logout first before using LilyPond.'
+/usr/X11R6/bin/mkfontdir %{_datadir}/lilypond/%{version}/fonts/type1/
+chkfontpath --add=%{_datadir}/lilypond/%{version}/fonts/type1/
 
+%post documentation
+%{update_menus}
+scrollkeeper-update
 
 %preun
-%_remove_install_info lilypond.info
-%_remove_install_info lilypond-internals.info
+
+%if %{info}
+  if [ $1 = 0 ]; then
+    /sbin/install-info --quiet --delete %{_infodir}/lilypond.info.bz2 %{_infodir}/dir 
+  fi
+%endif
+
+rm -f %{_datadir}/lilypond/%{version}/fonts/type1/fonts.dir
+chkfontpath --remove=%{_datadir}/lilypond/%{version}/fonts/type1/
 
 %postun
-/usr/bin/mktexlsr
+%{clean_menus}
+
+%postun documentation
+%{clean_menus}
+scrollkeeper-update
 
+%clean
+rm -rf $RPM_BUILD_ROOT
 
 %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
+%defattr(-, root, root)
+%doc COPYING README.txt INSTALL.txt DEDICATION NEWS.txt AUTHORS.txt THANKS
+
+%{_datadir}/emacs/site-lisp/site-start.d/lilypond-*
+%{_datadir}/emacs/site-lisp/lilypond*
+
+%if %{info}
+  %{_infodir}/*
+%endif
+
+%{_datadir}/%{name}/%{version}/
+%{_datadir}/locale/*/LC_MESSAGES/lilypond.mo
+%{_prefix}/../etc/profile.d/lilypond.*
+%_bindir/*
+%_mandir/*
+%_menudir/*
+%_iconsdir/%{name}.*
 
+%files -n liblilypond
+%defattr(-,root,root)
+%{_libdir}/%{name}/%{version}/python/*.so
+
+%files documentation
+%defattr(-, root, root)
+
+%{_docdir}/*
+%{_datadir}/omf/lilypond/%{version}
+%{_menudir}/%{name}-documentation
 
 %changelog
+* Thu Sep 01 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.4-4mdk
+- add target lilypond.words.
+
+* Sun Aug 25 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.8.1-3mdk
+- Fixed doc-path in menu.
+
+* Thu Aug 23 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.1-1mdk
+* Sun Aug 24 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.8.1-2mdk
+- Added Heikki Johannes Junes fix for confilcting PHP variable
+  out=/dev/vc/ by adding unset out before compiling
+- Compiled with recent guile = 1.6.4 and mftrace = 1.0.19
+- Changed icon to lilypond.png
+- Added menu and icons again
+
+* Thu Aug 07 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.0-1mdk
+- removed menu and icons, sync with redhat-spec
+
+* Thu Jun 12 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.23-1mdk
+- refreshed dependencies and file list.
+
+* Sat Feb 01 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.7.12-1mdk
+- Built for Mandrake 9.1
+
+* Fri Dec 01 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.9-1mdk
+- set menu-items to lilypond-info and lilypond-documentation.
+
+* Fri Nov 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.8-4mdk
+- add pre/post-dependencies and menus with icon from source.
+
+* Fri Oct 28 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.4-1mdk
+- info, commented menu
+
+* Fri Aug 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.6.0-1mdk
+- Adapted from lilypond.redhat.skel and skeleton found in Mandrake's RPM-docs.
+- TODO: info (?) and dependencies.
+
 * Fri Jun 01 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.4.2-1mdk
 - updated by Michael Brown <mbrown@linux-mandrake.com> :
        - Upgraded to 1.4.2