]> git.pld-linux.org Git - packages/zynaddsubfx-fusion.git/commitdiff
new package: ZynAddSubFX with the new Zyn-Fusion UI auto/th/zynaddsubfx-fusion-3.0.3-1
authorJacek Konieczny <j.konieczny@eggsoft.pl>
Thu, 9 Aug 2018 10:48:50 +0000 (12:48 +0200)
committerJacek Konieczny <j.konieczny@eggsoft.pl>
Thu, 9 Aug 2018 10:48:50 +0000 (12:48 +0200)
external_mruby_gems.patch [new file with mode: 0644]
get-fusion.sh [new file with mode: 0755]
system_libuv.patch [new file with mode: 0644]
zynaddsubfx-fusion.spec [new file with mode: 0644]
zynaddsubfx.spec [deleted file]

diff --git a/external_mruby_gems.patch b/external_mruby_gems.patch
new file mode 100644 (file)
index 0000000..5e24d43
--- /dev/null
@@ -0,0 +1,17 @@
+diff -dur zynaddsubfx-3.0.3.orig/mruby-zest-build/build_config.rb zynaddsubfx-3.0.3/mruby-zest-build/build_config.rb
+--- zynaddsubfx-3.0.3.orig/mruby-zest-build/build_config.rb    2018-08-09 10:57:14.000000000 +0200
++++ zynaddsubfx-3.0.3/mruby-zest-build/build_config.rb 2018-08-09 10:58:48.000000000 +0200
+@@ -75,6 +75,13 @@
+   #Eval for runtime reloads
+   conf.gem :core => "mruby-eval"
++  #external gems
++  conf.gem 'deps/mruby-pack'
++  conf.gem 'deps/mruby-process'
++  conf.gem 'deps/mruby-file-stat'
++  conf.gem 'deps/mruby-errno'
++  conf.gem 'deps/mruby-dir'
++
+   #Non-STD lib gems
+   conf.gem 'deps/mruby-io'
+   conf.gem 'deps/mruby-nanovg'
diff --git a/get-fusion.sh b/get-fusion.sh
new file mode 100755 (executable)
index 0000000..bed0e90
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh -e
+
+# Make archives of Zyn-Fusion sources from GIT
+
+if [ -z "$1" -o -n "$2" ] ; then
+       echo "Usage:"
+       echo "  $0 <commit>"
+       echo "E.g.:"
+       echo "  $0 c4c9221"
+       exit 1
+fi
+
+commit="$1"
+
+set -x
+
+if [ -d mruby-zest-build/.git ] ; then
+       cd mruby-zest-build
+       git fetch origin
+       git checkout master
+else
+       git clone --recursive https://github.com/mruby-zest/mruby-zest-build.git
+       cd mruby-zest-build
+fi
+git reset --hard "$commit"
+git submodule sync
+git submodule update
+
+version="$(git describe --tags | sed -e's/^v//;s/-/_/g')"
+archive_name="mruby-zest-build-$version.tar"
+
+echo "Building $archive_name..."
+git archive --prefix mruby-zest-build/ -o ../$archive_name HEAD
+git submodule --quiet foreach 'cd $toplevel/..; tar rf '"$archive_name"' mruby-zest-build/$path'
+xz ../$archive_name
diff --git a/system_libuv.patch b/system_libuv.patch
new file mode 100644 (file)
index 0000000..da9278b
--- /dev/null
@@ -0,0 +1,59 @@
+diff -dur zynaddsubfx-3.0.3.orig/mruby-zest-build/build_config.rb zynaddsubfx-3.0.3/mruby-zest-build/build_config.rb
+--- zynaddsubfx-3.0.3.orig/mruby-zest-build/build_config.rb    2018-08-06 09:01:21.000000000 +0200
++++ zynaddsubfx-3.0.3/mruby-zest-build/build_config.rb 2018-08-07 14:32:40.000000000 +0200
+@@ -92,7 +92,6 @@
+   conf.cc do |cc|
+       cc.include_paths << "#{`pwd`.strip}/../deps/nanovg/src"
+       cc.include_paths << "#{`pwd`.strip}/../deps/pugl/"
+-      cc.include_paths << "#{`pwd`.strip}/../deps/libuv-v1.9.1/include/"
+       cc.include_paths << "/usr/share/mingw-w64/include/" if windows
+       cc.include_paths << "/usr/x86_64-w64-mingw32/include/" if windows
+       cc.flags << "-DLDBL_EPSILON=1e-6" if windows
+@@ -110,7 +109,7 @@
+       #linker.library_paths  << "#{`pwd`.strip}/../deps/rtosc/build/"
+       linker.library_paths  << "#{`pwd`.strip}/../src/osc-bridge/"
+       linker.libraries << 'osc-bridge'
+-      linker.flags_after_libraries  << "#{`pwd`.strip}/../deps/libuv.a"
++      linker.flags_after_libraries  << "-luv"
+       linker.flags_after_libraries  << "#{`pwd`.strip}/../deps/pugl/build/libpugl-0.a"
+       linker.flags_after_libraries  << "#{`pwd`.strip}/../deps/libnanovg.a"
+       if(!windows)
+diff -dur zynaddsubfx-3.0.3.orig/mruby-zest-build/Makefile zynaddsubfx-3.0.3/mruby-zest-build/Makefile
+--- zynaddsubfx-3.0.3.orig/mruby-zest-build/Makefile   2018-08-06 09:01:21.000000000 +0200
++++ zynaddsubfx-3.0.3/mruby-zest-build/Makefile        2018-08-07 14:31:35.000000000 +0200
+@@ -10,12 +10,12 @@
+ #     cd deps/pugl         && ./waf configure --no-cairo --static
+       cd deps/pugl         && ./waf configure --no-cairo --static --debug
+       cd deps/pugl         && ./waf
+-      cd src/osc-bridge    && CFLAGS="-I ../../deps/libuv-v1.9.1/include " make lib
++      cd src/osc-bridge    && make lib
+       cd mruby             && MRUBY_CONFIG=../build_config.rb rake
+       $(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
+               ./deps/libnanovg.a \
+               src/osc-bridge/libosc-bridge.a \
+-              ./deps/libuv-v1.9.1/.libs/libuv.a  -lm -lX11 -lGL -lpthread
++              -luv -lm -lX11 -lGL -lpthread
+       $(CC) test-libversion.c deps/pugl/build/libpugl-0.a -ldl -o zest -lX11 -lGL -lpthread -I deps/pugl -std=gnu99
+ osx:
+@@ -49,20 +49,13 @@
+ builddep:
+-      cd deps/$(UV_DIR)    && ./autogen.sh
+-      cd deps/$(UV_DIR)    && CFLAGS=-fPIC ./configure
+-      cd deps/$(UV_DIR)    && CFLAGS=-fPIC make
+-      cp deps/$(UV_DIR)/.libs/libuv.a deps/
+ builddepwin:
+       cd deps/$(UV_DIR)   && ./autogen.sh
+       cd deps/$(UV_DIR)   && CFLAGS="-mstackrealign" ./configure  --host=x86_64-w64-mingw32
+       cd deps/$(UV_DIR)   && LD=x86_64-w64-mingw32-gcc make
+-      cp deps/$(UV_DIR)/.libs/libuv.a deps/
+ setup:
+-      cd deps              && wget -4 $(UV_URL)
+-      cd deps              && tar xvf $(UV_FILE)
+ setupwin:
+       cd deps              && wget -4 $(UV_URL)
diff --git a/zynaddsubfx-fusion.spec b/zynaddsubfx-fusion.spec
new file mode 100644 (file)
index 0000000..570133a
--- /dev/null
@@ -0,0 +1,211 @@
+#
+# This package provides ZynAddSubFX syntethizer with the new 'Zyn-Fusion' UI
+# Source code for the UI is available in the https://github.com/mruby-zest/mruby-zest-build
+# repository and contains many submodules and no unified source archive
+#
+# Use the provided 'get-fusion.sh' script to generate the Source1 archive
+
+%define fusion_version 3.0.2_59_gc4c9221
+
+%define mruby_pack_version 383a9c79e191d524a9a2b4107cc5043ecbf6190b
+%define mruby_process_version bd288a930d4f61fbda1865deb8997245dc5fd38c
+%define mruby_file_stat_version 12871584f2e5e2d24f5c54325d3ba3338414e2a4
+%define mruby_errno_version b4415207ff6ea62360619c89a1cff83259dc4db0
+%define mruby_dir_version 14bc5c3e51eac16ebc9075b7b62132a0cf5ae724
+
+Summary:       Realtime software synthesizer
+Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym
+Name:          zynaddsubfx-fusion
+Version:       3.0.3
+Release:       1
+License:       GPL
+Group:         X11/Applications/Sound
+Source0:       http://downloads.sourceforge.net/zynaddsubfx/zynaddsubfx-%{version}.tar.bz2
+# Source0-md5: 66acae0913108f129aa979f3c4b65473
+Source1:       mruby-zest-build-%{fusion_version}.tar.xz
+# Source1-md5: fa7c3b4c46e6155df19cb00d9dc6db0f
+Source2:       https://github.com/iij/mruby-pack/archive/%{mruby_pack_version}/mruby-pack-%{mruby_pack_version}.tar.gz
+# Source2-md5: b77f2dea16857e64624730ec94beb778
+Source3:       https://github.com/iij/mruby-process/archive/%{mruby_process_version}/mruby-process-%{mruby_process_version}.tar.gz
+# Source3-md5: 7c3881decb19930175b1f9520216d133
+Source4:       https://github.com/ksss/mruby-file-stat/archive/%{mruby_file_stat_version}/mruby-file-stat-%{mruby_file_stat_version}.tar.gz
+# Source4-md5: 8bad3f085f86cdc5d065c36b4ca3850d
+Source5:       https://github.com/iij/mruby-errno/archive/%{mruby_errno_version}/mruby-errno-%{mruby_errno_version}.tar.gz
+# Source5-md5: 2696ab2c434d1779e96fed50ed4a77c4
+Source6:       https://github.com/iij/mruby-dir/archive/%{mruby_dir_version}/mruby-dir-%{mruby_dir_version}.tar.gz
+# Source6-md5: c0fd8162728821361e38ccec87677397
+Patch0:                cxx_flags.patch
+Patch1:                system_libuv.patch
+Patch2:                external_mruby_gems.patch
+URL:           http://zynaddsubfx.sourceforge.net/
+BuildRequires: Mesa-libGL-devel
+BuildRequires: Mesa-libGLU-devel
+BuildRequires: alsa-lib-devel
+BuildRequires: cairo-devel
+BuildRequires: cmake
+#BuildRequires:        doxygen
+BuildRequires: dssi-devel >= 0.9.0
+BuildRequires: fftw3-devel
+BuildRequires: jack-audio-connection-kit-devel >= 0.66.3
+BuildRequires: lash-devel
+BuildRequires: liblo-devel >= 0.28
+BuildRequires: libuv-devel >= 1.9.1
+BuildRequires: mxml-devel >= 2.2
+BuildRequires: pkgconfig
+BuildRequires: portaudio >= 19
+BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: ruby
+BuildRequires: ruby-rake
+BuildRequires: sed >= 4.0
+BuildRequires: sed >= 4.0
+BuildRequires: zlib-devel
+Obsoletes:     ZynAddSubFX
+Obsoletes:     zynaddsubfx
+ExclusiveArch: %{ix86} %{x8664}
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define                _noautoprovfiles        %{_libdir}/(dssi|lv2|vst)
+
+%description
+ZynAddSubFX is a software synthesizer capable of making a countless
+number of instruments.
+
+Zyn-Fusion is the modern external GUI for the synthesizer.
+
+%description -l pl.UTF-8
+ZynAddSubFX jest programowym syntezatorem zdolnym do tworzenia
+niezliczonej ilości instrumentów.
+
+Zyn-Fusion do nowoczesny interfejs użytkownika dla tego syntezatora.
+
+%package dssi
+Summary:       Realtime software synthesizer - DSSI plugin
+Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym, plugin DSSI
+Group:         X11/Applications/Sound
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     ZynAddSubFX-dssi
+Obsoletes:     zynaddsubfx-dssi
+
+%description dssi
+ZynAddSubFX software synthesizer as a DSSI plugin.
+
+%description dssi -l pl.UTF-8
+Syntezator ZynAddSubFX jako wtyczka DSSI.
+
+%package lv2
+Summary:       Realtime software synthesizer - LV2 plugin
+Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym, plugin LV2
+Group:         X11/Applications/Sound
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     ZynAddSubFX-lv2
+Obsoletes:     zynaddsubfx-lv2
+
+%description lv2
+ZynAddSubFX software synthesizer as a LV2 plugin.
+
+%description lv2 -l pl.UTF-8
+Syntezator ZynAddSubFX jako wtyczka LV2.
+
+%package vst
+Summary:       Realtime software synthesizer - VST plugin
+Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym, plugin VST
+Group:         X11/Applications/Sound
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     ZynAddSubFX-vst
+Obsoletes:     zynaddsubfx-vst
+
+%description vst
+ZynAddSubFX software synthesizer as a VST plugin.
+
+%description vst -l pl.UTF-8
+Syntezator ZynAddSubFX jako wtyczka VST.
+
+%prep
+%setup -qn zynaddsubfx-%{version} -a 1 -a 2 -a 3 -a 4 -a 5 -a 6
+
+for module in pack process file-stat errno dir ; do
+       mv mruby-${module}-* mruby-zest-build/deps/mruby-${module}
+done
+
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+sed -i -e's@/opt/zyn-fusion@%{_libdir}/zyn-fusion@g' \
+       mruby-zest-build/test-libversion.c \
+       src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp
+
+%build
+
+# See https://github.com/zynaddsubfx/zyn-fusion-build/blob/master/build-linux.rb
+# for the build instructions
+
+[ -d build ] || mkdir build
+cd build
+%cmake .. \
+               -DGuiModule=zest \
+       -DPluginLibDir=%{_lib} \
+       -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags}"
+
+%{__make}
+cd ..
+
+cd mruby-zest-build
+export LC_ALL=C.utf-8
+ruby rebuild-fcache.rb
+%{__make} setup
+%{__make} builddep
+export VERSION="%{version}"
+export BUILD_MODE="release"
+%{__make}
+%{__make} pack
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/%{name},%{_libdir}/zyn-fusion} \
+       $RPM_BUILD_ROOT%{_desktopdir}
+
+%{__make} -C build install \
+       DESTDIR="$RPM_BUILD_ROOT"
+
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
+
+cp -a mruby-zest-build/package/* $RPM_BUILD_ROOT%{_libdir}/zyn-fusion
+ln -s %{_libdir}/zyn-fusion/zest $RPM_BUILD_ROOT%{_bindir}/zyn-fusion
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/zyn-fusion/mruby
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS.txt HISTORY.txt README.adoc
+%attr(755,root,root) %{_bindir}/zynaddsubfx
+%attr(755,root,root) %{_bindir}/zyn-fusion
+%{_datadir}/zynaddsubfx
+%{_pixmapsdir}/zynaddsubfx.svg
+%{_desktopdir}/zynaddsubfx-*.desktop
+%dir %{_libdir}/zyn-fusion
+%attr(755,root,root) %{_libdir}/zyn-fusion/zest
+%attr(755,root,root) %{_libdir}/zyn-fusion/libzest.so
+%{_libdir}/zyn-fusion/VERSION
+%{_libdir}/zyn-fusion/font
+%{_libdir}/zyn-fusion/qml
+%{_libdir}/zyn-fusion/schema
+
+%files dssi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/dssi/libzynaddsubfx_dssi.so
+
+%files lv2
+%defattr(644,root,root,755)
+%dir %{_libdir}/lv2/*.lv2
+%dir %{_libdir}/lv2/ZynAddSubFX.lv2presets
+%attr(755,root,root) %{_libdir}/lv2/*.lv2/*.so
+%{_libdir}/lv2/*.lv2/*.ttl
+%{_libdir}/lv2/ZynAddSubFX.lv2presets/*.ttl
+
+%files vst
+%defattr(644,root,root,755)
+%dir %{_libdir}/vst
+%attr(755,root,root) %{_libdir}/vst/*.so
diff --git a/zynaddsubfx.spec b/zynaddsubfx.spec
deleted file mode 100644 (file)
index 88a1f84..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-Summary:       Realtime software synthesizer
-Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym
-Name:          zynaddsubfx
-Version:       3.0.3
-Release:       1
-License:       GPL
-Group:         X11/Applications/Sound
-Source0:       http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
-# Source0-md5: 66acae0913108f129aa979f3c4b65473
-Patch0:                cxx_flags.patch
-URL:           http://zynaddsubfx.sourceforge.net/
-BuildRequires: alsa-lib-devel
-#BuildRequires:        doxygen
-BuildRequires: dssi-devel >= 0.9.0
-BuildRequires: fftw3-devel
-BuildRequires: fltk-devel >= 1.1.3
-BuildRequires: jack-audio-connection-kit-devel >= 0.66.3
-BuildRequires: lash-devel
-BuildRequires: liblo-devel >= 0.28
-BuildRequires: mxml-devel >= 2.2
-BuildRequires: pkgconfig
-BuildRequires: portaudio >= 19
-BuildRequires: rpmbuild(macros) >= 1.213
-BuildRequires: sed >= 4.0
-BuildRequires: xorg-lib-libICE-devel
-BuildRequires: xorg-lib-libX11-devel
-BuildRequires: zlib-devel
-Obsoletes:     ZynAddSubFx
-ExclusiveArch: %{ix86} %{x8664}
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-
-%define                _noautoprovfiles        %{_libdir}/(dssi|lv2|vst)
-
-%description
-ZynAddSubFX is a software synthesizer capable of making a countless
-number of instruments.
-
-%description -l pl.UTF-8
-ZynAddSubFX jest programowym syntezatorem zdolnym do tworzenia
-niezliczonej ilości instrumentów.
-
-%package dssi
-Summary:       Realtime software synthesizer - DSSI plugin
-Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym, plugin DSSI
-Group:         X11/Applications/Sound
-Requires:      %{name} = %{version}-%{release}
-
-%description dssi
-ZynAddSubFX software synthesizer as a DSSI plugin.
-
-%description dssi -l pl.UTF-8
-Syntezator ZynAddSubFX jako wtyczka DSSI.
-
-%package lv2
-Summary:       Realtime software synthesizer - LV2 plugin
-Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym, plugin LV2
-Group:         X11/Applications/Sound
-Requires:      %{name} = %{version}-%{release}
-
-%description lv2
-ZynAddSubFX software synthesizer as a LV2 plugin.
-
-%description lv2 -l pl.UTF-8
-Syntezator ZynAddSubFX jako wtyczka LV2.
-
-%package vst
-Summary:       Realtime software synthesizer - VST plugin
-Summary(pl.UTF-8):     Syntezator programowy działający w czasie rzeczywistym, plugin VST
-Group:         X11/Applications/Sound
-Requires:      %{name} = %{version}-%{release}
-
-%description vst
-ZynAddSubFX software synthesizer as a VST plugin.
-
-%description vst -l pl.UTF-8
-Syntezator ZynAddSubFX jako wtyczka VST.
-
-%prep
-%setup -qn %{name}-%{version}
-
-%patch0 -p1
-
-%build
-
-mkdir build
-cd build
-%cmake .. \
-       -DPluginLibDir=%{_lib} \
-       -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags}"
-
-%{__make}
-
-%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/%{name}} \
-       $RPM_BUILD_ROOT%{_desktopdir}
-
-%{__make} -C build install \
-       DESTDIR="$RPM_BUILD_ROOT"
-
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(644,root,root,755)
-%doc AUTHORS.txt HISTORY.txt README.adoc
-%attr(755,root,root) %{_bindir}/zynaddsubfx
-%attr(755,root,root) %{_bindir}/zynaddsubfx-ext-gui
-%{_datadir}/zynaddsubfx
-%{_pixmapsdir}/zynaddsubfx.svg
-%{_desktopdir}/zynaddsubfx-*.desktop
-
-%files dssi
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/dssi/libzynaddsubfx_dssi.so
-
-%files lv2
-%defattr(644,root,root,755)
-%dir %{_libdir}/lv2/*.lv2
-%dir %{_libdir}/lv2/ZynAddSubFX.lv2presets
-%attr(755,root,root) %{_libdir}/lv2/*.lv2/*.so
-%{_libdir}/lv2/*.lv2/*.ttl
-%{_libdir}/lv2/ZynAddSubFX.lv2presets/*.ttl
-
-%files vst
-%defattr(644,root,root,755)
-%dir %{_libdir}/vst
-%attr(755,root,root) %{_libdir}/vst/*.so
This page took 0.150196 seconds and 4 git commands to generate.