[zynaddsubfx] 2.4.2
Orcan Ogetbil
oget at fedoraproject.org
Fri Mar 9 05:31:03 UTC 2012
commit 3e6c4836248c183997387cd048e78bdc25cb1cb7
Author: Orcan Ogetbil <oget.fedora at gmail.com>
Date: Fri Mar 9 00:30:57 2012 -0500
2.4.2
.gitignore | 2 +
sources | 3 +-
zynaddsubfx-0f236881.patch | 51 ------------
zynaddsubfx-buildflags.patch | 108 ++++++++++++++++++++++++
zynaddsubfx-fltk-config-broken-2.patch | 53 ------------
zynaddsubfx-fltk-config-broken.patch | 11 ---
zynaddsubfx-gcc47.patch | 11 +++
zynaddsubfx-jack-support.patch | 15 ----
zynaddsubfx-linking.patch | 32 -------
zynaddsubfx.spec | 140 ++++++++++++--------------------
10 files changed, 174 insertions(+), 252 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index f3b0052..81a187c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
ZynAddSubFX-2.4.1.tar.bz2
+/ZynAddSubFX-2.4.2.tar.bz2
+/zynaddsubfx.pdf
diff --git a/sources b/sources
index 81cdd8f..3462e01 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
-59eb69ce24d6f8c605f8ba43958d0526 ZynAddSubFX-2.4.1.tar.bz2
+3a0259ee431ae8be4a586a37c9dd9c1c zynaddsubfx.pdf
+4e1f15fd872f5cc649fc2217676e248e ZynAddSubFX-2.4.2.tar.bz2
diff --git a/zynaddsubfx-buildflags.patch b/zynaddsubfx-buildflags.patch
new file mode 100644
index 0000000..79a3e32
--- /dev/null
+++ b/zynaddsubfx-buildflags.patch
@@ -0,0 +1,108 @@
+diff -rupN ZynAddSubFX-2.4.2.old/ExternalPrograms/Controller/Makefile ZynAddSubFX-2.4.2/ExternalPrograms/Controller/Makefile
+--- ZynAddSubFX-2.4.2.old/ExternalPrograms/Controller/Makefile 2012-02-26 13:37:11.000000000 -0500
++++ ZynAddSubFX-2.4.2/ExternalPrograms/Controller/Makefile 2012-03-08 21:32:16.843988193 -0500
+@@ -1,17 +1,17 @@
+ controller: main.o Controller.o ControllerUI.o
+- gcc -o controller *.o `fltk-config --ldflags` -lasound -lpthread -lm -lstdc++
++ gcc $(CFLAGS) -o controller *.o `fltk-config --ldflags` -lasound -lpthread -lm -lstdc++
+
+ ControllerUI.cxx ControllerUI.h: ControllerUI.fl
+ fluid -c ControllerUI.fl
+
+ ControllerUI.o: ControllerUI.cxx ControllerUI.h
+- gcc `fltk-config --cflags` -c ControllerUI.cxx -o ControllerUI.o
++ gcc $(CFLAGS) `fltk-config --cflags` -c ControllerUI.cxx -o ControllerUI.o
+
+ Controller.o: Controller.C Controller.h
+- gcc `fltk-config --cflags` -c Controller.C -o Controller.o
++ gcc $(CFLAGS) `fltk-config --cflags` -c Controller.C -o Controller.o
+
+ main.o: main.C Controller.h ControllerUI.h
+- gcc `fltk-config --cflags` -c main.C -o main.o
++ gcc $(CFLAGS) `fltk-config --cflags` -c main.C -o main.o
+
+ clean:
+ rm -f *.o controller ControllerUI.cxx ControllerUI.h
+diff -rupN ZynAddSubFX-2.4.2.old/ExternalPrograms/Spliter/Makefile ZynAddSubFX-2.4.2/ExternalPrograms/Spliter/Makefile
+--- ZynAddSubFX-2.4.2.old/ExternalPrograms/Spliter/Makefile 2012-02-26 13:37:11.000000000 -0500
++++ ZynAddSubFX-2.4.2/ExternalPrograms/Spliter/Makefile 2012-03-08 21:33:39.109571039 -0500
+@@ -1,17 +1,17 @@
+ spliter: main.o Spliter.o SpliterUI.o
+- gcc -o spliter *.o `fltk-config --ldflags` -lasound -lstdc++
++ gcc $(CFLAGS) -o spliter *.o `fltk-config --ldflags` -lasound -lstdc++ -lpthread
+
+ SplitterUI.cxx SpliterUI.h: SpliterUI.fl
+ fluid -c SpliterUI.fl
+
+ SpliterUI.o: SplitterUI.cxx SpliterUI.h
+- gcc -g `fltk-config --cflags` -c SpliterUI.cxx -o SpliterUI.o
++ gcc $(CFLAGS) -g `fltk-config --cflags` -c SpliterUI.cxx -o SpliterUI.o
+
+ Spliter.o: Spliter.C Spliter.h
+- gcc -g `fltk-config --cflags` -c Spliter.C -o Spliter.o
++ gcc $(CFLAGS) -g `fltk-config --cflags` -c Spliter.C -o Spliter.o
+
+ main.o: main.C Spliter.h SpliterUI.h
+- gcc -g `fltk-config --cflags` -c main.C -o main.o
++ gcc $(CFLAGS) -g `fltk-config --cflags` -c main.C -o main.o
+
+ clean:
+ rm -f *.o spliter SpliterUI.cxx SpliterUI.h
+diff -rupN ZynAddSubFX-2.4.2.old/src/CMakeLists.txt ZynAddSubFX-2.4.2/src/CMakeLists.txt
+--- ZynAddSubFX-2.4.2.old/src/CMakeLists.txt 2012-02-26 13:37:11.000000000 -0500
++++ ZynAddSubFX-2.4.2/src/CMakeLists.txt 2012-03-08 21:23:26.111658165 -0500
+@@ -70,9 +70,14 @@ endif(NOT PKG_CONFIG_FOUND)
+ option (BuildForAMD_X86_64 "Build for AMD x86_64 system" OFF)
+ option (BuildForCore2_X86_64 "Build for Intel Core2 x86_64 system" OFF)
+ option (BuildForDebug "Include gdb debugging support" OFF)
++option (X86Build "Build for X86 family" OFF)
+
+ set(CMAKE_BUILD_TYPE "Release")
+
++if (X86Build)
++ set (AsmOption "-DASM_F2I_YES")
++endif ()
++
+ set (BuildOptions_x86_64AMD
+ "-O3 -march=athlon64 -m64 -Wall -ffast-math -fno-finite-math-only -fomit-frame-pointer"
+ CACHE STRING "X86_64 compiler options"
+@@ -84,7 +89,7 @@ set (BuildOptions_X86_64Core2
+ )
+
+ set (BuildOptionsBasic
+- "-O3 -msse -msse2 -mfpmath=sse -ffast-math -fomit-frame-pointer"
++ "-ffast-math -fno-finite-math-only -fomit-frame-pointer ${AsmOption}"
+ CACHE STRING "basic X86 complier options"
+ )
+
+@@ -133,26 +138,19 @@ endif()
+ # other include directories
+ include_directories(${ZLIB_INCLUDE_DIRS} ${MXML_INCLUDE_DIRS})
+
+-add_definitions(
+- -DASM_F2I_YES
+- -g #TODO #todo put in a better location
+- -Wall
+- -Wextra
+- )
+-
+ if (BuildForDebug)
+ set (CMAKE_BUILD_TYPE "Debug")
+- set (CMAKE_CXX_FLAGS_DEBUG ${BuildOptionsDebug})
++ set (CMAKE_CXX_FLAGS_DEBUG "${BuildOptionsDebug} ${CMAKE_CXX_FLAGS}")
+ message (STATUS "Building for ${CMAKE_BUILD_TYPE}, flags: ${CMAKE_CXX_FLAGS_DEBUG}")
+ else (BuildForDebug)
+ set (CMAKE_BUILD_TYPE "Release")
+ if (BuildForAMD_X86_64)
+- set (CMAKE_CXX_FLAGS_RELEASE ${BuildOptions_x86_64AMD})
++ set (CMAKE_CXX_FLAGS_RELEASE "${BuildOptions_x86_64AMD} ${CMAKE_CXX_FLAGS}")
+ else (BuildForAMD_X86_64)
+ if (BuildForCore2_X86_64)
+- set (CMAKE_CXX_FLAGS_RELEASE ${BuildOptions_X86_64Core2})
++ set (CMAKE_CXX_FLAGS_RELEASE "${BuildOptions_X86_64Core2} ${CMAKE_CXX_FLAGS}")
+ else (BuildForCore2_X86_64)
+- set (CMAKE_CXX_FLAGS_RELEASE ${BuildOptionsBasic})
++ set (CMAKE_CXX_FLAGS_RELEASE "${BuildOptionsBasic} ${CMAKE_CXX_FLAGS}")
+ endif (BuildForCore2_X86_64)
+ endif (BuildForAMD_X86_64)
+ message (STATUS "Building for ${CMAKE_BUILD_TYPE}, flags: ${CMAKE_CXX_FLAGS_RELEASE}")
diff --git a/zynaddsubfx-gcc47.patch b/zynaddsubfx-gcc47.patch
new file mode 100644
index 0000000..fd13516
--- /dev/null
+++ b/zynaddsubfx-gcc47.patch
@@ -0,0 +1,11 @@
+diff -rupN ZynAddSubFX-2.4.2.old/src/Nio/NulEngine.cpp ZynAddSubFX-2.4.2/src/Nio/NulEngine.cpp
+--- ZynAddSubFX-2.4.2.old/src/Nio/NulEngine.cpp 2012-02-26 13:37:11.000000000 -0500
++++ ZynAddSubFX-2.4.2/src/Nio/NulEngine.cpp 2012-03-08 20:23:18.973778237 -0500
+@@ -24,6 +24,7 @@
+ #include "../globals.h"
+
+ #include <iostream>
++#include <unistd.h>
+
+ using namespace std;
+
diff --git a/zynaddsubfx.spec b/zynaddsubfx.spec
index ee3a073..e4d7a28 100644
--- a/zynaddsubfx.spec
+++ b/zynaddsubfx.spec
@@ -1,28 +1,23 @@
Summary: Real-time software synthesizer
Name: zynaddsubfx
-Version: 2.4.1
-Release: 5%{?dist}
+Version: 2.4.2
+Release: 1%{?dist}
# Source is a collective work, distributed by
License: GPLv2 and GPLv2+
Group: Applications/Multimedia
URL: http://zynaddsubfx.sourceforge.net
Source0: http://download.sf.net/sourceforge/zynaddsubfx/ZynAddSubFX-%{version}.tar.bz2
Source1: zynaddsubfx.desktop
-Patch0: zynaddsubfx-jack-support.patch
-Patch1: zynaddsubfx-fltk-config-broken.patch
-Patch2: zynaddsubfx-fltk-config-broken-2.patch
-# Build fix against fltk >= 1.3.0. From upstream trunk
-# http://sourceforge.net/tracker/?func=detail&aid=3175784&group_id=62934&atid=502312
-Patch3: zynaddsubfx-0f236881.patch
-Patch6: zynaddsubfx-linking.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Requires: fltk >= 1.1.3
-Requires: mxml >= 2.2
+# We cannot build this from source since Fedora's texlive is too old
+Source2: zynaddsubfx.pdf
+Patch0: zynaddsubfx-gcc47.patch
+Patch1: zynaddsubfx-buildflags.patch
+
Requires: hicolor-icon-theme
Requires: %{name}-common = %{version}-%{release}
BuildRequires: alsa-lib-devel
+BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: dssi-devel
BuildRequires: fftw3-devel
@@ -31,9 +26,8 @@ BuildRequires: fltk-fluid
BuildRequires: ImageMagick
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: lash-devel
-BuildRequires: libXext-devel
-BuildRequires: libX11-devel
BuildRequires: mxml-devel
+BuildRequires: portaudio-devel
BuildRequires: zlib-devel
@@ -75,12 +69,9 @@ This package includes the DSSI implementation of the synthesizer.
%prep
%setup -q -n ZynAddSubFX-%{version}
-%patch0 -p1 -b .jack
-%patch1 -p0 -b .fltk1
-%patch2 -p1 -b .fltk2
-%patch3 -p1 -b .fltk3
-%patch6 -p1 -b .linking
-
+%patch0 -p1 -b .gcc47
+%patch1 -p1 -b .flags
+cp -a %SOURCE2 .
# Fix encoding
for i in AUTHORS.txt ChangeLog; do
@@ -90,80 +81,52 @@ for i in AUTHORS.txt ChangeLog; do
done
-# Fix flags
-sed -i -e "s|-ggdb|$RPM_OPT_FLAGS|" src/Makefile
-
-%ifarch %{ix86} x86_64
-# We're ok.
-%else
-sed -i -e "s|ASM_F2I=YES|ASM_F2I=NO|g" src/Makefile.inc
-%endif
-
-# To build the DSSI plugin
-sed -i -e "s|LINUX_DSSI=NO|LINUX_DSSI=YES|" src/Makefile.inc
%build
+mkdir -p %{_target_platform}
+pushd %{_target_platform}
+ %cmake \
+ -DDefaultOutput=jack \
+%ifarch %{ix86} x86_64
+ -DX86Build=ON \
+%endif
+ ..
+popd
-cd src
-# do not use smp flags, makefile is not smp safe
-# first build the dssi plugin
-make
-mv zynaddsubfx.so ../
-make clean
-# next build the rest
-sed -i -e "s|LINUX_DSSI=YES|LINUX_DSSI=NO|" Makefile.inc
-make
+make %{?_smp_mflags} -C %{_target_platform}
# build external programs
-cd ../ExternalPrograms
-cd Controller
-make
-cd ../Spliter
-make
+make %{?_smp_mflags} -C ExternalPrograms/Controller
+make %{?_smp_mflags} -C ExternalPrograms/Spliter
+
%install
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT%{_bindir}
-mkdir -p $RPM_BUILD_ROOT%{_libdir}/dssi
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
-
-tar cf - examples banks presets | \
-(cd $RPM_BUILD_ROOT%{_datadir}/%{name}; tar xvpf -)
-cd src
-install -m 0755 zynaddsubfx $RPM_BUILD_ROOT%{_bindir}
-cd ..
-install -m 0755 zynaddsubfx.so $RPM_BUILD_ROOT%{_libdir}/dssi/
+make install DESTDIR=%{buildroot} -C %{_target_platform}
+
+mkdir -p %{buildroot}%{_datadir}/%{name}
+
+tar cf - examples banks | \
+(cd %{buildroot}%{_datadir}/%{name}; tar xvpf -)
# install external programs
-cd ExternalPrograms
-cd Controller
-install -m 0755 zynaddsubfx-controller $RPM_BUILD_ROOT%{_bindir}/
-cd ../Spliter
-install -m 0755 zynaddsubfx-spliter $RPM_BUILD_ROOT%{_bindir}/
-cd ../..
+pushd ExternalPrograms
+ install -m 0755 Controller/controller %{buildroot}%{_bindir}/zynaddsubfx-controller
+ install -m 0755 Spliter/spliter %{buildroot}%{_bindir}/zynaddsubfx-spliter
+popd
# .desktop file
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
+mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install --vendor fedora \
- --dir=$RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE1}
-
-
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps
-convert -resize 16x16 zynaddsubfx_icon.ico zynaddsubfx-16.png
-convert -resize 32x32 zynaddsubfx_icon.ico zynaddsubfx-32.png
-convert -resize 48x48 zynaddsubfx_icon.ico zynaddsubfx-48.png
-convert -resize 64x64 zynaddsubfx_icon.ico zynaddsubfx-64.png
-install -m 644 zynaddsubfx-32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/zynaddsubfx.png
-install -m 644 zynaddsubfx-16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/zynaddsubfx.png
-install -m 644 zynaddsubfx-32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/zynaddsubfx.png
-install -m 644 zynaddsubfx-48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/zynaddsubfx.png
-install -m 644 zynaddsubfx-64.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/zynaddsubfx.png
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+ --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
+
+
+for dim in 16 32 48 64; do
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${dim}x${dim}/apps
+ convert -resize ${dim}x${dim} zynaddsubfx_icon.ico zynaddsubfx-${dim}.png
+ install -m 644 zynaddsubfx-${dim}.png %{buildroot}%{_datadir}/icons/hicolor/${dim}x${dim}/apps/zynaddsubfx.png
+done
+
+# We are including these in the common package below
+rm -fr %{buildroot}%{_datadir}/doc/%{name}/
%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -178,25 +141,24 @@ fi
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files
-%defattr(-,root,root,-)
%{_bindir}/*
%{_datadir}/applications/*%{name}.desktop
-%{_datadir}/pixmaps/zynaddsubfx.png
%{_datadir}/icons/hicolor/16x16/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/32x32/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/48x48/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/64x64/apps/zynaddsubfx.png
%files common
-%defattr(-,root,root,-)
-%doc AUTHORS.txt ChangeLog COPYING FAQ.txt HISTORY.txt README.txt bugs.txt
+%doc AUTHORS.txt ChangeLog COPYING FAQ.txt HISTORY.txt README.txt zynaddsubfx.pdf
%{_datadir}/%{name}/
%files dssi
-%defattr(-,root,root,-)
%{_libdir}/dssi/*.so
%changelog
+* Thu Mar 08 2012 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 2.4.2-1
+- 2.4.2
+
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.4.1-5
- Rebuilt for c++ ABI breakage
More information about the scm-commits
mailing list