[arch-commits] Commit in sonic-pi/trunk (6 files)
David Runge
dvzrv at archlinux.org
Sun Mar 8 22:53:49 UTC 2020
Date: Sunday, March 8, 2020 @ 22:53:49
Author: dvzrv
Revision: 592635
upgpkg: sonic-pi 3.2.0-1: Upgrading to 3.2.0. Removing boost-libs from depends, as only boost headers are required during build time. Adding sox to optdepends, as it is required for additional effects.
Revamping the patches for GUI and ruby path modifications to stay FHS compliant. Adding a patch to devendor qscintilla-qt5, which was vendored in the new setup using cmake for the Qt GUI.
Adding TODOs and NOTES. Running encapsulated build commands in subshells in build() instead of hopping dirs.
Cleaning up and extending the various installations in package().
NOTE: This version has issues on exit of sonic-pi. Parts of the ruby and erlang components won't quit and scsynth neither.
Added:
sonic-pi/trunk/sonic-pi-3.2.0-devendor_qscintilla-qt5.patch
sonic-pi/trunk/sonic-pi-3.2.0-gui_paths.patch
sonic-pi/trunk/sonic-pi-3.2.0-ruby_paths.patch
Modified:
sonic-pi/trunk/PKGBUILD
Deleted:
sonic-pi/trunk/fix-paths-in-gui.diff
sonic-pi/trunk/fix-ruby-paths.diff
----------------------------------------------+
PKGBUILD | 117 ++++++++++++++-----------
fix-paths-in-gui.diff | 62 -------------
fix-ruby-paths.diff | 96 --------------------
sonic-pi-3.2.0-devendor_qscintilla-qt5.patch | 23 ++++
sonic-pi-3.2.0-gui_paths.patch | 76 ++++++++++++++++
sonic-pi-3.2.0-ruby_paths.patch | 111 +++++++++++++++++++++++
6 files changed, 278 insertions(+), 207 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-03-08 22:53:07 UTC (rev 592634)
+++ PKGBUILD 2020-03-08 22:53:49 UTC (rev 592635)
@@ -1,25 +1,29 @@
# Maintainer: David Runge <dvzrv at archlinux.org>
+
pkgname=sonic-pi
-pkgver=3.1.0
-pkgrel=8
+pkgver=3.2.0
+pkgrel=1
pkgdesc="The Live Coding Music Synth for Everyone"
arch=('x86_64')
url="https://sonic-pi.net/"
license=('CCPL' 'LGPL2.1' 'GPL2' 'GPL3' 'MIT')
groups=('pro-audio')
-depends=('aubio' 'boost-libs' 'osmid' 'qscintilla-qt5' 'qwt'
-'ruby-activesupport' 'ruby-ffi' 'ruby-i18n' 'ruby-kramdown' 'ruby-minitest'
-'ruby-mocha' 'ruby-multi_json' 'ruby-rouge' 'ruby-rugged' 'ruby-sys-proctable'
-'sc3-plugins' 'supercollider')
+depends=('aubio' 'gcc-libs' 'glibc' 'osmid' 'qt5-base' 'qscintilla-qt5' 'qwt'
+'ruby' 'ruby-activesupport' 'ruby-ffi' 'ruby-i18n' 'ruby-kramdown'
+'ruby-minitest' 'ruby-mocha' 'ruby-multi_json' 'ruby-rouge' 'ruby-rugged'
+'ruby-sys-proctable' 'sc3-plugins' 'supercollider')
makedepends=('boost' 'cmake' 'erlang-nox' 'gendesk' 'lua' 'qt5-tools'
-'wkhtmltopdf')
+'ruby-bundler' 'wkhtmltopdf')
checkdepends=('ruby-rake')
+optdepends=('sox: for further effects')
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'
- 'ea827c451a42ea12b7a1ced04978fa3a3eb5368b9802c982a0f815159d5591bedc4dc5b9eed89df3957087352bcb5f778e054abd2cb38cc1e57ab538e73b97f3'
- '245418d7d3d145a77423350afd2598865395ed5e479fa13922320e6d53c849b01e99c71c460e384f69a8a70d6087899d9e26dcd06d68a13980fc2d6a543b2644')
+ "${pkgname}-3.2.0-gui_paths.patch"
+ "${pkgname}-3.2.0-devendor_qscintilla-qt5.patch"
+ "${pkgname}-3.2.0-ruby_paths.patch")
+sha512sums=('55c5ee2d42cf5988a2cbcad3429a595e0376bde0a96b71dccd6753fe27a51d439057b0de3e0d1cfce10318803d4c3869da00254db1312fbaaafc9c6b502af148'
+ 'e530cc13cb6674dca2ace2a8da566ce28263a15197cf7fccd5d3e58b676c08ce860bc6264a95d26569ff1f923020a40ece1e05841c955c5db16e61c30938f1c0'
+ 'fbe196bc332a7a04e8d5097204a13626e7aba3a70715d2a1676c0b1f37f56da427d0d5b417f92c27e64f91a03dd9d4335f65f26f9e9d14e4076d496c94c949af'
+ 'cd203e120e052ac06f08b4af082a95fddcd6a6a62386ed9a068f1b48123de02fa323fcf1d6e4429c6d55d980bb894d67eeafaf47fd31ab43dc70b13016914b9d')
prepare() {
cd "$pkgname-$pkgver"
@@ -28,10 +32,16 @@
--pkgdesc "${pkgdesc}" \
--name sonic-pi \
--categories "AudioVideo;Audio"
- 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
+ # patch app/gui/qt/{model/sonicpitheme,mainwindow}.cpp to set path to
+ # external components in /usr/{lib,share}/sonic-pi
+ patch -Np1 -i "../${pkgname}-3.2.0-gui_paths.patch"
+ # devendor qscintilla-qt5: https://github.com/samaaron/sonic-pi/issues/2278
+ patch -Np1 -i "../${pkgname}-3.2.0-devendor_qscintilla-qt5.patch"
+ # TODO: devendor boost from GUI components (only headers required during
+ # build time)
+
+
#TODO: devendor ruby-ast
#TODO: devendor ruby-atomic (bin)
#TODO: devendor ruby-benchmark-ips
@@ -53,43 +63,56 @@
#TODO: devendor ruby-thread_safe
#TODO: devendor ruby-wavefile
#TODO: devendor ruby-websocket
- # devendor ffi, ruby-prof, rugged
+
+ # devendor gems requiring compilation:
+ # ffi, ruby-prof, rugged
sed -e '/rugged/d' \
-e '/ffi/d' \
-e '/ruby-prof/d' \
-i app/server/ruby/bin/compile-extensions.rb
+ # remove unrequired gems, so we don't create any doc for them
rm -rvf app/server/ruby/vendor/{activesupport,ffi,i18n,kramdown,minitest,mocha,multi_json,rouge,rugged,sys-proctable}*
- # remove unrequired gems, so we don't create any doc for them
rm -rvf app/server/ruby/vendor/{narray,ruby-coreaudio,ruby-prof}*
- # remove warnings as errors
- sed -e 's/\-Werror//g' -i app/gui/qt/SonicPi.pro
}
build() {
cd "$pkgname-$pkgver"
- # OSC and pi_server
- cd app/server/erlang
- erlc {osc,pi_server}.erl
+ (
+ # OSC and pi_server
+ cd app/server/erlang
+ erlc {osc,pi_server}.erl
+ )
- cd "${srcdir}/$pkgname-$pkgver"
+ (
+ # ruby extensions
+ cd app/server/ruby/bin
+ ./compile-extensions.rb
+ ./i18n-tool.rb -t
+ )
- # 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
+ cd app/gui/qt/
+ # help template
+ cp -vf utils/ruby_help.{tmpl,h}
+ ../../server/ruby/bin/qt-doc.rb -o utils/ruby_help.h
+ # generating translations
+ lrelease lang/*.ts
+ # compiling GUI
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -B build \
+ -S .
+ make VERBOSE=1 -C build
+ )
- # 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
+ (
+ # patch app/server/ruby/lib/sonicpi/util.rb to set proper paths to external components
+ # NOTE: this can only be done after running
+ # app/server/ruby/bin/compile-extensions.rb, as ruby-wavefile uses a
+ # hardcoded location of a file (move to prepare() after devendoring more ruby gems)
+ patch -Np1 -i "../${pkgname}-3.2.0-ruby_paths.patch"
+ )
}
## tests fail: https://github.com/samaaron/sonic-pi/issues/1865
@@ -102,8 +125,7 @@
package() {
cd "$pkgname-$pkgver"
# GUI executable
- install -vDm 755 "app/gui/qt/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
-
+ install -vDm 755 "app/gui/qt/build/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
# book
install -vDm 644 app/gui/qt/book/*.html \
-t "${pkgdir}/usr/share/${pkgname}/book"
@@ -147,13 +169,15 @@
# 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"
-
+ install -vDm 644 etc/synthdefs/designs/overtone/${pkgname}/*.clj\
+ -t "${pkgdir}/usr/share/${pkgname}/synthdefs/designs/overtone/"
+ install -vDm 644 etc/synthdefs/designs/overtone/${pkgname}/src/sonic_pi/*.clj\
+ -t "${pkgdir}/usr/share/${pkgname}/synthdefs/designs/overtone/sonic_pi/src"
+ install -vDm 644 etc/synthdefs/designs/overtone/${pkgname}/test/sonic_pi/*.clj\
+ -t "${pkgdir}/usr/share/${pkgname}/synthdefs/designs/overtone/sonic_pi/test"
# 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"
@@ -163,7 +187,6 @@
# 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"
@@ -179,11 +202,9 @@
-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/lib/${pkgname}/server"
@@ -191,10 +212,8 @@
rm -v "${pkgdir}/usr/lib/${pkgname}/server/vendor/"*/ext/*/*.{o,c}
rm -v "${pkgdir}/usr/lib/${pkgname}/server/Rakefile"
rm -v "${pkgdir}/usr/lib/${pkgname}/server/vendor/"*/Rakefile
-
# xdg
install -vDm 644 "${pkgname}.desktop" -t "${pkgdir}/usr/share/applications/"
-
# license
install -vDm 644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Deleted: fix-paths-in-gui.diff
===================================================================
--- fix-paths-in-gui.diff 2020-03-08 22:53:07 UTC (rev 592634)
+++ fix-paths-in-gui.diff 2020-03-08 22:53:49 UTC (rev 592635)
@@ -1,62 +0,0 @@
-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/lib/sonic-pi/server/bin/sonic-pi-server.rb");
-+ port_discovery_path = QDir::toNativeSeparators(root_path + "/usr/lib/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/lib/sonic-pi/server/bin/init-script.rb");
-+ exit_script_path = QDir::toNativeSeparators(root_path + "/usr/lib/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/lib/sonic-pi/server/bin/task-register.rb")<< QString::number(serverProcess->processId());
- #endif
- QProcess *regServerProcess = new QProcess();
- regServerProcess->start(ruby_path, regServerArgs);
Deleted: fix-ruby-paths.diff
===================================================================
--- fix-ruby-paths.diff 2020-03-08 22:53:07 UTC (rev 592634)
+++ fix-ruby-paths.diff 2020-03-08 22:53:49 UTC (rev 592635)
@@ -1,96 +0,0 @@
-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 2019-02-07 21:50:09.761647719 +0100
-@@ -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("/usr/share/sonic-pi/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 2019-02-07 21:38:55.994922542 +0100
-@@ -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("/usr/lib/sonic-pi")
- 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)
Added: sonic-pi-3.2.0-devendor_qscintilla-qt5.patch
===================================================================
--- sonic-pi-3.2.0-devendor_qscintilla-qt5.patch (rev 0)
+++ sonic-pi-3.2.0-devendor_qscintilla-qt5.patch 2020-03-08 22:53:49 UTC (rev 592635)
@@ -0,0 +1,23 @@
+diff -ruN a/app/gui/qt/CMakeLists.txt c/app/gui/qt/CMakeLists.txt
+--- a/app/gui/qt/CMakeLists.txt 2020-02-25 01:23:45.000000000 +0100
++++ c/app/gui/qt/CMakeLists.txt 2020-03-08 16:54:34.158555996 +0100
+@@ -38,9 +38,7 @@
+
+ find_package(Qt5 COMPONENTS Core Widgets Gui Concurrent Network OpenGL PrintSupport Xml Svg REQUIRED)
+ find_package(Threads REQUIRED)
+-
+-# We build scintilla as part of the main project to make it easy to debug/fix
+-add_subdirectory(external/QScintilla-2.11.4)
++find_library(QSCINTILLA_QT5 qscintilla2_qt5)
+
+ set(APP_NAME sonic-pi)
+
+@@ -129,7 +127,7 @@
+
+ target_link_libraries(${APP_NAME}
+ PRIVATE
+- QScintilla
++ ${QSCINTILLA_QT5}
+ Qt5::Core
+ Qt5::Gui
+ Qt5::Widgets
Added: sonic-pi-3.2.0-gui_paths.patch
===================================================================
--- sonic-pi-3.2.0-gui_paths.patch (rev 0)
+++ sonic-pi-3.2.0-gui_paths.patch 2020-03-08 22:53:49 UTC (rev 592635)
@@ -0,0 +1,76 @@
+diff -ruN a/app/gui/qt/mainwindow.cpp b/app/gui/qt/mainwindow.cpp
+--- a/app/gui/qt/mainwindow.cpp 2020-02-25 01:23:45.000000000 +0100
++++ b/app/gui/qt/mainwindow.cpp 2020-03-08 13:53:17.604508214 +0100
+@@ -353,10 +353,10 @@
+ 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");
+- fetch_url_path = QDir::toNativeSeparators(root_path + "/app/server/ruby/bin/fetch-url.rb");
+- sample_path = QDir::toNativeSeparators(root_path + "/etc/samples");
++ ruby_server_path = QDir::toNativeSeparators(root_path + "/usr/lib/sonic-pi/server/bin/sonic-pi-server.rb");
++ port_discovery_path = QDir::toNativeSeparators(root_path + "/usr/lib/sonic-pi/server/bin/port-discovery.rb");
++ fetch_url_path = QDir::toNativeSeparators(root_path + "/usr/lib/sonic-pi/server/bin/fetch-url.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");
+@@ -367,14 +367,14 @@
+ 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/lib/sonic-pi/server/bin/init-script.rb");
++ exit_script_path = QDir::toNativeSeparators(root_path + "/usr/lib/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_hc_css = QDir::toNativeSeparators(root_path + "/app/gui/qt/theme/high_contrast/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");
++ qt_browser_hc_css = QDir::toNativeSeparators(root_path + "/usr/share/sonic-pi/theme/high_contrast/doc-styles.css");
+
+ // attempt to create log directory
+ QDir logDir(log_path);
+@@ -1056,7 +1056,7 @@
+ return QCoreApplication::applicationDirPath() + "/../../../../..";
+ #else
+ // On linux, CMake builds app into the build folder
+- return QCoreApplication::applicationDirPath() + "/../../../..";
++ return QCoreApplication::applicationDirPath() + "/../..";
+ #endif
+ }
+
+@@ -1098,7 +1098,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/lib/sonic-pi/server/bin/task-register.rb")<< QString::number(serverProcess->processId());
+ #endif
+ QProcess *regServerProcess = new QProcess();
+ regServerProcess->start(ruby_path, regServerArgs);
+diff -ruN a/app/gui/qt/model/sonicpitheme.cpp b/app/gui/qt/model/sonicpitheme.cpp
+--- a/app/gui/qt/model/sonicpitheme.cpp 2020-02-25 01:23:45.000000000 +0100
++++ b/app/gui/qt/model/sonicpitheme.cpp 2020-03-08 19:59:00.840045897 +0100
+@@ -25,11 +25,11 @@
+ this->customSettingsFilename = customSettingsFilename;
+ this->rootPath = rootPath;
+
+- qt_app_theme_path = QDir::toNativeSeparators(rootPath + "/app/gui/qt/theme/app.qss");
++ qt_app_theme_path = QDir::toNativeSeparators(rootPath + "/usr/share/sonic-pi/theme/app.qss");
+
+- qt_browser_dark_css = QDir::toNativeSeparators(rootPath + "/app/gui/qt/theme/dark/doc-styles.css");
+- qt_browser_light_css = QDir::toNativeSeparators(rootPath + "/app/gui/qt/theme/light/doc-styles.css");
+- qt_browser_hc_css = QDir::toNativeSeparators(rootPath + "/app/gui/qt/theme/high_contrast/doc-styles.css");
++ qt_browser_dark_css = QDir::toNativeSeparators(rootPath + "/usr/share/sonic-pi/theme/dark/doc-styles.css");
++ qt_browser_light_css = QDir::toNativeSeparators(rootPath + "/usr/share/sonic-pi/theme/light/doc-styles.css");
++ qt_browser_hc_css = QDir::toNativeSeparators(rootPath + "/usr/share/sonic-pi/theme/high_contrast/doc-styles.css");
+
+ loadToolBarIcons();
+
Added: sonic-pi-3.2.0-ruby_paths.patch
===================================================================
--- sonic-pi-3.2.0-ruby_paths.patch (rev 0)
+++ sonic-pi-3.2.0-ruby_paths.patch 2020-03-08 22:53:49 UTC (rev 592635)
@@ -0,0 +1,111 @@
+diff -ruN a/app/server/ruby/core.rb d/app/server/ruby/core.rb
+--- a/app/server/ruby/core.rb 2020-02-25 01:23:45.000000000 +0100
++++ d/app/server/ruby/core.rb 2020-03-08 21:29:51.417948839 +0100
+@@ -146,7 +146,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("/usr/share/sonic-pi/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 a/app/server/ruby/lib/sonicpi/util.rb d/app/server/ruby/lib/sonicpi/util.rb
+--- a/app/server/ruby/lib/sonicpi/util.rb 2020-02-25 01:23:45.000000000 +0100
++++ d/app/server/ruby/lib/sonicpi/util.rb 2020-03-08 21:39:53.485189513 +0100
+@@ -252,11 +252,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
+@@ -264,7 +264,7 @@
+ end
+
+ def doc_path
+- File.absolute_path("#{etc_path}/doc")
++ File.absolute_path("/usr/share/doc/sonic-pi")
+ end
+
+ def cheatsheets_path
+@@ -276,7 +276,7 @@
+ end
+
+ def tmp_path
+- File.absolute_path("#{root_path}/tmp")
++ File.absolute_path("/tmp")
+ end
+
+ def synthdef_path
+@@ -292,19 +292,20 @@
+ end
+
+ def app_path
+- File.absolute_path("#{root_path}/app")
++ File.absolute_path("/usr/lib/sonic-pi")
+ end
+
+ def html_public_path
+- File.absolute_path("#{app_path}/gui/html/public")
++ File.absolute_path("#{doc_path}/gui/html/public")
+ end
+
++ # this path is only relevant during build time
+ def qt_gui_path
+ File.absolute_path("#{app_path}/gui/qt")
+ end
+
+ def examples_path
+- File.absolute_path("#{etc_path}/examples")
++ File.absolute_path("#{doc_path}/examples")
+ end
+
+ def server_path
+@@ -312,7 +313,7 @@
+ end
+
+ def server_bin_path
+- File.absolute_path("#{server_path}/ruby/bin")
++ File.absolute_path("#{server_path}/bin")
+ end
+
+ def native_path
+@@ -373,7 +374,7 @@
+ end
+
+ def erlang_server_path
+- File.join(server_path, "erlang")
++ File.absolute_path("/usr/lib/sonic-pi")
+ end
+
+ def user_settings_path
+diff -ruN a/app/server/ruby/util.rb d/app/server/ruby/util.rb
+--- a/app/server/ruby/util.rb 2020-02-25 01:23:45.000000000 +0100
++++ d/app/server/ruby/util.rb 2020-03-08 21:43:42.229538721 +0100
+@@ -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