123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- %global fontfamilyname %{name}
- %define _fontdir %{_datadir}/fonts/%{name}
- Name: mscore
- Summary: Music Composition & Notation Software
- Version: 1.3
- Release: 3%{?_dist_release}
- # rtf2html is LGPLv2+
- # paper4.png paper5.png are LGPLv3
- # the rest is GPLv2
- License: GPLv2 and LGPLv2+ and LGPLv3 and CC-BY
- Group: Applications/Multimedia
- URL: http://musescore.org/en
- # Upstream tarball contains a non-free soundfont "Gort's Minipiano"
- # And one demo file which is CC-BY-NC-SA (non-free)
- # We generate our own tarball by removing these files via:
- # wget http://download.sourceforge.net/mscore/mscore-1.3.tar.bz2
- # tar jxf mscore-1.3.tar.bz2
- # rm -f mscore-*/mscore/mscore/data/piano1.sf2
- # rm -f mscore-*/mscore/demos/prelude.mscx
- # tar jcf mscore-1.3-free.tar.bz2 mscore-1.3/
- Source0: %{name}-%{version}-free.tar.bz2
- # For mime types
- Source2: %{name}.xml
- # Use Fedora's default soundfont instead of the removed one:
- Patch0: %{name}-use-default-soundfont.patch
- # We don't build the common files (font files, wallpapers, demo song, instrument
- # list) into the binary executable to reduce its size. This is also useful to
- # inform the users about the existence of different choices for common files.
- # The font files need to be separated due to the font packaging guidelines.
- Patch1: %{name}-separate-commonfiles.patch
- # Split the large documentation into a separate package
- Patch2: %{name}-split-doc.patch
- # Fix some gcc warnings
- Patch4: %{name}-fix-gcc-warnings.patch
- # Fix DSO linking. Seems to have fixed in trunk, but misssing in the tarball
- # http://musescore.org/en/node/5817
- Patch5: %{name}-dso-linking.patch
- # Use system qtsingleapplication
- Patch6: %{name}-system-qtsingleapplication.patch
- # Fix crash on Accidentals click RHBZ#738044 From upstream trunk rev 3193
- Patch8: %{name}-fix-accidentals-crash.patch
- # Remove prelude from cmake files
- Patch9: mscore-1.3-no-prelude.patch
- ## VINE: fix build with freetype-2.5.1 and up
- Patch100: mscore-1.3-fix-build-with-freetype251.patch
- ## VINE: use alsa on default
- Patch101: mscore-1.3-vine-alsa.patch
- BuildRequires: freetype2-devel
- BuildRequires: alsa-lib-devel
- BuildRequires: cmake
- BuildRequires: desktop-file-utils
- BuildRequires: jack-audio-connection-kit-devel
- BuildRequires: libsndfile-devel
- BuildRequires: portaudio-devel
- BuildRequires: qt4-devel
- BuildRequires: qtsingleapplication-devel
- BuildRequires: qt4-devel
- BuildRequires: perl(Pod::Usage)
- Requires: %{name}-fonts = %{version}-%{release}
- Requires: soundfont2-default
- # For scripting
- Requires: qtscriptbindings
- # Doxygen documentation is huge and it is for musescore development only.
- # Hence we don't build it for now. Otherwise it needs:
- # BuildRequires: graphviz doxygen texlive-latex texlive-dvips
- Provides: musescore = %{name}-%{version}-%{release}
- %description
- MuseScore is a free cross platform WYSIWYG music notation program. Some
- highlights:
- * WYSIWYG, notes are entered on a "virtual note sheet"
- * Unlimited number of staves
- * Up to four voices per staff
- * Easy and fast note entry with mouse, keyboard or MIDI
- * Integrated sequencer and FluidSynth software synthesizer
- * Import and export of MusicXML and Standard MIDI Files (SMF)
- * Translated in 26 languages
- %package doc
- Summary: MuseScore documentation
- Group: Documentation
- License: CC-BY
- Requires: %{name} = %{version}-%{release}
- BuildArch: noarch
- %description doc
- MuseScore is a free cross platform WYSIWYG music notation program.
- This package contains the user manual of MuseScore in different languages.
- %package fonts
- Summary: MuseScore fonts
- Group: User Interface/X
- License: GPL+ with exceptions and OFL
- BuildArch: noarch
- BuildRequires: fontforge
- BuildRequires: t1utils
- BuildRequires: texlive
- BuildRequires: texlive-common
- BuildRequires: texlive-collection-fontutils
- BuildRequires: texlive-collection-fontsextra
- BuildRequires: texlive-collection-metapost
- %description fonts
- MuseScore is a free cross platform WYSIWYG music notation program.
- This package contains the musical notation fonts for use of MuseScore.
- %prep
- %setup -q
- %patch0 -p1 -b .default.soundfont
- %patch1 -p1 -b .separatecommon
- %patch2 -p1 -b .splitdoc
- %patch4 -p1 -b .warnings
- %patch5 -p1 -b .dso
- %patch6 -p1 -b .qtsingleapp
- %patch8 -p1 -b .accidentals
- %patch9 -p1 -b .noprelude
- ## VINE
- %if %{?_dist_release} >= "vl7"
- %patch100 -p1 -b .fixbuild
- %endif
- %patch101 -p1 -b .vine-alsa
- # Remove the precompiled binary
- rm mscore/rtf2html/rtf2html
- # Force Fedora specific flags:
- find . -name CMakeLists.txt -exec sed -i -e 's|-m32|%{optflags}|' -e 's|-O3|%{optflags}|' {} \;
- # Do not build the bundled qt scripting interface:
- sed -i 's|BUILD_SCRIPTGEN TRUE|BUILD_SCRIPTGEN FALSE|' %{name}/CMakeLists.txt
- # Fix EOL encoding
- sed 's|\r||' %{name}/rtf2html/README > tmpfile
- touch -r %{name}/rtf2html/README tmpfile
- mv -f tmpfile %{name}/rtf2html/README
- # Remove preshipped fonts. We will build them from source
- rm -f %{name}/%{name}/fonts/*.ttf
- # Change font name according to our conventions
- sed -i 's|MuseJazz.ttf|%{fontfamilyname}-MuseJazz.ttf|' %{name}/%{name}/fonts/gen-jazz.pe
- # Disable rpath
- sed -i '/rpath/d' %{name}/%{name}/CMakeLists.txt
- # We don't use this 3rd party lib but remove anyways
- rm -fr mscore/singleapp/ mscore/scriptgen/
- %build
- # Build the actual program
- mkdir build
- pushd build
- export PATH=${PATH}:%{_libdir}/qt4/bin
- export CMAKE_INCLUDE_PATH=%{_qt4_headerdir}
- export CMAKE_LIBRARY_PATH=%{_qt4_libdir}
- %cmake -DCMAKE_BUILD_TYPE=RELEASE \
- -DCMAKE_CXX_FLAGS="%{optflags}" \
- -DUSE_SYSTEM_QTSINGLEAPPLICATION=1 \
- ../mscore
- make lupdate %{?_smp_flags}
- make lrelease %{?_smp_flags}
- make %{?_smp_flags} VERBOSE=1
- popd
- # Build fonts from source:
- pushd %{name}/%{name}/fonts
- ./genFont
- fontforge gen-jazz.pe
- popd
- %install
- %{__rm} -rf %{buildroot}
- make install DESTDIR=%{buildroot}
- # Install fonts
- mkdir -p %{buildroot}/%{_fontdir}
- install -pm 644 %{name}/%{name}/fonts/%{fontfamilyname}*.ttf %{buildroot}/%{_fontdir}
- # Mime type
- mkdir -p %{buildroot}/%{_datadir}/mime/packages
- install -pm 644 %{SOURCE2} %{buildroot}/%{_datadir}/mime/packages/
- # Desktop file
- desktop-file-install \
- --dir=%{buildroot}/%{_datadir}/applications \
- --add-category="X-Notation" \
- --remove-category="Sequencer" \
- --remove-category="AudioVideoEditing" \
- --add-mime-type="audio/midi" \
- --add-mime-type="text/x-lilypond" \
- --add-mime-type="application/xml" \
- %{buildroot}/%{_datadir}/applications/%{name}.desktop
- # Move images to the freedesktop location
- mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/{32x32,64x64}/apps/
- mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/{32x32,64x64}/mimetypes/
- cp -a %{buildroot}/%{_datadir}/pixmaps/%{name}.xpm \
- %{buildroot}/%{_datadir}/icons/hicolor/32x32/mimetypes/application-x-musescore.xpm
- mv %{buildroot}/%{_datadir}/pixmaps/%{name}.xpm \
- %{buildroot}/%{_datadir}/icons/hicolor/32x32/apps/
- cp -a %{buildroot}/%{_datadir}/pixmaps/%{name}.png \
- %{buildroot}/%{_datadir}/icons/hicolor/64x64/mimetypes/application-x-musescore.png
- mv %{buildroot}/%{_datadir}/pixmaps/%{name}.png \
- %{buildroot}/%{_datadir}/icons/hicolor/64x64/apps/
- # Manpage
- mkdir -p %{buildroot}/%{_mandir}/man1
- install -pm 644 %{name}/packaging/%{name}.1 %{buildroot}/%{_mandir}/man1/
- # Openoffice templates
- cp -a %{name}/utils/OOoMuseScore/ %{buildroot}/%{_datadir}/%{name}-%{version}
- # There are many doc files spread around the tarball. Let's collect them
- pushd %{name}
- mv rtf2html/ChangeLog ChangeLog.rtf2html
- mv rtf2html/COPYING.LESSER COPYING.LESSER.rtf2html
- mv rtf2html/README README.rtf2html
- mv rtf2html/README.mscore README.mscore.rtf2html
- mv rtf2html/README.ru README.ru.rtf2html
- mv osdabzip/README README.osdabzip
- mv osdabzip/README.mscore README.mscore.osdabzip
- mv share/wallpaper/COPYRIGHT COPYING.wallpaper
- popd
- %check
- # iotest seems outdated. Skipping.
- # rendertest needs the X server. Skipping.
- %clean
- %{__rm} -rf %{buildroot}
- %post
- touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
- update-mime-database %{_datadir}/mime &> /dev/null || :
- update-desktop-database &> /dev/null || :
- %postun
- if [ $1 -eq 0 ] ; then
- touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
- fi
- update-mime-database %{_datadir}/mime &> /dev/null || :
- update-desktop-database &> /dev/null || :
- %posttrans
- gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
- %files
- %defattr(-,root,root,-)
- %doc mscore/{ChangeLog*,COPYING*,NEWS,README*}
- %{_bindir}/%{name}
- %{_datadir}/%{name}-%{version}/
- %exclude %{_datadir}/%{name}-%{version}/man/
- %{_datadir}/icons/hicolor/*/*/*
- %{_datadir}/applications/%{name}.desktop
- %{_datadir}/mime/packages/%{name}.xml
- %{_datadir}/soundfonts/TimGM6mb.sf2
- %{_mandir}/man1/*
- %{_qt4_plugindir}/designer/libawlplugin.so
- %files doc
- %defattr(-,root,root,-)
- %doc %{_datadir}/%{name}-%{version}/man/
- %files fonts
- %defattr(-,root,root,-)
- %{_datadir}/fonts/%{name}/%{fontfamilyname}*.ttf
- %changelog
- * Fri Sep 02 2016 Toshiaki Ara <ara_t@384.jp> - 1.3-3
- - rebuild with gcc-5.4.0
- * Thu Jan 9 2014 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.3-2
- - initial build for Vine Linux
- - add Patch100 to fix build failure with freetype2 > 2.5
- * Fri Apr 12 2013 Tom Callaway <spot@fedoraproject.org> - 1.3-2
- - perl(Pod::Usage) needed for font generation
- * Fri Apr 12 2013 Tom Callaway <spot@fedoraproject.org> - 1.3-1
- - update to 1.3
- - remove mscore/demos/prelude.mscx from source tarball (it is non-free, see bz951379)
- * Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-3
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
- * Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
- * Tue Mar 13 2012 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 1.2-1
- - Update to 1.2.
- * Sat Mar 03 2012 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 1.1-4
- - Fix accidontals crash RHBZ#738044
- * Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-3
- - Rebuilt for c++ ABI breakage
- * Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
- * Thu Jul 28 2011 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 1.1-1
- - Update to 1.1.
- * Tue Feb 08 2011 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 1.0-1
- - Update to 1.0.
- * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.6.3-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
- * Sun Sep 26 2010 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 0.9.6.3-1
- - Update to 0.9.6.3
- * Thu Aug 19 2010 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 0.9.6.2-1
- - Update to 0.9.6.2
- * Tue Jul 20 2010 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 0.9.6.1-1
- - Update to 0.9.6.1
- * Mon Jun 14 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.6-1
- - Update to 0.9.6
- - Split documentation into its own package
- - Move some gcc warning fixes into a patch
- * Tue Dec 22 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.5-3
- - Fix build flags on F-11
- * Tue Dec 22 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.5-2
- - Add default soundfont support for exported audio files
- - Rebuild against new libsndfile for additional functionality
- - Drop F-10 related bits from specfile
- - Make fonts subpackage noarch
- - Fix build failure on arm architecture
- * Fri Aug 21 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.5-1
- - Update to 0.9.5
- * Wed Aug 05 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.4-6
- - Update the .desktop file
- * Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.4-5
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
- * Thu Jun 11 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.4-4
- - Font package cleanup for F-12 (RHBZ#493463)
- - One specfile for all releases
- * Mon Mar 23 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.4-3.fc10.1
- - Add BR: tetex-font-cm-lgc for Fedora < 11
- * Mon Mar 23 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.4-3
- - Add Provides: musescore = %%{name}-%%{version}
- - Replace "fluid-soundfont" requirement with "soundfont2-default"
- * Fri Mar 06 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.4-2
- - Add extra BR:tex-cm-lgc for F-11+. This is necessary to build the fonts from source
- - Update icon scriptlets according to the new guidelines
- * Sat Feb 21 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 0.9.4-1
- - Initial Fedora build
|