diff options
author | Eric Hameleers <alien@slackware.com> | 2020-07-23 19:12:53 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2020-07-23 19:12:53 +0000 |
commit | d451757f7958df43efdfaaa56c4311a889fe96ee (patch) | |
tree | 9a30e72578a3f854b70bb34142620c2ee01f5070 /sonic-pi | |
parent | c955fe1c26786fd528c6fff6a1ba1977285aec71 (diff) | |
download | asb-d451757f7958df43efdfaaa56c4311a889fe96ee.tar.gz asb-d451757f7958df43efdfaaa56c4311a889fe96ee.tar.xz |
sonic-pi: create a cleaner package, which is a lot smaller and which puts all the documentation in /usr/doc
Diffstat (limited to 'sonic-pi')
-rwxr-xr-x | sonic-pi/build/sonic-pi.SlackBuild | 69 |
1 files changed, 65 insertions, 4 deletions
diff --git a/sonic-pi/build/sonic-pi.SlackBuild b/sonic-pi/build/sonic-pi.SlackBuild index 01c322fa..bf5557be 100755 --- a/sonic-pi/build/sonic-pi.SlackBuild +++ b/sonic-pi/build/sonic-pi.SlackBuild @@ -29,7 +29,7 @@ # Descr: live coding music performance tool # URL: https://sonic-pi.net/ # Build needs: erlang-otp -# Needs: aubio osmid sc3-plugins supercollider +# Needs: aubio sc3-plugins supercollider # Changelog: # 3.2.2-1: 21/Jul/2020 by Eric Hameleers <alien@slackware.com> # * Initial build. @@ -220,10 +220,68 @@ cd build cmake --build . cd - 1>/dev/null -# Install the lot into the package dir: +# Install the lot into the package dir. +# Use standard locations rather than those that the program expects, +# and apply symlinks librally to tie it all together. cd ${APPROOT} -mkdir -p $PKG/usr/libexec/sonic-pi -cp -a ${APPROOT}/{app,bin,etc} $PKG/usr/libexec/sonic-pi/ +##########cp -a ${APPROOT}/{app,etc} $PKG/usr/libexec/sonic-pi/ +# Create directories: +mkdir -p $PKG/usr/libexec/sonic-pi/app/gui/qt/{build,images,lang} +mkdir -p $PKG/usr/libexec/sonic-pi/app/server/{erlang,native} +mkdir -p $PKG/usr/libexec/sonic-pi/etc/synthdefs/graphviz + +# Copy the GUI programs: +cp -a ${APPROOT}/bin $PKG/usr/libexec/sonic-pi/ +cp -a ${APPROOT}/app/gui/qt/build/sonic-pi $PKG/usr/libexec/sonic-pi/app/gui/qt/build/ + +# All the other stuff needed by the GUI: +cp -a ${APPROOT}/app/gui/qt/fonts $PKG/usr/libexec/sonic-pi/app/gui/qt/ +cd ${APPROOT}/app/gui/qt/images + find . -name "*.png" | xargs -I '{}' cp -a --parents '{}' $PKG/usr/libexec/sonic-pi/app/gui/qt/images/ +cd - 1>/dev/null +cp -a ${APPROOT}/app/gui/qt/lang/*.qm $PKG/usr/libexec/sonic-pi/app/gui/qt/lang/ +cp -a ${APPROOT}/app/gui/qt/theme $PKG/usr/libexec/sonic-pi/app/gui/qt/ + +# Audio data: +cp -a ${APPROOT}/etc/buffers $PKG/usr/libexec/sonic-pi/etc/ +cp -a ${APPROOT}/etc/samples $PKG/usr/libexec/sonic-pi/etc/ +cp -a ${APPROOT}/etc/snippets $PKG/usr/libexec/sonic-pi/etc/ +cd ${APPROOT}/etc/synthdefs + find . -name "*.scsyndef" -o -name "*.clj" -o -name "*.md" \ + | xargs -I '{}' cp -a --parents '{}' $PKG/usr/libexec/sonic-pi/etc/synthdefs/ +cd - 1>/dev/null + +# The erlang files: +cp -a ${APPROOT}/app/server/erlang/*.beam ${APPROOT}/app/server/erlang/*.md $PKG/usr/libexec/sonic-pi/app/server/erlang/ + +# osmid: +cp -a ${APPROOT}/app/server/native/osmid $PKG/usr/libexec/sonic-pi/app/server/native/ + +# Ruby files - there's a lot of crap in there that I can not really assess: +cp -a ${APPROOT}/app/server/ruby $PKG/usr/libexec/sonic-pi/app/server/ +# Remove unused bloat that I recognize: +find $PKG/usr/libexec/sonic-pi/app/server/ruby -name libgit2 -type d | xargs rm -rf +# We do not want these either: +find $PKG/usr/libexec/sonic-pi/app/server/ruby -name Rakefile | xargs rm -f +find $PKG/usr/libexec/sonic-pi/app/server/ruby -name "*.c" | xargs rm -rf +find $PKG/usr/libexec/sonic-pi/app/server/ruby -name "*.o" | xargs rm -rf +find $PKG/usr/libexec/sonic-pi/app/server/ruby -name ".git*" | xargs rm -rf + +# The documentation: +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a ${APPROOT}/app/gui/qt/book $PKG/usr/doc/$PRGNAM-$VERSION/ +ln -s /usr/doc/$PRGNAM-$VERSION/book $PKG/usr/libexec/sonic-pi/app/gui/qt/ +cp -a ${APPROOT}/app/gui/qt/help $PKG/usr/doc/$PRGNAM-$VERSION/ +ln -s /usr/doc/$PRGNAM-$VERSION/help $PKG/usr/libexec/sonic-pi/app/gui/qt/ +cp -a ${APPROOT}/app/gui/qt/html $PKG/usr/doc/$PRGNAM-$VERSION/ +ln -s /usr/doc/$PRGNAM-$VERSION/html $PKG/usr/libexec/sonic-pi/app/gui/qt/ +cp -a ${APPROOT}/etc/doc/{cheatsheets,images,lang,tutorial} $PKG/usr/doc/$PRGNAM-$VERSION/ +ln -s /usr/doc/$PRGNAM-$VERSION $PKG/usr/libexec/sonic-pi/etc/doc +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/synthdefs +cp -a ${APPROOT}/etc/synthdefs/graphviz/pdf $PKG/usr/doc/$PRGNAM-$VERSION/synthdefs/ +ln -s /usr/doc/$PRGNAM-$VERSION/synthdefs/pdf $PKG/usr/libexec/sonic-pi/etc/synthdefs/graphviz/ +cp -a ${APPROOT}/etc/examples $PKG/usr/doc/$PRGNAM-$VERSION/ +ln -s /usr/doc/$PRGNAM-$VERSION/examples $PKG/usr/libexec/sonic-pi/etc/ # Create a program wrapper: mkdir -p $PKG/usr/bin @@ -235,6 +293,9 @@ EOT chmod 755 $PKG/usr/bin/sonic-pi # Install a desktop file: +mkdir -p $PKG/usr/share/pixmaps +cp -a ${APPROOT}/app/gui/qt/images/icon-smaller.png \ + $PKG/usr/share/pixmaps/sonic-pi.png mkdir -p $PKG/usr/share/applications cat <<EOT > $PKG/usr/share/applications/$PRGNAM.desktop [Desktop Entry] |