[arch-commits] Commit in (6 files)
David Runge
dvzrv at archlinux.org
Tue Apr 10 21:45:41 UTC 2018
Date: Tuesday, April 10, 2018 @ 21:45:40
Author: dvzrv
Revision: 315640
Adding sonic-pi 3.1.0 from AUR... shibumi made me do it.
Added:
sonic-pi/
sonic-pi/repos/
sonic-pi/trunk/
sonic-pi/trunk/PKGBUILD
sonic-pi/trunk/fix-paths-in-gui.diff
sonic-pi/trunk/fix-ruby-paths.diff
-----------------------+
PKGBUILD | 153 ++++++++++++++++++++++++++++++++++++++++++++++++
fix-paths-in-gui.diff | 62 +++++++++++++++++++
fix-ruby-paths.diff | 96 ++++++++++++++++++++++++++++++
3 files changed, 311 insertions(+)
Added: sonic-pi/trunk/PKGBUILD
===================================================================
--- sonic-pi/trunk/PKGBUILD (rev 0)
+++ sonic-pi/trunk/PKGBUILD 2018-04-10 21:45:40 UTC (rev 315640)
@@ -0,0 +1,153 @@
+# Maintainer: David Runge <dave at sleepmap.de>
+pkgname=sonic-pi
+pkgver=3.1.0
+pkgrel=2
+pkgdesc="The Live Coding Music Synth for Everyone"
+arch=('x86_64')
+url="https://sonic-pi.net/"
+license=('MIT')
+groups=('pro-audio')
+depends=('aubio' 'boost-libs' 'erlang-nox' 'libffi' 'http-parser' 'osmid' 'qscintilla-qt5' 'qwt' 'ruby' 'sc3-plugins' 'supercollider')
+makedepends=('boost' 'cmake' 'lua' 'qt5-tools' 'wkhtmltopdf')
+checkdepends=('ruby-rake')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/samaaron/${pkgname}/archive/v${pkgver}.tar.gz"
+ "fix-paths-in-gui.diff"
+ "fix-ruby-paths.diff")
+sha512sums=('45373d3e673bc2f45bf5ccea31f6cf5e2003c9bdfc4645dec4b9fec391cb28b9e0b0823a98e9690928e116b8c40f96596bd1c8f5aefbf4f3e43e6c30ab76d41f'
+ 'ef3dfe52d05f085f230ee02f84b20ee615a98a0be5ec60edba28075b93a7edbd37668ebbcc30f695126515eb614ebd27cee77ab3145d06ee7ba1c10ffced2471'
+ '1c0238a2cda782de97504c81c47db71b940d89987b7fa6aad1a00c8a095a5627b2d82809d81f48f0e2bee290ad1bbeded634827511d63eed5635bd94806fcccb')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+ sed -e 's/lqt5scintilla2/lqscintilla2_qt5/g' -i app/gui/qt/SonicPi.pro
+ rm -rvf app/server/native
+ # TODO: patch app/gui/qt/mainwindow.cpp to set path to external components in /usr/{lib,share}/sonic-pi
+ patch -Np1 -i ../fix-paths-in-gui.diff
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # OSC and pi_server
+ cd app/server/erlang
+ erlc {osc,pi_server}.erl
+
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ # ruby extensions
+ cd app/gui/qt/
+ ../../server/ruby/bin/compile-extensions.rb
+ ../../server/ruby/bin/i18n-tool.rb -t
+ # help template
+ cp -vf ruby_help.{tmpl,h}
+ ../../server/ruby/bin/qt-doc.rb -o ruby_help.h
+
+ # GUI
+ lrelease SonicPi.pro
+ qmake-qt5 SonicPi.pro
+ make
+
+ cd "${srcdir}/$pkgname-$pkgver"
+ # TODO: patch app/server/ruby/lib/sonicpi/util.rb to set proper paths to external components
+ patch -Np1 -i ../fix-ruby-paths.diff
+}
+
+## tests fail: https://github.com/samaaron/sonic-pi/issues/1865
+#check() {
+# cd "$pkgname-$pkgver"
+# cd app/server/ruby/test
+# rake test
+#}
+
+package() {
+ cd "$pkgname-$pkgver"
+ # GUI executable
+ install -vDm 755 "app/gui/qt/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
+
+ # book
+ install -vDm 644 app/gui/qt/book/*.html \
+ -t "${pkgdir}/usr/share/${pkgname}/book"
+ # i18n
+ install -vDm 644 app/gui/qt/lang/*.qm \
+ -t "${pkgdir}/usr/share/${pkgname}/lang"
+ # help
+ install -vDm 644 app/gui/qt/help/*.html \
+ -t "${pkgdir}/usr/share/${pkgname}/help"
+ # html
+ install -vDm 644 app/gui/qt/html/*.html \
+ -t "${pkgdir}/usr/share/${pkgname}/html"
+ # images
+ install -vDm 644 app/gui/qt/images/*.png \
+ -t "${pkgdir}/usr/share/${pkgname}/images"
+ install -vDm 644 app/gui/qt/images/coreteam/*.png \
+ -t "${pkgdir}/usr/share/${pkgname}/images/coreteam"
+ install -vDm 644 app/gui/qt/images/toolbar/default/*.png \
+ -t "${pkgdir}/usr/share/${pkgname}/images/toolbar/default"
+ install -vDm 644 app/gui/qt/images/toolbar/pro/*.png \
+ -t "${pkgdir}/usr/share/${pkgname}/images/toolbar/pro"
+ install -vDm 644 etc/doc/images/tutorial/*.png \
+ -t "${pkgdir}/usr/share/${pkgname}/images/tutorial"
+ # theme
+ install -vDm 644 app/gui/qt/theme/app.qss \
+ -t "${pkgdir}/usr/share/${pkgname}/theme/"
+ install -vDm 644 app/gui/qt/theme/dark/doc-styles.css \
+ -t "${pkgdir}/usr/share/${pkgname}/theme/dark"
+ install -vDm 644 app/gui/qt/theme/light/doc-styles.css \
+ -t "${pkgdir}/usr/share/${pkgname}/theme/light"
+ # samples
+ install -vDm 644 etc/samples/*.{flac,md} \
+ -t "${pkgdir}/usr/share/${pkgname}/samples"
+ # snippets
+ install -vDm 644 etc/snippets/fx/*.sps \
+ -t "${pkgdir}/usr/share/${pkgname}/snippets/fx"
+ install -vDm 644 etc/snippets/live_loop/*.sps \
+ -t "${pkgdir}/usr/share/${pkgname}/snippets/live_loop"
+ install -vDm 644 etc/snippets/syntax/*.sps \
+ -t "${pkgdir}/usr/share/${pkgname}/snippets/syntax"
+ # synthdefs
+ install -vDm 644 etc/synthdefs/compiled/*.scsyndef \
+ -t "${pkgdir}/usr/share/${pkgname}/synthdefs/compiled"
+ install -vDm 644 etc/synthdefs/designs/sonic_pi/synths/*.clj\
+ -t "${pkgdir}/usr/share/${pkgname}/synthdefs/designs/sonic_pi/synths"
+
+ # buffers
+ install -vDm 644 etc/buffers/rand-stream.wav \
+ -t "${pkgdir}/usr/share/${pkgname}/buffers"
+
+ # docs
+ install -vDm 644 etc/doc/cheatsheets/*.md \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/cheatsheets"
+ # pdfs
+ install -vDm 644 etc/synthdefs/graphviz/pdf/*.pdf \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/synthdefs"
+ # tutorial
+ install -vDm 644 etc/doc/tutorial/*.md \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/tutorial"
+
+ # examples
+ install -vDm 644 etc/examples/algomancer/*.rb \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/examples/algomancer"
+ install -vDm 644 etc/examples/apprentice/*.rb \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/examples/apprentice"
+ install -vDm 644 etc/examples/illusionist/*.rb \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/examples/illusionist"
+ install -vDm 644 etc/examples/incubation/*.rb \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/examples/incubation"
+ install -vDm 644 etc/examples/magician/*.rb \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/examples/magician"
+ install -vDm 644 etc/examples/sorcerer/*.rb \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/examples/sorcerer"
+ install -vDm 644 etc/examples/wizard/*.rb \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/examples/wizard"
+
+ # erlang
+ install -vDm 755 app/server/erlang/*.beam \
+ -t "${pkgdir}/usr/lib/${pkgname}"
+
+ # ruby
+ install -vdm 755 "${pkgdir}/usr/share/${pkgname}"
+ cp -av app/server/ruby "${pkgdir}/usr/share/${pkgname}/server"
+
+ # license
+ install -vDm 644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
Property changes on: sonic-pi/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: sonic-pi/trunk/fix-paths-in-gui.diff
===================================================================
--- sonic-pi/trunk/fix-paths-in-gui.diff (rev 0)
+++ sonic-pi/trunk/fix-paths-in-gui.diff 2018-04-10 21:45:40 UTC (rev 315640)
@@ -0,0 +1,62 @@
+diff -ruN sonic-pi-3.1.0-a/app/gui/qt/mainwindow.cpp sonic-pi-3.1.0-b/app/gui/qt/mainwindow.cpp
+--- sonic-pi-3.1.0-a/app/gui/qt/mainwindow.cpp 2018-01-22 23:00:13.000000000 +0100
++++ sonic-pi-3.1.0-b/app/gui/qt/mainwindow.cpp 2018-04-10 21:56:32.907704553 +0200
+@@ -127,7 +127,7 @@
+ #elif defined(Q_OS_MAC)
+ ruby_path = root_path + "/app/server/native/ruby/bin/ruby";
+ #else
+- ruby_path = root_path + "/app/server/native/ruby/bin/ruby";
++ ruby_path = root_path + "/usr/bin/ruby";
+ #endif
+
+ QFile file(ruby_path);
+@@ -136,9 +136,9 @@
+ ruby_path = "ruby";
+ }
+
+- ruby_server_path = QDir::toNativeSeparators(root_path + "/app/server/ruby/bin/sonic-pi-server.rb");
+- port_discovery_path = QDir::toNativeSeparators(root_path + "/app/server/ruby/bin/port-discovery.rb");
+- sample_path = QDir::toNativeSeparators(root_path + "/etc/samples");
++ ruby_server_path = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/server/bin/sonic-pi-server.rb");
++ port_discovery_path = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/server/bin/port-discovery.rb");
++ sample_path = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/samples");
+
+ sp_user_path = QDir::toNativeSeparators(sonicPiHomePath() + "/.sonic-pi");
+ sp_user_tmp_path = QDir::toNativeSeparators(sp_user_path + "/.writableTesterPath");
+@@ -149,13 +149,13 @@
+ process_log_path = QDir::toNativeSeparators(log_path + "/processes.log");
+ scsynth_log_path = QDir::toNativeSeparators(log_path + QDir::separator() + "scsynth.log");
+
+- init_script_path = QDir::toNativeSeparators(root_path + "/app/server/ruby/bin/init-script.rb");
+- exit_script_path = QDir::toNativeSeparators(root_path + "/app/server/ruby/bin/exit-script.rb");
++ init_script_path = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/server/bin/init-script.rb");
++ exit_script_path = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/server/bin/exit-script.rb");
+
+- qt_app_theme_path = QDir::toNativeSeparators(root_path + "/app/gui/qt/theme/app.qss");
++ qt_app_theme_path = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/theme/app.qss");
+
+- qt_browser_dark_css = QDir::toNativeSeparators(root_path + "/app/gui/qt/theme/dark/doc-styles.css");
+- qt_browser_light_css = QDir::toNativeSeparators(root_path + "/app/gui/qt/theme/light/doc-styles.css");
++ qt_browser_dark_css = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/theme/dark/doc-styles.css");
++ qt_browser_light_css = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/theme/light/doc-styles.css");
+
+ QDir logDir(log_path);
+ logDir.mkpath(logDir.absolutePath());
+@@ -1020,7 +1020,7 @@
+ #elif defined(Q_OS_WIN)
+ return QCoreApplication::applicationDirPath() + "/../../../..";
+ #else
+- return QCoreApplication::applicationDirPath() + "/../../..";
++ return QCoreApplication::applicationDirPath() + "/../..";
+ #endif
+ }
+
+@@ -1059,7 +1059,7 @@
+ // Register server pid for potential zombie clearing
+ QStringList regServerArgs;
+ #if QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)
+- regServerArgs << QDir::toNativeSeparators(rootPath() + "/app/server/ruby/bin/task-register.rb")<< QString::number(serverProcess->processId());
++ regServerArgs << QDir::toNativeSeparators(rootPath() + "/usr/share/sonic-pi/server/bin/task-register.rb")<< QString::number(serverProcess->processId());
+ #endif
+ QProcess *regServerProcess = new QProcess();
+ regServerProcess->start(ruby_path, regServerArgs);
Added: sonic-pi/trunk/fix-ruby-paths.diff
===================================================================
--- sonic-pi/trunk/fix-ruby-paths.diff (rev 0)
+++ sonic-pi/trunk/fix-ruby-paths.diff 2018-04-10 21:45:40 UTC (rev 315640)
@@ -0,0 +1,96 @@
+diff -ruN sonic-pi-3.1.0-a/app/server/ruby/core.rb sonic-pi-3.1.0-c/app/server/ruby/core.rb
+--- sonic-pi-3.1.0-a/app/server/ruby/core.rb 2018-01-22 23:00:13.000000000 +0100
++++ sonic-pi-3.1.0-c/app/server/ruby/core.rb 2018-04-10 23:10:47.329683107 +0200
+@@ -147,7 +147,7 @@
+ module Core
+ module SPRand
+ # Read in same random numbers as server for random stream sync
+- @@random_numbers = ::WaveFile::Reader.new(File.expand_path("../../../../etc/buffers/rand-stream.wav", __FILE__), ::WaveFile::Format.new(:mono, :float, 44100)).read(441000).samples.freeze
++ @@random_numbers = ::WaveFile::Reader.new(File.expand_path("../../buffers/rand-stream.wav", __FILE__), ::WaveFile::Format.new(:mono, :float, 44100)).read(441000).samples.freeze
+
+ def self.tl_seed_map(seed, idx=0)
+ {:sonic_pi_spider_random_gen_seed => seed,
+diff -ruN sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb sonic-pi-3.1.0-c/app/server/ruby/lib/sonicpi/util.rb
+--- sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb 2018-01-22 23:00:13.000000000 +0100
++++ sonic-pi-3.1.0-c/app/server/ruby/lib/sonicpi/util.rb 2018-04-10 23:28:08.120969596 +0200
+@@ -216,11 +216,11 @@
+ end
+
+ def root_path
+- File.absolute_path("#{File.dirname(__FILE__)}/../../../../../")
++ File.absolute_path("/usr/share/sonic-pi")
+ end
+
+ def etc_path
+- File.absolute_path("#{root_path}/etc")
++ File.absolute_path("#{root_path}")
+ end
+
+ def snippets_path
+@@ -228,7 +228,7 @@
+ end
+
+ def doc_path
+- File.absolute_path("#{etc_path}/doc")
++ File.absolute_path("/usr/share/doc/sonic-pi")
+ end
+
+ def cheatsheets_path
+@@ -240,7 +240,7 @@
+ end
+
+ def tmp_path
+- File.absolute_path("#{root_path}/tmp")
++ File.absolute_path("/tmp")
+ end
+
+ def synthdef_path
+@@ -256,7 +256,7 @@
+ end
+
+ def app_path
+- File.absolute_path("#{root_path}/app")
++ File.absolute_path("#{root_path}")
+ end
+
+ def html_public_path
+@@ -268,7 +268,7 @@
+ end
+
+ def examples_path
+- File.absolute_path("#{etc_path}/examples")
++ File.absolute_path("#{doc_path}/examples")
+ end
+
+ def server_path
+@@ -276,7 +276,7 @@
+ end
+
+ def server_bin_path
+- File.absolute_path("#{server_path}/ruby/bin")
++ File.absolute_path("#{server_path}/bin")
+ end
+
+ def native_path
+diff -ruN sonic-pi-3.1.0-a/app/server/ruby/util.rb sonic-pi-3.1.0-c/app/server/ruby/util.rb
+--- sonic-pi-3.1.0-a/app/server/ruby/util.rb 2018-01-22 23:00:13.000000000 +0100
++++ sonic-pi-3.1.0-c/app/server/ruby/util.rb 2018-04-10 22:16:26.994368179 +0200
+@@ -12,15 +12,15 @@
+ #++
+
+ def sp_sonic_pi_path()
+- File.absolute_path("#{File.dirname(__FILE__)}/../../")
++ File.absolute_path("#{File.dirname(__FILE__)}/..")
+ end
+
+ def sp_scripts_path()
+- File.absolute_path("#{sp_sonic_pi_path}/app/scripts")
++ File.absolute_path("#{sp_sonic_pi_path}/scripts")
+ end
+
+ def sp_synthdefs_path()
+- File.absolute_path("#{sp_sonic_pi_path}/app/etc/synthdefs/compiled")
++ File.absolute_path("#{sp_sonic_pi_path}/synthdefs/compiled")
+ end
+
+ def spider_log(message)
More information about the arch-commits
mailing list