#%%global svnver 551 %if 0%{?fedora} > 13 %global commons_logging_pkg apache-commons-logging %else %global commons_logging_pkg jakarta-commons-logging %endif Name: frinika Version: 0.6.0 Release: 3%{?dist} Summary: Music Workstation Group: Applications/Multimedia License: GPLv2+ URL: http://frinika.appspot.com/ # We drop nonfree bits from the tarball we create: # wget http://downloads.sourceforge.net/project/frinika/frinika/frinika-0.6.0/frinika-src-0.6.0-2009-10-22.zip # unzip frinika-src-0.6.0-2009-10-22.zip # rm frinika/lib/MRJAdapter* # tar Jcf frinika-0.6.0-FEDORA.tar.xz frinika Source0: frinika-0.6.0-FEDORA.tar.xz # The following source files are our creation: # The startup script Source1: %{name}.sh # Desktop file Source2: %{name}.desktop # Script to fetch the sources. Example usage: # $ ./frinika-snapshot.sh 551 # to get SVN revision 551, or # $ ./frinika-snapshot.sh latest Source9: %{name}-snapshot.sh # The following patches are all Fedora-specific and hence not submitted upstream: # Remove mrj references from source. mrj is nonfree Patch0: %{name}-no-mrj.patch # Modify build.xml to use system libraries instead of bundled ones. Patch1: %{name}-build.xml.patch # Use Fedora's own soundfont Patch2: %{name}-default-soundfont.patch # Fix for compilation against Fedora's SevenZip Patch3: %{name}-sevenzip.patch # Can't build the automatic version check feature # Needs lmappletserver_core which is not available in Fedora. Patch4: %{name}-no-version-check.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: ant BuildRequires: desktop-file-utils BuildRequires: java-devel >= 1.7 BuildRequires: jpackage-utils Requires: java >= 1.7 Requires: jpackage-utils BuildRequires: flexdock Requires: flexdock BuildRequires: %{commons_logging_pkg} Requires: %{commons_logging_pkg} BuildRequires: jgoodies-looks Requires: jgoodies-looks BuildRequires: jjack Requires: jjack BuildRequires: jmod Requires: jmod BuildRequires: jVorbisEnc Requires: jVorbisEnc BuildRequires: RasmusDSP Requires: RasmusDSP Buildrequires: rhino Requires: rhino BuildRequires: SevenZip Requires: SevenZip BuildRequires: skinlf Requires: skinlf BuildRequires: toot2 >= 3-0.6.227svn Requires: toot2 >= 3-0.6.227svn BuildRequires: tootaudioservers >= 3-0.3.80svn Requires: tootaudioservers >= 3-0.3.80svn BuildRequires: tritonus-shared Requires: tritonus-shared # Fluid is not the default soundfont in Fedora < 11 %if 0%{?fedora} < 11 Requires: PersonalCopy-Lite-soundfont %else Requires: soundfont2-default %endif %package javadoc Summary: Javadocs for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} Requires: jpackage-utils %description javadoc This package contains the API documentation for %{name}. %description Frinika is a complete music workstation software containing sequencer, midi support, soft synthesizers, audio recorder, piano roll/tracker/notation editing and more. The goal of Frinika is to be a complete platform for making music with your computer, using the versatile Java platform to be able to run on several operating systems, and being open source to be able to embrace the best open source technology being available at any time. %prep %setup -q -n %{name} %patch0 -p1 -b .nomrj %patch1 -p1 -b .properlibs %patch2 -p1 -b .defaultsf2 %patch3 -p1 -b .sevenzip %patch4 -p1 -b .novercheck # Remove precompiled binaries for ext in jar so exe; do find . -name "*.$ext" -exec rm -f '{}' \; done # Remove the bundled copy of SevenZip rm -fr src/SevenZip/ # Fix permissions find . -name "*.java" -exec chmod -x '{}' \; # Fluid is not the default soundfont in Fedora < 11 %if 0%{?fedora} < 11 sed -i 's|default\.sf2|PCLite.sf2|' \ src/com/frinika/global/FrinikaConfig.java \ src/com/frinika/global/ConfigDialogPanel.java %endif %build # %%{_libdir} does not expand as expected on a ppc64 builder ln -sf %{_prefix}/lib*/flexdock/flexdock.jar lib/ ln -sf %{_prefix}/lib*/jjack/jjack.jar lib/ ln -sf %{_prefix}/lib*/RasmusDSP/RasmusDSP.jar lib/ ln -sf %{_prefix}/lib*/tootaudioservers/tootaudioservers.jar lib/ ln -sf %{_prefix}/lib*/tritonus/tritonus_share.jar lib/ build-jar-repository -s -p lib toot2 jmod jVorbisEnc jgoodies-looks %{commons_logging_pkg} skinlf SevenZip js ant jar javadocs %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_javadir} install -pm 644 %{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name} cp -a doc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name} mkdir -p $RPM_BUILD_ROOT%{_bindir} install -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name} mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps install -pm 644 logos/%{name}.svg \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps desktop-file-install \ --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ %{SOURCE2} %post touch --no-create %{_datadir}/icons/hicolor &>/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 %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc BUGS.txt CHANGELOG* COPYING DEVELOPERSTATUS.txt help.txt %doc README.txt ROADMAP_SHORTTERM.txt TODO.txt %doc src/com/frinika/codeexamples/ %{_bindir}/%{name} %{_javadir}/%{name}*.jar %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %files javadoc %defattr(-,root,root,-) %{_javadocdir}/%{name}/ %changelog * Mon May 31 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.6.0-3 - sigh... forgot to update the starting script * Mon May 31 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.6.0-2 - Use apache-commons-logging instead of jakarta-commons-logging on Fedora > 13 - Add js.jar to classpath * Tue Nov 17 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.6.0-1 - Update to 0.6.0. * Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-8.551svn - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Mon Jul 06 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.5.1-7.551svn - Workaround the ppc64 builder failure - Correct wrapper script for all 64bit archs in Fedora * Thu Jul 02 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.5.1-6.551svn - Update to svn revision 551 - Optimize the fetch script and comment in the SPEC file about its usage * Wed Jul 01 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.5.1-5.550svn - Update to svn revision 550 * Tue Jun 30 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.5.1-4.548svn - Update to svn revision 548 - License is GPLv2+ - Add BR: ant - Add more comments on sources & patches - Make the snapshot script nicer (thanks to Pavel Alexeev) - Remove flexdock versioned symlink workaround - Remove some unneeded sources * Sun Jun 07 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.5.1-3.521svn - Update to svn revision 521 - Remove the bundled copy of SevenZip. Require Fedora's SevenZip instead. * Sun Apr 26 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.5.1-2.510svn - Update to svn revision 510 - Add tritonus_share.jar to the classpath - Fix default soundfont issue - Don't build the AOT bits, since the package requires java > 1.5 * Wed Mar 25 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.5.1-1.503svn - Initial build