summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorOSAMC2024-04-02 14:23:36 +0000
committerFlorian Hülsmann2024-04-02 14:23:36 +0000
commitd017fc0ea14fb0fed099789f7585005bb8f61263 (patch)
treed8c319b7a388ac2f4e2e2ff1ff3527590e14ca23
downloadaur-d017fc0ea14fb0fed099789f7585005bb8f61263.tar.gz
Package midi2-workbench (#399)
* Package midi2-workbench * cleanup, formatting * fix makedepends * use system node-gyp * disable aarch64 due to missing electron; pin electron to 29 * cleanup, fix repro * cleanup, fix cross dir hardlinks * libasound dep * directly install to /usr/lib * don't use prebuilt usb binaries * cleanup, deps * try switching to electron28 * try switching to electron27
-rw-r--r--.SRCINFO28
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD68
-rw-r--r--midi2-workbench.desktop11
-rwxr-xr-xmidi2-workbench.sh3
5 files changed, 114 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..44cdc39c8139
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = midi2-workbench
+ pkgdesc = MIDI 2.0 debugging utility
+ pkgver = 1.5.6
+ pkgrel = 1
+ url = https://github.com/midi2-dev/MIDI2.0Workbench
+ arch = x86_64
+ groups = pro-audio
+ license = MIT
+ makedepends = alsa-lib
+ makedepends = node-gyp
+ makedepends = npm
+ makedepends = systemd-libs
+ depends = electron27
+ depends = gcc-libs
+ depends = glibc
+ source = midi2-workbench-1.5.6.tar.gz::https://github.com/midi2-dev/MIDI2.0Workbench/archive/refs/tags/v1.5.6p.tar.gz
+ source = midi2-workbench.sh
+ source = midi2-workbench.desktop
+ sha256sums = 317fe57e371af684c557c167de0d5a824fe231b58af6a7baece8d565ddf76bf2
+ sha256sums = 79191c43cc81a733e4f24f929f5b489bcc10e5c2256dec6507d04fdb34862e3d
+ sha256sums = fe31fc81dfc72fbbb131c3a187b90cd924948c1bad5a0cbb6421771b92eb2c8c
+
+pkgname = midi2-workbench
+ depends = electron27
+ depends = gcc-libs
+ depends = glibc
+ depends = libasound.so
+ depends = libudev.so
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..57e7fd90984f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+pkg/
+src/
+*.tar.*
+*.zip
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ed49fcad3440
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,68 @@
+# Maintainer: OSAMC <https://github.com/osam-cologne/archlinux-proaudio>
+# Contributor: Florian Hülsmann <fh@cbix.de>
+
+_name=MIDI2.0Workbench
+pkgname=midi2-workbench
+pkgver=1.5.6
+_ver=${pkgver}p
+pkgrel=1
+pkgdesc='MIDI 2.0 debugging utility'
+arch=(x86_64)
+url='https://github.com/midi2-dev/MIDI2.0Workbench'
+license=(MIT)
+_electron=electron27
+depends=($_electron gcc-libs glibc)
+makedepends=(alsa-lib node-gyp npm systemd-libs)
+groups=(pro-audio)
+source=(
+ "$pkgname-$pkgver.tar.gz::https://github.com/midi2-dev/$_name/archive/refs/tags/v$_ver.tar.gz"
+ 'midi2-workbench.sh'
+ 'midi2-workbench.desktop'
+)
+sha256sums=('317fe57e371af684c557c167de0d5a824fe231b58af6a7baece8d565ddf76bf2'
+ '79191c43cc81a733e4f24f929f5b489bcc10e5c2256dec6507d04fdb34862e3d'
+ 'fe31fc81dfc72fbbb131c3a187b90cd924948c1bad5a0cbb6421771b92eb2c8c')
+case $CARCH in
+ aarch64) _arch=arm64 ;;
+ x86_64) _arch=x64 ;;
+ i686) _arch=ia32 ;;
+esac
+
+prepare() {
+ _npmargs=("--openssl-fips=''" --cache "$srcdir"/npm-cache --no-audit --no-fund)
+ _electron_ver="$(< /usr/lib/$_electron/version)"
+ cd $_name-$_ver
+ # remove unused dependencies
+ sed -e /serialport/d -e /bonjour-service/d -e /cobs/d -e /sanitize-filename/d -i package.json
+ HOME="$srcdir"/.electron-gyp npm "${_npmargs[@]}" install --os linux --cpu $_arch
+ # don't use prebuilt binaries
+ rm -r node_modules/usb/prebuilds
+ # use system node-gyp
+ ln -sf /usr/bin/node-gyp node_modules/.bin/node-gyp
+}
+
+build() {
+ cd $_name-$_ver
+ npx "${_npmargs[@]}" electron-builder -- \
+ --linux --$_arch --dir \
+ -c.electronDist=/usr/lib/$_electron \
+ -c.electronVersion=$_electron_ver \
+ -c.asar=false \
+ --publish=never
+}
+
+package() {
+ depends+=(libasound.so libudev.so)
+ install -vDm755 $pkgname.sh "$pkgdir"/usr/bin/$pkgname
+ install -vDm644 $pkgname.desktop -t "$pkgdir"/usr/share/applications
+
+ cd $_name-$_ver
+ install -vDm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
+ install -vDm644 icon.png "$pkgdir"/usr/share/pixmaps/$pkgname.png
+
+ cd dist/linux-unpacked/resources
+ # some cleanup
+ rm -rf app/{midi2usb,winmidi2,*.png}
+ install -d "$pkgdir"/usr/lib
+ cp -a app "$pkgdir"/usr/lib/$pkgname
+}
diff --git a/midi2-workbench.desktop b/midi2-workbench.desktop
new file mode 100644
index 000000000000..c7598a284231
--- /dev/null
+++ b/midi2-workbench.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=MIDI 2.0 Workbench
+Comment=MIDI 2.0 debugging utility
+Exec=midi2-workbench
+Icon=midi2-workbench
+Terminal=false
+StartupNotify=false
+Categories=Audio;
+StartupWMClass=midi2_workbench_public
diff --git a/midi2-workbench.sh b/midi2-workbench.sh
new file mode 100755
index 000000000000..4bff7df82f5c
--- /dev/null
+++ b/midi2-workbench.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec electron27 /usr/lib/midi2-workbench "$@"