diff --git a/traverso/PKGBUILD b/traverso/PKGBUILD new file mode 100644 index 0000000000000000000000000000000000000000..7328c001e910c308b7ee927d115e741ffc388d94 --- /dev/null +++ b/traverso/PKGBUILD @@ -0,0 +1,37 @@ +# +# Chakra Packages for Chakra, part of chakra-project.org +# +# Maintainer: Giuseppe CalĂ  +# + +pkgname=traverso +pkgver=0.49.2 +pkgrel=1 +pkgdesc="Digital Audio Workstation with an innovative User Interface" +arch=('i686' 'x86_64') +url="http://traverso-daw.org/" +license=('GPL') +depends=('jack' 'fftw' 'wavpack' 'slv2' 'lame' 'libmad' 'qt') +makedepends=('cmake') +options=('!libtool') +source=(http://traverso-daw.org/download/releases/current/${pkgname}-${pkgver}.tar.gz) +install=(traverso.install) +md5sums=('1acc46e2fa17e9a77f069b00307478a0') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + cmake . -DCMAKE_INSTALL_PREFIX="/usr" \ + -DWANT_MP3_ENCODE=ON \ + -DUSE_SYSTEM_SLV2_LIBRARY=ON || return 1 + + make || return 1 + make DESTDIR="${pkgdir}" install || return 1 + install -dm 755 ${pkgdir}/usr/share/icons/hicolor/ + cp -a resources/freedesktop/icons/* ${pkgdir}/usr/share/icons/hicolor/ + install -m 644 -D resources/$pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop + install -dm 755 ${pkgdir}/usr/share/mime/packages/ + install -pm 644 resources/x-$pkgname.xml ${pkgdir}/usr/share/mime/packages/ + +} + diff --git a/traverso/traverso-0.49.1-7.fc10.src.rpm b/traverso/traverso-0.49.1-7.fc10.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..884ad40a598bc95c0c9f3538f063b258169d8039 Binary files /dev/null and b/traverso/traverso-0.49.1-7.fc10.src.rpm differ diff --git a/traverso/traverso-0.49.1.tar.gz b/traverso/traverso-0.49.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..41f5e2451dd82ff7ac9a38c18e72d3063723f6f3 Binary files /dev/null and b/traverso/traverso-0.49.1.tar.gz differ diff --git a/traverso/traverso-priority.patch b/traverso/traverso-priority.patch new file mode 100644 index 0000000000000000000000000000000000000000..5cb1e1d3dd63d03b78210f794c3b60aa16753f75 --- /dev/null +++ b/traverso/traverso-priority.patch @@ -0,0 +1,20 @@ +--- traverso-0.49.1.old/src/engine/AudioDeviceThread.cpp 2009-03-28 04:48:39.000000000 -0400 ++++ traverso-0.49.1/src/engine/AudioDeviceThread.cpp 2009-05-01 14:27:02.000000000 -0400 +@@ -54,7 +54,7 @@ protected: + { + #if defined (Q_WS_X11) || defined (Q_WS_MAC) + struct sched_param param; +- param.sched_priority = 90; ++ param.sched_priority = 20; + if (pthread_setschedparam (pthread_self(), SCHED_FIFO, ¶m) != 0) {} + #endif + +@@ -127,7 +127,7 @@ int AudioDeviceThread::become_realtime( + /* RTC stuff */ + if (realtime) { + struct sched_param param; +- param.sched_priority = 70; ++ param.sched_priority = 20; + if (pthread_setschedparam (pthread_self(), SCHED_FIFO, ¶m) != 0) { + m_device->message(tr("Unable to set Audiodevice Thread to realtime priority!!!" + "This most likely results in unreliable playback/capture and " diff --git a/traverso/traverso-sseopt.patch b/traverso/traverso-sseopt.patch new file mode 100644 index 0000000000000000000000000000000000000000..a7e78206e3fd8e001aae38a4810db2c14a242adb --- /dev/null +++ b/traverso/traverso-sseopt.patch @@ -0,0 +1,61 @@ +diff -rupN traverso-0.49.1.old/CMakeLists.txt traverso-0.49.1/CMakeLists.txt +--- traverso-0.49.1.old/CMakeLists.txt 2009-03-28 04:48:39.000000000 -0400 ++++ traverso-0.49.1/CMakeLists.txt 2009-04-30 13:20:49.000000000 -0400 +@@ -42,7 +42,7 @@ OPTION(WANT_THREAD_CHECK "Checks at runt + OPTION(WANT_VECLIB_OPTIMIZATIONS "Build with veclib optimizations (Only for PPC based Mac OS X)" OFF) + OPTION(AUTOPACKAGE_BUILD "Build traverso with autopackage tools" OFF) + OPTION(DETECT_HOST_CPU_FEATURES "Detect the feature set of the host cpu, and compile with an optimal set of compiler flags" ON) +- ++OPTION(WANT_SSE "Use sse instruction set. This option is only effective if DETECT_HOST_CPU_FEATURES is OFF." OFF) + + SET(MAIN_DIR_NAME "src") + IF(TAG_VERSION) +@@ -496,6 +496,28 @@ IF(UNIX) + LIST(APPEND TRAVERSO_DEFINES -DARCH_X86) + SET(IS_ARCH_X86 TRUE) + ENDIF(uname_invoke_result MATCHES i[456]86) ++ ELSE(NOT WANT_DEBUG AND DETECT_HOST_CPU_FEATURES) ++ IF(WANT_SSE) ++ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -msse -mfpmath=sse") ++ LIST(APPEND TRAVERSO_DEFINES -DSSE_OPTIMIZATIONS -DUSE_XMMINTRIN) ++ ++ execute_process( ++ COMMAND uname -m ++ OUTPUT_VARIABLE uname_invoke_result ++ RESULT_VARIABLE uname_failed ++ ) ++ ++ IF(uname_invoke_result MATCHES i[456]86) ++ LIST(APPEND TRAVERSO_DEFINES -DARCH_X86) ++ SET(IS_ARCH_X86 TRUE) ++ ENDIF(uname_invoke_result MATCHES i[456]86) ++ ++ IF(uname_invoke_result MATCHES x86_64) ++ LIST(APPEND TRAVERSO_DEFINES -DUSE_X86_64_ASM -DARCH_X86) ++ SET(IS_ARCH_X86_64 TRUE) ++ ENDIF(uname_invoke_result MATCHES x86_64) ++ SET(HOST_SUPPORTS_SSE TRUE) ++ ENDIF(WANT_SSE) + ENDIF(NOT WANT_DEBUG AND DETECT_HOST_CPU_FEATURES) + + +diff -rupN traverso-0.49.1.old/src/common/fpu.cc traverso-0.49.1/src/common/fpu.cc +--- traverso-0.49.1.old/src/common/fpu.cc 2009-03-28 04:48:39.000000000 -0400 ++++ traverso-0.49.1/src/common/fpu.cc 2009-04-30 13:19:46.000000000 -0400 +@@ -35,7 +35,7 @@ FPU::FPU () + + #ifndef ARCH_X86 + return; +-#endif ++#else + + #ifndef USE_X86_64_ASM + asm volatile ( +@@ -108,6 +108,7 @@ FPU::FPU () + free (fxbuf); + } + } ++#endif /* ARCH_X86 */ + } + + FPU::~FPU () diff --git a/traverso/traverso.install b/traverso/traverso.install new file mode 100644 index 0000000000000000000000000000000000000000..a60d358ce3df9b65bb5bdb37008586435e0daaca --- /dev/null +++ b/traverso/traverso.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/traverso/traverso.spec b/traverso/traverso.spec new file mode 100644 index 0000000000000000000000000000000000000000..7b83544d59843253802ebbc27ee277bfb9ef5bd9 --- /dev/null +++ b/traverso/traverso.spec @@ -0,0 +1,210 @@ +%ifarch %{ix86} +%global with_sse %{!?_without_sse:1}%{?_without_sse:0} +%elseifarch ia64 x86_64 +%global with_sse 1 +%endif +%ifnarch %{ix86} ia64 x86_64 +%global with_sse 0 +%endif + +Name: traverso +Version: 0.49.1 +Release: 7%{?dist} +Summary: Multitrack Audio Recording and Editing Suite +Group: Applications/Multimedia +License: GPLv2+ +URL: http://traverso-daw.org/ +# Source0 actually is http://traverso-daw.org/download.html&d=%{name}-%{version}.tar.gz +# but rpmbuild doesn't work with this kind of URL's. So +Source0: %{name}-%{version}.tar.gz +# lower the rtprio requirement to 20, for compliance with our jack +Patch0: %{name}-priority.patch +# For convenience with enabling sse optimizations +# https://savannah.nongnu.org/bugs/index.php?26376 +Patch1: %{name}-sseopt.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: alsa-lib-devel +BuildRequires: cmake +BuildRequires: desktop-file-utils +BuildRequires: fftw-devel +BuildRequires: flac-devel +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: lame-devel +BuildRequires: libmad-devel +BuildRequires: libogg-devel +BuildRequires: libsamplerate-devel +BuildRequires: libsndfile-devel +BuildRequires: libvorbis-devel +BuildRequires: portaudio-devel +# Native pulseaudio is not supported yet. +#BuildRequires: pulseaudio-libs-devel +BuildRequires: qt-devel +BuildRequires: raptor-devel +BuildRequires: redland-devel +BuildRequires: slv2-devel >= 0.6.1 +BuildRequires: wavpack-devel + +# For directory ownership: +Requires: hicolor-icon-theme +Requires: shared-mime-info + +%description +Traverso Digital Audio Workstation is a cross platform multitrack audio +recording and editing suite, with an innovative and easy to master User +Interface. It's suited for both the professional and home user, who needs a +robust and solid DAW. + +Traverso is a complete solution from recording to CD Mastering. By supplying +many common tools in one package, you don't have to learn how to use lots of +applications with different user interfaces. This considerably lowers the +learning curve, letting you get your audio processing work done faster! + +A unique approach to non-linear audio processing was developed for Traverso to +provide extremely solid and robust audio processing and editing. Adding and +removal of effects plugins, moving Audio Clips and creating new Tracks during +playback are all perfectly safe, giving you instant feedback on your work! + +%prep +%setup -q +%patch0 -p1 -b .priority +%patch1 -p1 -b .sseopt + +# Fix permission issues +chmod 644 ChangeLog TODO +for ext in h cpp; do + find . -name "*.$ext" -exec chmod 644 {} \; +done + +# We want to build these from source +rm -f resources/translations/*.qm + +# To match the freedesktop standards +sed -i -e '\|^MimeType=.*[^;]$|s|$|;|' \ + resources/%{name}.desktop + +# We use the system slv2, so just to make sure +rm -fr src/3rdparty/slv2 + +# For proper slv2 detection +sed -i 's|libslv2|slv2|g' CMakeLists.txt + + +%build +# Build the translations +pushd resources/translations + for lang in *.ts; do + lrelease-qt4 $lang + done +popd + +# Build the actual program +%{cmake} \ + -DWANT_MP3_ENCODE=ON \ + -DUSE_SYSTEM_SLV2_LIBRARY=ON \ + -DDETECT_HOST_CPU_FEATURES=OFF \ + -DWANT_PORTAUDIO=ON \ +%if %{with_sse} + -DWANT_SSE=ON \ +%endif + . + +make %{?_smp_mflags} VERBOSE=1 + +# Add Comment to the .desktop file +echo "Comment=Digital Audio Workstation" >> resources/%{name}.desktop + + +%install +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} + +# icons +install -dm 755 %{buildroot}%{_datadir}/icons/hicolor/ +cp -a resources/freedesktop/icons/* %{buildroot}%{_datadir}/icons/hicolor/ + +# desktop file +install -dm 755 %{buildroot}%{_datadir}/applications/ +desktop-file-install \ + --dir %{buildroot}%{_datadir}/applications \ + --remove-mime-type=text/plain \ + --add-mime-type=application/x-traverso \ + --remove-key=Path \ + resources/%{name}.desktop + +# mime-type file +install -dm 755 %{buildroot}%{_datadir}/mime/packages/ +install -pm 644 resources/x-%{name}.xml %{buildroot}%{_datadir}/mime/packages/ + +%clean +rm -rf %{buildroot} + +%post +update-desktop-database &> /dev/null +touch --no-create %{_datadir}/icons/hicolor &>/dev/null +update-mime-database %{_datadir}/mime &> /dev/null || : + +%postun +update-desktop-database &> /dev/null +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 || : + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING COPYRIGHT HISTORY README TODO +%doc resources/projectconversion/2_to_3.html resources/help.text +%{_bindir}/%{name} +%{_datadir}/icons/hicolor/*/*/* +%{_datadir}/applications/%{name}.desktop +%{_datadir}/mime/packages/*.xml + +%changelog +* Wed May 06 2009 Orcan Ogetbil - 0.49.1-7 +- Explicitly disable SSE optimizations on non-"%%{ix86} ia64 x86_64" architectures + +* Wed May 06 2009 Orcan Ogetbil - 0.49.1-6 +- Re-enable portaudio + +* Fri May 01 2009 Orcan Ogetbil - 0.49.1-5 +- Patch for dropping the rtprio requirement of traverso +- Drop the limits config file +- Drop the warnings patch + +* Tue Apr 28 2009 Orcan Ogetbil - 0.49.1-4 +- Drop the defaults patch +- Fix slv2 library detection +- Add traversouser group +- Install limits config file in /etc/security/limits.d/ + +* Mon Apr 27 2009 Orcan Ogetbil - 0.49.1-3 +- Remove the supplied slv2 library in %%prep +- Add versioned BR to slv2 (>= 0.6.1) +- Drop the pdf manual +- Introduce new patch to handle the sse optimizations + +* Thu Apr 16 2009 Orcan Ogetbil - 0.49.1-2 +- Change the default number of periods from 3 to 2 +- Give a more verbose output if sound doesn't work +- Add the manual + +* Sun Mar 29 2009 Orcan Ogetbil - 0.49.1-1 +- New upstream release +- Fix the year of the previous changelog entries +- Drop portaudio support. Upstream says that is unnecessary +- Drop pulseaudio support. Upstream says it is not ready yet +- Use system slv2 library instead of the shipped one + +* Mon Mar 16 2009 Orcan Ogetbil - 0.49.0-2 +- Add disttag +- Disable automatic host cpu features detection while building and manually select + the cpu related flags +- Minor adjustment in %%postun: Use "|| :" only in the last command +- Minor adjustment in the .desktop file: Add trailing ";" to MimeType + +* Sun Mar 15 2009 Orcan Ogetbil - 0.49.0-1 +- Initial build