summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Arndt2023-07-06 20:22:13 +0200
committerChristopher Arndt2023-07-07 00:54:33 +0200
commit9ac5cb2ff1b6c721d6c6c32a852bc527fdace20a (patch)
treef59f55175283f144cfec5633cf8161ce57169dfa
parente4c38517b09dc49da8f9c2b7fbd24e31e27fe200 (diff)
downloadaur-9ac5cb2ff1b6c721d6c6c32a852bc527fdace20a.tar.gz
Switched to build from forked repo
Fixes file dialogs, overwrite banks issue and adds wavetable interpolation feature. PKGBUILD changes: * Parse version from makefile * Changed url and description * Fix git sub-module checkout * Add icon and desktop file * Clean up PKGBUILD * Install banks and wav catalog * Fix catalog path in source * Removed gtk2 dependency * Add zentity to depends * Add imagemagick and gendesk to makedepends
-rw-r--r--.SRCINFO21
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD126
3 files changed, 88 insertions, 65 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5a72d2c2fb86..be22df673d47 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,34 +1,33 @@
pkgbase = waveedit-git
- pkgdesc = A wavetable editor for the E370 and E352 Eurorack synthesizer modules (git version)
- pkgver = 1.1.r0.gf699e1a
+ pkgdesc = A wavetable editor for wavetable synthesizers (git version)
+ pkgver = 1.2.r129.6b6188a
pkgrel = 1
- url = https://github.com/AndrewBelt/WaveEdit
+ url = https://synthtech.com/waveedit
arch = x86_64
groups = pro-audio
license = GPL3
+ makedepends = gendesk
makedepends = git
- depends = gtk2
+ makedepends = imagemagick
depends = jansson
depends = libsamplerate
depends = libsndfile
depends = sdl2
+ depends = zenity
provides = waveedit
- provides = waveedit=1.1
+ provides = waveedit=1.2
provides = waveedit
conflicts = waveedit
conflicts = waveedit
- source = waveedit::git+https://github.com/AndrewBelt/WaveEdit.git
- source = imgui::git+https://github.com/AndrewBelt/imgui.git
+ source = waveedit::git+https://github.com/SpotlightKid/WaveEdit.git#branch=aur
+ source = imgui::git+https://github.com/ocornut/imgui.git
source = lodepng::git+https://github.com/lvandeve/lodepng.git
- source = osdialog::git+https://github.com/AndrewBelt/osdialog.git
+ source = portable-file-dialogs::git+https://github.com/samhocevar/portable-file-dialogs.git
source = pffft::git+https://github.com/marton78/pffft.git
- source = waveedit-makefile-flags.patch
md5sums = SKIP
md5sums = SKIP
md5sums = SKIP
md5sums = SKIP
md5sums = SKIP
- md5sums = d13b1f10a705803cbc8a24b87247ed60
pkgname = waveedit-git
-
diff --git a/.gitignore b/.gitignore
index fa0fb61bb5b3..fa4cad7949fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,9 @@
-.AURINFO
pkg/
src/
waveedit/
imgui/
lodepng/
pffft/
-osdialog/
-waveedit-git-*.pkg.tar.xz
-waveedit-git-*.pkg.tar.zst
+portable-file-dialogs/
+waveedit-git-*.pkg.tar.*
waveedit-git-*.src.tar.gz
diff --git a/PKGBUILD b/PKGBUILD
index e4e94f6c0e67..7896f9a3d841 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,78 +1,104 @@
# Maintainer: Christopher Arndt <aur -at- chrisarndt -dot- de>
-_reponame=WaveEdit
-_pkgname="${_reponame,,}"
-pkgname="${_pkgname}-git"
-pkgver=1.1.r0.gf699e1a
+# **Note**
+#
+# This package builds from a fork of the original upstream repo. Upstream hasn't
+# been updated or maintained for years and uses an old, also un-maintained fork
+# of Dear ImGui. This old Dear ImGui version causes bugs in the UI event
+# handling, which makes file selection dialogs in teh aplplication unsusable.
+# The fork used here updates ImGui to the latest repo version (as of 07/23)
+# and also replace the 'osdialog' sub-module with 'portable-file-dialogs'
+# and fixes a few other bugs.
+
+_name=WaveEdit
+_pkgname=${_name,,}
+pkgname=$_pkgname-git
+pkgver=1.2.r129.6b6188a
pkgrel=1
-pkgdesc="A wavetable editor for the E370 and E352 Eurorack synthesizer modules (git version)"
-arch=('x86_64')
-url="https://github.com/AndrewBelt/${_reponame}"
-license=('GPL3')
-depends=('gtk2' 'jansson' 'libsamplerate' 'libsndfile' 'sdl2')
-makedepends=('git')
-#optdepends=()
-groups=('pro-audio')
-provides=("${_pkgname}" "${_pkgname}=${pkgver//.r*/}" "${_pkgname//-/.}")
-conflicts=("${_pkgname}" "${_pkgname//-/.}")
-source=("${_pkgname}::git+https://github.com/AndrewBelt/${_reponame}.git"
- 'imgui::git+https://github.com/AndrewBelt/imgui.git'
+pkgdesc='A wavetable editor for wavetable synthesizers (git version)'
+arch=(x86_64)
+url='https://synthtech.com/waveedit'
+license=(GPL3)
+depends=(jansson libsamplerate libsndfile sdl2 zenity)
+makedepends=(gendesk git imagemagick)
+groups=(pro-audio)
+provides=($_pkgname "$_pkgname=${pkgver//.r*/}" "${_pkgname//-/.}")
+conflicts=($_pkgname "${_pkgname//-/.}")
+source=("$_pkgname::git+https://github.com/SpotlightKid/$_name.git#branch=aur"
+ 'imgui::git+https://github.com/ocornut/imgui.git'
'lodepng::git+https://github.com/lvandeve/lodepng.git'
- 'osdialog::git+https://github.com/AndrewBelt/osdialog.git'
- 'pffft::git+https://github.com/marton78/pffft.git'
- 'waveedit-makefile-flags.patch')
+ 'portable-file-dialogs::git+https://github.com/samhocevar/portable-file-dialogs.git'
+ 'pffft::git+https://github.com/marton78/pffft.git')
md5sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
- 'SKIP'
- 'd13b1f10a705803cbc8a24b87247ed60')
+ 'SKIP')
pkgver() {
- cd "${srcdir}/${_pkgname}"
-
- (
- set -o pipefail
- git describe --long --tags 2>/dev/null | sed -e 's/^v//' -e 's/\([^-]*-g\)/r\1/;s/-/./g' ||
- printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
- )
+ cd $_pkgname
+ local ver="$(grep ^VERSION Makefile | cut -f 3 -d ' ')"
+ printf "%s.r%s.%s" "$ver" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+ #(
+ # set -o pipefail
+ # git describe --long --tags 2>/dev/null | sed -e 's/^v//' -e 's/\([^-]*-g\)/r\1/;s/-/./g' ||
+ # printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+ #)
}
prepare() {
- cd "${srcdir}/${_pkgname}"
+ cd $_pkgname
git submodule init
- git config submodule.imgui.url "${srcdir}/imgui"
- git config submodule.lodepng.url "${srcdir}/lodepng"
- git config submodule.osdialog.url "${srcdir}/osdialog"
- git config submodule.pfft.url "${srcdir}/pfft"
- git submodule update
+ git config submodule.imgui.url "$srcdir"/imgui
+ git config submodule.lodepng.url "$srcdir"/lodepng
+ git config submodule.portable-file-dialogs.url "$srcdir"/portable-file-dialogs
+ git config submodule.pfft.url "$srcdir"/pfft
+ git -c protocol.file.allow=always submodule update
- # Fix include and library paths for Linux using system libs
- patch -p1 -N -r - -i "${srcdir}"/waveedit-makefile-flags.patch
+ # Patch source for where WaveEdit looks for wave catalogs
+ sed -i -E -e 's|rootPath = ".*?"|rootPath = "/usr/share/waveedit/catalog"|' src/catalog.cpp
# Patch source for where WaveEdit looks for images
- sed -i -E -e 's|([-a-z]+\.png)|/usr/share/'${_pkgname}'/images/\1|' src/ui.cpp
+ sed -i -E -e 's|"([-a-z]+\.png)"|"/usr/share/'$_pkgname'/images/\1"|' src/ui.cpp
# Patch source for where WaveEdit looks for fonts
- sed -i -e 's|"fonts/|"/usr/share/'${_pkgname}'/fonts/|' src/ui.cpp
+ sed -i -e 's|"fonts/|"/usr/share/'$_pkgname'/fonts/|' src/ui.cpp
# Patch source for where WaveEdit looks for the manual PDF
- sed -i -e 's|"manual\.pdf"|"/usr/share/doc/'${pkgname}'/manual.pdf"|' src/ui.cpp
+ sed -i -e 's|"manual\.pdf"|"/usr/share/doc/'$pkgname'/manual.pdf"|' src/ui.cpp
}
build() {
- cd "${srcdir}/${_pkgname}"
+ cd $_pkgname
+
make
+ convert logo.ico logo.png
+ gendesk -f -n \
+ --pkgname "$_pkgname" \
+ --pkgdesc "$pkgdesc" \
+ --name=$_name \
+ --exec=$_name \
+ --categories 'Audio;AudioVideoEditing;Music;AudioVideo;'
}
package() {
- cd "${srcdir}/${_pkgname}"
- install -vDm 755 WaveEdit -t "${pkgdir}"/usr/bin
- install -vDm 644 logo-*.png -t "${pkgdir}"/usr/share/${_pkgname}/images
- install -vDm 644 fonts/*.ttf -t "${pkgdir}"/usr/share/${_pkgname}/fonts
- ln -sf WaveEdit "${pkgdir}"/usr/bin/waveedit
-
- install -vDm644 doc/*.{html,pdf,woff} -t "${pkgdir}/usr/share/doc/${pkgname}"
- install -vDm644 doc/images/*.png -t "${pkgdir}/usr/share/doc/${pkgname}/images"
- # used by manual.html, but not really important
- #install -vDm644 doc/Montserrat/*.ttf -t "${pkgdir}/usr/share/doc/${pkgname}/Montserrat"
+ cd $_pkgname
+ install -vDm 755 $_name -t "$pkgdir"/usr/bin
+ ln -sf $_name "$pkgdir"/usr/bin/$_pkgname
+ # UI images & fonts
+ install -vDm 644 logo-{dark,light}.png -t "$pkgdir"/usr/share/$_pkgname/images
+ install -vDm 644 fonts/*.ttf -t "$pkgdir"/usr/share/$_pkgname/fonts
+ # banks
+ install -vDm 644 banks/*.wav -t "$pkgdir"/usr/share/$_pkgname/banks
+ # wav catalog
+ for cat in catalog/*; do
+ install -vDm 644 $cat/*.wav -t "$pkgdir"/usr/share/$_pkgname/$cat
+ done
+ # desktop file & icon
+ install -vDm 644 logo-2.png "$pkgdir"/usr/share/pixmaps/$_pkgname.png
+ install -vDm 644 $_pkgname.desktop -t "$pkgdir"/usr/share/applications
+ # documentation
+ install -vDm644 doc/*.{html,pdf,woff} -t "$pkgdir"/usr/share/doc/$pkgname
+ install -vDm644 doc/images/*.png -t "$pkgdir"/usr/share/doc/$pkgname/images
+ # Don't install 'Montserrat' font used by manual.html, fallback font is fine.
+ #install -vDm644 doc/Montserrat/*.ttf -t "$pkgdir/usr/share/doc/${pkgname}/Montserrat"
}