From ee2d18fc8a925fd5b22821c6f487e885581dcefc Mon Sep 17 00:00:00 2001 From: David Runge Date: Sun, 8 Mar 2020 22:53:49 +0000 Subject: [PATCH] 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. --- PKGBUILD | 117 ++++++++++-------- fix-paths-in-gui.diff | 62 ---------- sonic-pi-3.2.0-devendor_qscintilla-qt5.patch | 23 ++++ sonic-pi-3.2.0-gui_paths.patch | 76 ++++++++++++ ...hs.diff => sonic-pi-3.2.0-ruby_paths.patch | 47 ++++--- 5 files changed, 198 insertions(+), 127 deletions(-) delete mode 100644 fix-paths-in-gui.diff create mode 100644 sonic-pi-3.2.0-devendor_qscintilla-qt5.patch create mode 100644 sonic-pi-3.2.0-gui_paths.patch rename fix-ruby-paths.diff => sonic-pi-3.2.0-ruby_paths.patch (65%) diff --git a/PKGBUILD b/PKGBUILD index 9b0bc7905c54..b3d7a08dcc6d 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,25 +1,29 @@ # Maintainer: David Runge + 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 @@ prepare() { --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 @@ prepare() { #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 - 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/{activesupport,ffi,i18n,kramdown,minitest,mocha,multi_json,rouge,rugged,sys-proctable}* 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 @@ build() { 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 @@ package() { # 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 @@ package() { # 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 @@ package() { -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 @@ package() { 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" } diff --git a/fix-paths-in-gui.diff b/fix-paths-in-gui.diff deleted file mode 100644 index 1679e41e2c92..000000000000 --- a/fix-paths-in-gui.diff +++ /dev/null @@ -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); diff --git a/sonic-pi-3.2.0-devendor_qscintilla-qt5.patch b/sonic-pi-3.2.0-devendor_qscintilla-qt5.patch new file mode 100644 index 000000000000..4f7a1725576a --- /dev/null +++ b/sonic-pi-3.2.0-devendor_qscintilla-qt5.patch @@ -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 diff --git a/sonic-pi-3.2.0-gui_paths.patch b/sonic-pi-3.2.0-gui_paths.patch new file mode 100644 index 000000000000..22069e9dd188 --- /dev/null +++ b/sonic-pi-3.2.0-gui_paths.patch @@ -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(); + diff --git a/fix-ruby-paths.diff b/sonic-pi-3.2.0-ruby_paths.patch similarity index 65% rename from fix-ruby-paths.diff rename to sonic-pi-3.2.0-ruby_paths.patch index a66e1f56fce3..b60b21d4f896 100644 --- a/fix-ruby-paths.diff +++ b/sonic-pi-3.2.0-ruby_paths.patch @@ -1,7 +1,7 @@ -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 @@ +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 @@ -10,10 +10,10 @@ diff -ruN sonic-pi-3.1.0-a/app/server/ruby/core.rb sonic-pi-3.1.0-c/app/server/r 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 @@ +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 @@ -27,7 +27,7 @@ diff -ruN sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb sonic-pi-3.1.0-c/ end def snippets_path -@@ -228,7 +228,7 @@ +@@ -264,7 +264,7 @@ end def doc_path @@ -36,7 +36,7 @@ diff -ruN sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb sonic-pi-3.1.0-c/ end def cheatsheets_path -@@ -240,7 +240,7 @@ +@@ -276,7 +276,7 @@ end def tmp_path @@ -45,7 +45,7 @@ diff -ruN sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb sonic-pi-3.1.0-c/ end def synthdef_path -@@ -256,7 +256,7 @@ +@@ -292,19 +292,20 @@ end def app_path @@ -54,7 +54,13 @@ diff -ruN sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb sonic-pi-3.1.0-c/ end def html_public_path -@@ -268,7 +268,7 @@ +- 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 @@ -63,7 +69,7 @@ diff -ruN sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb sonic-pi-3.1.0-c/ end def server_path -@@ -276,7 +276,7 @@ +@@ -312,7 +313,7 @@ end def server_bin_path @@ -72,9 +78,18 @@ diff -ruN sonic-pi-3.1.0-a/app/server/ruby/lib/sonicpi/util.rb sonic-pi-3.1.0-c/ 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 +@@ -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 @@ #++