Commit 320c2856 authored by amnon's avatar amnon

proper PKGBUILD of traverso

parent fad4a200
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# Maintainer: Giuseppe Calà <jiveaxe@gmail.com>
#
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/
}
--- 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, &param) != 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, &param) != 0) {
m_device->message(tr("Unable to set Audiodevice Thread to realtime priority!!!"
"This most likely results in unreliable playback/capture and "
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 ()
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
}
%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 <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-7
- Explicitly disable SSE optimizations on non-"%%{ix86} ia64 x86_64" architectures
* Wed May 06 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-6
- Re-enable portaudio
* Fri May 01 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 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 <oget [DOT] fedora [AT] gmail [DOT] com> - 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 <oget [DOT] fedora [AT] gmail [DOT] com> - 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 <oget [DOT] fedora [AT] gmail [DOT] com> - 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 <oget [DOT] fedora [AT] gmail [DOT] com> - 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 <oget [DOT] fedora [AT] gmail [DOT] com> - 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 <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.0-1
- Initial build
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment