[arch-commits] Commit in sonic-pi/repos (4 files)

David Runge dvzrv at archlinux.org
Fri Feb 8 11:51:55 UTC 2019


    Date: Friday, February 8, 2019 @ 11:51:54
  Author: dvzrv
Revision: 430652

archrelease: copy trunk to community-x86_64

Added:
  sonic-pi/repos/community-x86_64/
  sonic-pi/repos/community-x86_64/PKGBUILD
    (from rev 430651, sonic-pi/trunk/PKGBUILD)
  sonic-pi/repos/community-x86_64/fix-paths-in-gui.diff
    (from rev 430651, sonic-pi/trunk/fix-paths-in-gui.diff)
  sonic-pi/repos/community-x86_64/fix-ruby-paths.diff
    (from rev 430651, sonic-pi/trunk/fix-ruby-paths.diff)

-----------------------+
 PKGBUILD              |  201 ++++++++++++++++++++++++++++++++++++++++++++++++
 fix-paths-in-gui.diff |   62 ++++++++++++++
 fix-ruby-paths.diff   |   96 ++++++++++++++++++++++
 3 files changed, 359 insertions(+)

Copied: sonic-pi/repos/community-x86_64/PKGBUILD (from rev 430651, sonic-pi/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD	                        (rev 0)
+++ community-x86_64/PKGBUILD	2019-02-08 11:51:54 UTC (rev 430652)
@@ -0,0 +1,201 @@
+# Maintainer: David Runge <dave at sleepmap.de>
+pkgname=sonic-pi
+pkgver=3.1.0
+pkgrel=5
+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-ffi'
+'ruby-minitest' '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-activesupport
+  #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-i18n
+  #TODO: devendor ruby-interception (bin)
+  #TODO: devendor ruby-kramdown (i18n-tool.rb breaks on it)
+  #TODO: devendor ruby-locale
+  #TODO: devendor ruby-memoist
+  #TODO: devendor ruby-metaclass
+  #TODO: devendor ruby-mocha
+  #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/{ffi,minitest,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}*
+}
+
+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/fix-paths-in-gui.diff (from rev 430651, sonic-pi/trunk/fix-paths-in-gui.diff)
===================================================================
--- community-x86_64/fix-paths-in-gui.diff	                        (rev 0)
+++ community-x86_64/fix-paths-in-gui.diff	2019-02-08 11:51:54 UTC (rev 430652)
@@ -0,0 +1,62 @@
+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);

Copied: sonic-pi/repos/community-x86_64/fix-ruby-paths.diff (from rev 430651, sonic-pi/trunk/fix-ruby-paths.diff)
===================================================================
--- community-x86_64/fix-ruby-paths.diff	                        (rev 0)
+++ community-x86_64/fix-ruby-paths.diff	2019-02-08 11:51:54 UTC (rev 430652)
@@ -0,0 +1,96 @@
+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)



More information about the arch-commits mailing list