diff --git a/PKGBUILD b/PKGBUILD index b3d7a08dcc6d..83ceefbe0768 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,16 +2,16 @@ pkgname=sonic-pi pkgver=3.2.0 -pkgrel=1 +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' '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') +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') @@ -19,11 +19,13 @@ 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-ruby_paths.patch" + "${pkgname}-3.2.0-sys-proctable.patch") sha512sums=('55c5ee2d42cf5988a2cbcad3429a595e0376bde0a96b71dccd6753fe27a51d439057b0de3e0d1cfce10318803d4c3869da00254db1312fbaaafc9c6b502af148' 'e530cc13cb6674dca2ace2a8da566ce28263a15197cf7fccd5d3e58b676c08ce860bc6264a95d26569ff1f923020a40ece1e05841c955c5db16e61c30938f1c0' 'fbe196bc332a7a04e8d5097204a13626e7aba3a70715d2a1676c0b1f37f56da427d0d5b417f92c27e64f91a03dd9d4335f65f26f9e9d14e4076d496c94c949af' - 'cd203e120e052ac06f08b4af082a95fddcd6a6a62386ed9a068f1b48123de02fa323fcf1d6e4429c6d55d980bb894d67eeafaf47fd31ab43dc70b13016914b9d') + '987504a8b98eea4a3fac2557fcbf002b8d0e9c991922c74e7649546ff963c30d0fef891cecb546f840801c88ec9b82f1afb4cebef9838a53af20d0f3f63a9c39' + '1bc24668171752cdf59d69c890d7ac5d22bd10d9e16a5e6283fd35746844be43a12ab397a89f52fb2ed92ce208e8d9b21c8a75a27953d1c7fc6502aa8d9aff19') prepare() { cd "$pkgname-$pkgver" @@ -38,6 +40,9 @@ prepare() { 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) diff --git a/sonic-pi-3.2.0-ruby_paths.patch b/sonic-pi-3.2.0-ruby_paths.patch index b60b21d4f896..5317858ee7c2 100644 --- a/sonic-pi-3.2.0-ruby_paths.patch +++ b/sonic-pi-3.2.0-ruby_paths.patch @@ -12,7 +12,7 @@ diff -ruN a/app/server/ruby/core.rb d/app/server/ruby/core.rb {: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 ++++ d/app/server/ruby/lib/sonicpi/util.rb 2020-03-09 19:16:54.479452971 +0100 @@ -252,11 +252,11 @@ end @@ -78,6 +78,25 @@ diff -ruN a/app/server/ruby/lib/sonicpi/util.rb d/app/server/ruby/lib/sonicpi/ut 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 diff --git a/sonic-pi-3.2.0-sys-proctable.patch b/sonic-pi-3.2.0-sys-proctable.patch new file mode 100644 index 000000000000..b403f9acdaf1 --- /dev/null +++ b/sonic-pi-3.2.0-sys-proctable.patch @@ -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