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 <[email protected]>
+
 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)

Reply via email to