Date: Tuesday, March 10, 2020 @ 18:16:34 Author: dvzrv Revision: 593843
archrelease: copy trunk to community-x86_64 Added: sonic-pi/repos/community-x86_64/PKGBUILD (from rev 593842, sonic-pi/trunk/PKGBUILD) sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-devendor_qscintilla-qt5.patch (from rev 593842, sonic-pi/trunk/sonic-pi-3.2.0-devendor_qscintilla-qt5.patch) sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-gui_paths.patch (from rev 593842, sonic-pi/trunk/sonic-pi-3.2.0-gui_paths.patch) sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-ruby_paths.patch (from rev 593842, sonic-pi/trunk/sonic-pi-3.2.0-ruby_paths.patch) sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-sys-proctable.patch (from rev 593842, sonic-pi/trunk/sonic-pi-3.2.0-sys-proctable.patch) Deleted: sonic-pi/repos/community-x86_64/PKGBUILD sonic-pi/repos/community-x86_64/fix-paths-in-gui.diff sonic-pi/repos/community-x86_64/fix-ruby-paths.diff ----------------------------------------------+ PKGBUILD | 424 +++++++++++++------------ 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 | 130 +++++++ sonic-pi-3.2.0-sys-proctable.patch | 31 + 7 files changed, 484 insertions(+), 358 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-03-10 18:16:22 UTC (rev 593842) +++ PKGBUILD 2020-03-10 18:16:34 UTC (rev 593843) @@ -1,200 +0,0 @@ -# Maintainer: David Runge <dv...@archlinux.org> -pkgname=sonic-pi -pkgver=3.1.0 -pkgrel=8 -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') -makedepends=('boost' 'cmake' 'erlang-nox' 'gendesk' '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' - 'ea827c451a42ea12b7a1ced04978fa3a3eb5368b9802c982a0f815159d5591bedc4dc5b9eed89df3957087352bcb5f778e054abd2cb38cc1e57ab538e73b97f3' - '245418d7d3d145a77423350afd2598865395ed5e479fa13922320e6d53c849b01e99c71c460e384f69a8a70d6087899d9e26dcd06d68a13980fc2d6a543b2644') - -prepare() { - cd "$pkgname-$pkgver" - gendesk -n \ - --pkgname ${pkgname} \ - --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 - #TODO: devendor ruby-ast - #TODO: devendor ruby-atomic (bin) - #TODO: devendor ruby-benchmark-ips - #TODO: devendor ruby-blankslate - #TODO: devendor ruby-did_you_mean (bin) - #TODO: devendor ruby-fast_osc (bin) - #TODO: devendor ruby-gettext - #TODO: devendor ruby-hamster - #TODO: devendor ruby-interception (bin) - #TODO: devendor ruby-locale - #TODO: devendor ruby-memoist - #TODO: devendor ruby-metaclass - #TODO: devendor ruby-parser - #TODO: devendor ruby-parslet - #TODO: devendor ruby-rubame - #TODO: devendor ruby-aubio-prerelease - #TODO: devendor ruby-beautify - #TODO: devendor ruby-text - #TODO: devendor ruby-thread_safe - #TODO: devendor ruby-wavefile - #TODO: devendor ruby-websocket - # devendor 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/{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 - - 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/lib/${pkgname}/server" - rm -v "${pkgdir}/usr/lib/${pkgname}/server/vendor/"*/ext/*.{o,c} - 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" -} Copied: sonic-pi/repos/community-x86_64/PKGBUILD (from rev 593842, sonic-pi/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-03-10 18:16:34 UTC (rev 593843) @@ -0,0 +1,224 @@ +# Maintainer: David Runge <dv...@archlinux.org> + +pkgname=sonic-pi +pkgver=3.2.0 +pkgrel=2 +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' 'gcc-libs' 'glibc' 'osmid' 'qt5-base' 'qscintilla-qt5' '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' +'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" + "${pkgname}-3.2.0-gui_paths.patch" + "${pkgname}-3.2.0-devendor_qscintilla-qt5.patch" + "${pkgname}-3.2.0-ruby_paths.patch" + "${pkgname}-3.2.0-sys-proctable.patch") +sha512sums=('55c5ee2d42cf5988a2cbcad3429a595e0376bde0a96b71dccd6753fe27a51d439057b0de3e0d1cfce10318803d4c3869da00254db1312fbaaafc9c6b502af148' + 'e530cc13cb6674dca2ace2a8da566ce28263a15197cf7fccd5d3e58b676c08ce860bc6264a95d26569ff1f923020a40ece1e05841c955c5db16e61c30938f1c0' + 'fbe196bc332a7a04e8d5097204a13626e7aba3a70715d2a1676c0b1f37f56da427d0d5b417f92c27e64f91a03dd9d4335f65f26f9e9d14e4076d496c94c949af' + '987504a8b98eea4a3fac2557fcbf002b8d0e9c991922c74e7649546ff963c30d0fef891cecb546f840801c88ec9b82f1afb4cebef9838a53af20d0f3f63a9c39' + '1bc24668171752cdf59d69c890d7ac5d22bd10d9e16a5e6283fd35746844be43a12ab397a89f52fb2ed92ce208e8d9b21c8a75a27953d1c7fc6502aa8d9aff19') + +prepare() { + cd "$pkgname-$pkgver" + gendesk -n \ + --pkgname ${pkgname} \ + --pkgdesc "${pkgdesc}" \ + --name sonic-pi \ + --categories "AudioVideo;Audio" + rm -rvf app/server/native + # 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" + # fix issue with changed signature in one of ruby-sys-proctable's functions: + # https://github.com/samaaron/sonic-pi/issues/2280 + patch -Np1 -i "../${pkgname}-3.2.0-sys-proctable.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 + #TODO: devendor ruby-blankslate + #TODO: devendor ruby-did_you_mean (bin) + #TODO: devendor ruby-fast_osc (bin) + #TODO: devendor ruby-gettext + #TODO: devendor ruby-hamster + #TODO: devendor ruby-interception (bin) + #TODO: devendor ruby-locale + #TODO: devendor ruby-memoist + #TODO: devendor ruby-metaclass + #TODO: devendor ruby-parser + #TODO: devendor ruby-parslet + #TODO: devendor ruby-rubame + #TODO: devendor ruby-aubio-prerelease + #TODO: devendor ruby-beautify + #TODO: devendor ruby-text + #TODO: devendor ruby-thread_safe + #TODO: devendor ruby-wavefile + #TODO: devendor ruby-websocket + + # 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}* + rm -rvf app/server/ruby/vendor/{narray,ruby-coreaudio,ruby-prof}* +} + +build() { + cd "$pkgname-$pkgver" + + ( + # OSC and pi_server + cd app/server/erlang + erlc {osc,pi_server}.erl + ) + + ( + # ruby extensions + cd app/server/ruby/bin + ./compile-extensions.rb + ./i18n-tool.rb -t + ) + + ( + # 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 + ) + + ( + # 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 +#check() { +# cd "$pkgname-$pkgver" +# cd app/server/ruby/test +# rake test +#} + +package() { + cd "$pkgname-$pkgver" + # GUI executable + 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" + # 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/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" + # 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/lib/${pkgname}/server" + rm -v "${pkgdir}/usr/lib/${pkgname}/server/vendor/"*/ext/*.{o,c} + 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-10 18:16:22 UTC (rev 593842) +++ fix-paths-in-gui.diff 2020-03-10 18:16:34 UTC (rev 593843) @@ -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-10 18:16:22 UTC (rev 593842) +++ fix-ruby-paths.diff 2020-03-10 18:16:34 UTC (rev 593843) @@ -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) Copied: sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-devendor_qscintilla-qt5.patch (from rev 593842, sonic-pi/trunk/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-10 18:16:34 UTC (rev 593843) @@ -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 Copied: sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-gui_paths.patch (from rev 593842, sonic-pi/trunk/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-10 18:16:34 UTC (rev 593843) @@ -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(); + Copied: sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-ruby_paths.patch (from rev 593842, sonic-pi/trunk/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-10 18:16:34 UTC (rev 593843) @@ -0,0 +1,130 @@ +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-09 19:16:54.479452971 +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 +@@ -320,15 +321,15 @@ + end + + def sox_path +- File.join(native_path, "sox", __exe_fix("sox")) ++ File.absolute_path("/usr/bin/sox") + end + + def osmid_o2m_path +- File.join(native_path, "osmid", __exe_fix("o2m")) ++ File.absolute_path("/usr/bin/o2m") + end + + def osmid_m2o_path +- File.join(native_path, "osmid", __exe_fix("m2o")) ++ File.absolute_path("/usr/bin/m2o") + end + + def scsynth_log_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) Copied: sonic-pi/repos/community-x86_64/sonic-pi-3.2.0-sys-proctable.patch (from rev 593842, sonic-pi/trunk/sonic-pi-3.2.0-sys-proctable.patch) =================================================================== --- sonic-pi-3.2.0-sys-proctable.patch (rev 0) +++ sonic-pi-3.2.0-sys-proctable.patch 2020-03-10 18:16:34 UTC (rev 593843) @@ -0,0 +1,31 @@ +diff -ruN a/app/server/ruby/bin/task-clear.rb e/app/server/ruby/bin/task-clear.rb +--- a/app/server/ruby/bin/task-clear.rb 2020-02-25 01:23:45.000000000 +0100 ++++ e/app/server/ruby/bin/task-clear.rb 2020-03-10 18:46:53.990877950 +0100 +@@ -77,7 +77,7 @@ + end + + begin +- info = Sys::ProcTable.ps(pid) ++ info = Sys::ProcTable.ps(pid: pid) + raise unless info + rescue + log_process_info " -- unable to get ProcTable info for: #{pid}" +diff -ruN a/app/server/ruby/bin/task-register.rb e/app/server/ruby/bin/task-register.rb +--- a/app/server/ruby/bin/task-register.rb 2020-02-25 01:23:45.000000000 +0100 ++++ e/app/server/ruby/bin/task-register.rb 2020-03-10 18:48:39.273368749 +0100 +@@ -34,12 +34,14 @@ + f = nil + + begin +- if s = Sys::ProcTable.ps(pid) ++ if s = Sys::ProcTable.ps(pid: pid) + f = File.open(pid_path, 'w') + f.puts s.cmdline + log_process_info "Started [#{pid}] [-] #{s.cmdline} [-] #{pid_path}" + end + rescue Exception => e ++ log_process_info "ERROR: Unable to write information for PID #{pid} to path #{pid_path}!" ++ log_process_info "#{e}" + end + + f.close if f