diff options
author | Jabez Tho | 2020-05-30 14:19:47 +0800 |
---|---|---|
committer | Jabez Tho | 2020-05-30 14:19:47 +0800 |
commit | 253ec006a03915699a70ab66fcb9dee44f6cfa4a (patch) | |
tree | 678ce87c37b5ea7c9293948e4ffc99ae265f4818 | |
download | aur-253ec006a03915699a70ab66fcb9dee44f6cfa4a.tar.gz |
modified ubuntu installer, ncurses5-compat-lib as workaround for clangd
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 89 | ||||
-rw-r--r-- | mbed-studio-bin.install | 20 | ||||
-rw-r--r-- | mbed-studio-bin.sh | 10 |
4 files changed, 140 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..03d18da9bdc1 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = mbed-studio-bin + pkgdesc = free IDE and toolchain for Mbed OS 5 application and library development + pkgver = 0.9.1 + pkgrel = 1 + url = https://os.mbed.com/studio/ + arch = x86_64 + license = COMMERCIAL + depends = ncurses5-compat-libs + provides = mbed-studio + options = !strip + source = https://studio.mbed.com/installers/release-0.9.1/0.9.1.a7d67582/linux/MbedStudio.tar.gz + source = https://studio.mbed.com/tools/linux/clangd-ubuntu-18/clangd-8.0.1.zip + source = mbed-studio-bin.sh + source = mbed-studio-bin.install + md5sums = c9acf7d6ea77e191c7497d8ed4221873 + md5sums = fdb5e9446da4a0b4b0794172d8891824 + md5sums = ba5f16b0d7eeef5b124cd68078a38672 + md5sums = 7cf4ae1f6777f0c610125a59b0fefca6 + +pkgname = mbed-studio-bin + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..519940d27544 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: pragerabez + +pkgname=mbed-studio-bin +_archivename=MbedStudio +_binname=${pkgname%%-bin} +DOMAIN="https://studio.mbed.com" +ARCHIVE_PATH="/installers/release-0.9.1/0.9.1.a7d67582/linux/MbedStudio.tar.gz" +CLANGD_FILENAME="clangd-8.0.1.zip" +INTERNAL_CLANG_VER="8" +pkgver=0.9.1 +pkgrel=1 +pkgdesc="free IDE and toolchain for Mbed OS 5 application and library development, run as root for armc6 compiler" +arch=('x86_64') +url="https://os.mbed.com/studio/" +license=('COMMERCIAL') +depends=('ncurses5-compat-libs') +provides=('mbed-studio') +options=(!strip) +source=("$DOMAIN$ARCHIVE_PATH" +"$DOMAIN/tools/linux/clangd-ubuntu-18/$CLANGD_FILENAME" +"$pkgname.sh" +"$pkgname.install") + +package() { + cd "$srcdir" + msg2 "Extracting..." + + INSTALL_PATH="$pkgdir/usr/share/$pkgname" + TOOLS_PATH="$INSTALL_PATH/mbed-studio-tools" + LAUNCHER_PATH="$pkgdir/usr/share/applications" + ICON_PATH_PREFIX="$pkgdir/usr/share/icons/hicolor" + BIN_PATH="$INSTALL_PATH/bin" + #EXEC_PATH contain a modified bash file checks if mbed-studio-tools exist in user .config before running mbed-studio else symlink + EXEC_PATH="$pkgdir/usr/bin/$pkgname" + + # move the tools where needed + mkdir -p "$INSTALL_PATH" + cp -r "$_archivename/$_binname-tools" "$INSTALL_PATH" + + # move clangd as needed + mkdir -p "$TOOLS_PATH/clangd" + cp "clang-$INTERNAL_CLANG_VER" "$TOOLS_PATH/clangd" + cp "clangd" "$TOOLS_PATH/clangd" + cp "generate_compile_commands.py" "$TOOLS_PATH/clangd" + + # copy tools.json where needed + install -D "$_archivename/tools.json" "$TOOLS_PATH/tools.json" + + # move the application where needed + install -D "$_archivename/$_binname" "$INSTALL_PATH/$_binname" + + # move bash runfile (custom) where needed + install -D "$pkgname.sh" "$pkgdir/usr/bin/$pkgname" + + # add icons + ICO_SIZES=(16 24 32 48 64 96 128 256 512 1024) + for SIZE in "${ICO_SIZES[@]}" + do + ICON_PATH="$ICON_PATH_PREFIX/${SIZE}x${SIZE}/apps" + mkdir -p "$ICON_PATH" + FILENAME1="icons/icon_${SIZE}x${SIZE}.png" + if [ -f $_archivename/$FILENAME1 ]; then + install -D "$_archivename/$FILENAME1" "$ICON_PATH/$_binname.png" + else + FILENAME2="icons/icon_${SIZE}.png" + if [ -f $_archivename/$FILENAME2 ]; then + install -D "$_archivename/$FILENAME2" "$ICON_PATH/$_binname.png" + fi + fi + done + + # create a launcher + ICON_PATH_PREFIX="/usr/share/icons/hicolor" + ICON_PATH="$ICON_PATH_PREFIX/256x256/apps/$_binname.png" + install -d "$LAUNCHER_PATH" + sed -e "s,\\\$bin_path\\\$,/usr/bin/$pkgname,g" -e "s,\\\$icon_path\\\$,${ICON_PATH},g" $_archivename/$_binname.desktop.template > "$LAUNCHER_PATH/$_binname.desktop" + + # udev rules (https://github.com/mbedmicro/pyOCD/tree/master/udev) + # copy udev rules + mkdir -p "$pkgdir/etc/udev/rules.d/" + cp $_archivename/pyocd-udev-rules/*.rules "$pkgdir/etc/udev/rules.d/" + chmod +x "$INSTALL_PATH/$_binname" + chmod +x "$EXEC_PATH" +} + +md5sums=('c9acf7d6ea77e191c7497d8ed4221873' + 'fdb5e9446da4a0b4b0794172d8891824' + 'ba5f16b0d7eeef5b124cd68078a38672' + '7cf4ae1f6777f0c610125a59b0fefca6') diff --git a/mbed-studio-bin.install b/mbed-studio-bin.install new file mode 100644 index 000000000000..53c6ef75848e --- /dev/null +++ b/mbed-studio-bin.install @@ -0,0 +1,20 @@ +post_install() { + ## reload udev rules + # reload udev rules + udevadm control --reload + udevadm trigger +} + +post_upgrade() { + ## reload udev rules + # reload udev rules + udevadm control --reload + udevadm trigger +} + +post_remove() { + ## reload udev rules + # reload udev rules + udevadm control --reload + udevadm trigger +} diff --git a/mbed-studio-bin.sh b/mbed-studio-bin.sh new file mode 100644 index 000000000000..3b54f19a0a1e --- /dev/null +++ b/mbed-studio-bin.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +USR_TOOLS_PATH="$HOME/.config/Mbed Studio/mbed-studio-tools" + +if [ ! -d "$USR_TOOLS_PATH" ]; then + mkdir -p "$HOME/.config/Mbed Studio" + ln -s "/usr/share/mbed-studio-bin/mbed-studio-tools" "$USR_TOOLS_PATH" +fi + +/usr/share/mbed-studio-bin/mbed-studio |