summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Algar2022-06-18 15:16:40 -0700
committerRyan Algar2022-06-19 11:31:44 -0700
commit8f9c1572de9be94c5fad8c5f1d2cb38e18f969ef (patch)
tree063d5c427afb664c7fff178b1ba16d74c3038308
parent0418bc37b734e682a3488c94aea8941888ff102c (diff)
downloadaur-8f9c1572de9be94c5fad8c5f1d2cb38e18f969ef.tar.gz
Update to v2.3.3
-rw-r--r--.SRCINFO34
-rw-r--r--.gitignore2
-rw-r--r--.gitlab-ci.yml48
-rw-r--r--AppConfig.patch7
-rw-r--r--Makefile.patch7
-rw-r--r--PKGBUILD114
-rw-r--r--add-missing-include.patch25
7 files changed, 144 insertions, 93 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 92b5ec74182c..507196256eb1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,45 +1,29 @@
pkgbase = odin2-synthesizer
- pkgdesc = 24 voice polyphonic synthesizer, with modulation and FX. (Standalone, VST3, LV2)
- pkgver = 2.3.1
+ pkgdesc = 24 voice polyphonic synthesizer, with modulation and FX. (Standalone, VST3, LV2, CLAP)
+ pkgver = 2.3.3
pkgrel = 1
url = https://www.thewavewarden.com/odin2
install = .install
arch = x86_64
license = GPL3
- makedepends = atk
- makedepends = cairo
- makedepends = doxygen
- makedepends = gdk-pixbuf2
- makedepends = gendesk
+ makedepends = alsa-lib
+ makedepends = cmake
+ makedepends = curl
makedepends = git
- makedepends = graphviz
- makedepends = gtk3
- makedepends = harfbuzz
- makedepends = libfreetype.so=6-64
- makedepends = libjpeg-turbo
- makedepends = libpng
- makedepends = libsoup
makedepends = libx11
- makedepends = libxext
- makedepends = libxinerama
makedepends = lv2
- makedepends = pango
- makedepends = python
+ makedepends = mesa
makedepends = webkit2gtk
depends = man-pages
depends = ttf-font
optdepends = ttf-dejavu: One of these may be needed for fonts to render correctly
optdepends = ttf-liberation: One of these may be needed for fonts to render correctly
- provides = odin2
+ provides = odin2-synthesizer
conflicts = odin2-synthesizer-bin
backup = opt/odin2/odin2.conf
backup = opt/odin2/Soundbanks/User Patches
- source = /odin2::git+https://github.com/TheWaveWarden/odin2.git
- source = /JUCE::git+https://github.com/lv2-porting-project/JUCE.git
- source = AppConfig.patch
- source = Makefile.patch
- sha256sums = SKIP
- sha256sums = SKIP
+ source = git+https://github.com/TheWaveWarden/odin2.git
+ source = add-missing-include.patch
sha256sums = SKIP
sha256sums = SKIP
diff --git a/.gitignore b/.gitignore
index 73b4766d4a8c..bcf39fd63ff9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,5 +12,5 @@ pkg/
*.deb
# Odin2 specific ignores
-JUCE/
odin2/
+*.log
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000000..87a6ffb4e8aa
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,48 @@
+---
+default:
+ image: archlinux:base-devel
+ tags:
+ - docker
+ interruptible: true
+ before_script:
+ - if [[ ! -d $CI_PROJECT_DIR/.paccache ]] ; then mkdir "$CI_PROJECT_DIR/.paccache" ; fi
+ - sed -i "s|/var/cache/pacman/pkg/|$CI_PROJECT_DIR/.paccache/|" /etc/pacman.conf
+ - sed -i "s|^#CacheDir|CacheDir|" /etc/pacman.conf
+ - sed -i "s|^#MAKEFLAGS|MAKEFLAGS|" /etc/makepkg.conf
+ - pacman -Syyu --noconfirm
+cache:
+ paths:
+ - .paccache/
+
+stages:
+ - code-analysis
+ - build
+ - release
+
+shellcheck:
+ stage: code-analysis
+ script:
+ - pacman -Syu --noconfirm shellcheck
+ - shellcheck -s bash PKGBUILD -e 2034,2154,2164
+
+build:
+ stage: build
+ script:
+ - useradd -M pkgbuild
+ - 'echo "pkgbuild ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/pkgbuild'
+ - sudo -u pkgbuild makepkg -s --noconfirm
+ artifacts:
+ name: package
+ paths:
+ - "*.pkg.tar.zst"
+ expire_in: 1h
+
+release:
+ stage: release
+ rules:
+ - if: $CI_COMMIT_TAG
+ script:
+ - apk add bash findutils github-cli
+ - mv build/proton-shunt.exe "build/proton-shunt-$CI_COMMIT_TAG.exe"
+ - chmod u+x pipeline/github-release.sh
+ - ./pipeline/github-release.sh
diff --git a/AppConfig.patch b/AppConfig.patch
deleted file mode 100644
index 0bfe1f1843e1..000000000000
--- a/AppConfig.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-18d17
-<
-19a19,22
->
-> #define JucePlugin_Build_LV2 1
-> #define JucePlugin_LV2URI "https://www.thewavewarden.com/odin2"
-> #define JucePlugin_MaxNumOutputChannels 2
diff --git a/Makefile.patch b/Makefile.patch
deleted file mode 100644
index 5d65325e3f2a..000000000000
--- a/Makefile.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- Makefile 2020-10-25 15:14:21.710302240 -0700
-+++ MakePatched 2020-10-25 15:19:09.001404572 -0700
-@@ -798,3 +798,4 @@
- -include $(OBJECTS_VST3:%.o=%.d)
- -include $(OBJECTS_STANDALONE_PLUGIN:%.o=%.d)
- -include $(OBJECTS_SHARED_CODE:%.o=%.d)
-+include ../../LV2.mak
diff --git a/PKGBUILD b/PKGBUILD
index 4925fd57b125..111e60d94979 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,86 +2,94 @@
# Upstream: TheWaveWarden (Frederik Siepe) <info AT thewavewarden DOT com>
pkgname=odin2-synthesizer
-pkgver=2.3.1
+pkgver=2.3.3
pkgrel=1
-pkgdesc='24 voice polyphonic synthesizer, with modulation and FX. (Standalone, VST3, LV2)'
+pkgdesc='24 voice polyphonic synthesizer, with modulation and FX. (Standalone, VST3, LV2, CLAP)'
license=('GPL3')
arch=('x86_64')
url='https://www.thewavewarden.com/odin2'
-provides=('odin2')
+provides=('odin2-synthesizer')
conflicts=('odin2-synthesizer-bin')
depends=('man-pages' 'ttf-font')
-makedepends=('atk'
- 'cairo'
- 'doxygen'
- 'gdk-pixbuf2'
- 'gendesk'
+makedepends=('alsa-lib'
+ 'cmake'
+ 'curl'
'git'
- 'graphviz'
- 'gtk3'
- 'harfbuzz'
- 'libfreetype.so=6-64'
- 'libjpeg-turbo'
- 'libpng'
- 'libsoup'
'libx11'
- 'libxext'
- 'libxinerama'
'lv2'
- 'pango'
- 'python'
+ 'mesa'
'webkit2gtk')
optdepends=('ttf-dejavu: One of these may be needed for fonts to render correctly'
'ttf-liberation: One of these may be needed for fonts to render correctly')
-source=("${srcdir}/${pkgname%-synthesizer}::git+https://github.com/TheWaveWarden/odin2.git"
- "${srcdir}/JUCE::git+https://github.com/lv2-porting-project/JUCE.git"
- 'AppConfig.patch'
- 'Makefile.patch')
-sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP')
+source=(
+ "git+https://github.com/TheWaveWarden/odin2.git"
+ "add-missing-include.patch")
+sha256sums=('SKIP' 'SKIP')
backup=('opt/odin2/odin2.conf' 'opt/odin2/Soundbanks/User Patches')
install='.install'
prepare() {
- # Checkout the correct branch of JUCE, and build Projucer
- cd "${srcdir}/JUCE"
- git checkout -q b13af2df9530bf473ff9a85936e5700027bd2af4
- cd extras/Projucer/Builds/LinuxMakefile
- make -j"$(nproc)" CONFIG=Release
-
- # Export Odin 2 build files with Projucer
- git checkout lv2
- git checkout -q f00a420bc348d79c4688b33b2b905b8ca0f25a3a
- export GDK_BACKEND=x11
- build/Projucer --set-global-search-path linux defaultJuceModulePath "${srcdir}/JUCE/modules"
- build/Projucer --resave "${srcdir}/${pkgname%-synthesizer}/Odin.jucer"
-
- # Patch Odin 2 build files for LV2 Support
- patch -N "${srcdir}/${pkgname%-synthesizer}/JuceLibraryCode/AppConfig.h" "${srcdir}/AppConfig.patch"
- patch -N "${srcdir}/${pkgname%-synthesizer}/Builds/LinuxMakefile/Makefile" "${srcdir}/Makefile.patch"
+
+ # Checkout the correct branch and generate the build files
+ cd "${srcdir}/odin2"
+ git checkout -q v2.3.3
+ git submodule update --init --recursive
+ cd "${srcdir}/odin2/libs/JUCELV2"
+ git apply "${srcdir}/add-missing-include.patch"
+ cd "${srcdir}/odin2"
+ cmake -B build -D CMAKE_BUILD_TYPE=Release
}
build() {
- cd "${srcdir}/odin2/Builds/LinuxMakefile"
- git checkout v2.3.1
- git submodule update --init --recursive
- make clean
- make CONFIG=Release -j"$(nproc)"
+
+ cd "${srcdir}/odin2"
+ cmake --build build --config Release
}
check() {
- cd "${srcdir}/odin2/Builds/LinuxMakefile/build"
- [[ -d Odin2.vst3 && -d Odin2_.lv2 ]] || return 1
+
+ local _outdir="${srcdir}/odin2/build/Odin2_artefacts/Release"
+
+ # VST3
+ [[ -f $_outdir/VST3/Odin2.vst3/Contents/x86_64-linux/Odin2.so ]]
+
+ # LV2
+ for _file in manifest.ttl Odin2.so Odin2.ttl presets.ttl ; do
+ [[ -f $_outdir/LV2/Odin2.lv2/$_file ]]
+ done
+
+ # CLAP
+ [[ -f $_outdir/CLAP/Odin2.clap ]]
+
+ # Standalone
+ [[ -f $_outdir/Standalone/Odin2 ]]
}
package() {
- install -Dm 755 "${srcdir}/odin2/Builds/LinuxMakefile/build/Odin2.vst3/Contents/x86_64-linux/Odin2.so" "${pkgdir}/usr/lib/vst3/Odin2.vst3/Contents/x86_64-linux/Odin2.so"
- install -Dm 755 "${srcdir}/odin2/Builds/LinuxMakefile/build/Odin2_.lv2/Odin2_.so" "${pkgdir}/usr/lib/lv2/Odin2.lv2/Odin2_.so"
- install -Dm 644 "${srcdir}/odin2/Builds/LinuxMakefile/build/Odin2_.lv2/Odin2_.ttl" "${pkgdir}/usr/lib/lv2/Odin2.lv2/Odin2_.ttl"
- install -Dm 644 "${srcdir}/odin2/Builds/LinuxMakefile/build/Odin2_.lv2/presets.ttl" "${pkgdir}/usr/lib/lv2/Odin2.lv2/presets.ttl"
- install -Dm 644 "${srcdir}/odin2/Builds/LinuxMakefile/build/Odin2_.lv2/manifest.ttl" "${pkgdir}/usr/lib/lv2/Odin2.lv2/manifest.ttl"
+ local _outdir="${srcdir}/odin2/build/Odin2_artefacts/Release"
+
+ # VST3
+ install -Dm 755 "$_outdir/VST3/Odin2.vst3/Contents/x86_64-linux/Odin2.so" \
+ "${pkgdir}/usr/lib/vst3/Odin2.vst3/Contents/x86_64-linux/Odin2.so"
+
+ # LV2
+ install -Dm 755 "$_outdir/LV2/Odin2.lv2/Odin2.so" \
+ "${pkgdir}/usr/lib/lv2/Odin2.lv2/Odin2.so"
+ install -Dm 644 "$_outdir/LV2/Odin2.lv2/Odin2.ttl" \
+ "${pkgdir}/usr/lib/lv2/Odin2.lv2/Odin2.ttl"
+ install -Dm 644 "$_outdir/LV2/Odin2.lv2/presets.ttl" \
+ "${pkgdir}/usr/lib/lv2/Odin2.lv2/presets.ttl"
+ install -Dm 644 "$_outdir/LV2/Odin2.lv2/manifest.ttl" \
+ "${pkgdir}/usr/lib/lv2/Odin2.lv2/manifest.ttl"
+
+ # CLAP
+ install -Dm 755 "$_outdir/CLAP/Odin2.clap" \
+ "${pkgdir}/usr/lib/clap/Odin2.clap"
- install -Dm 755 "${srcdir}/odin2/Builds/LinuxMakefile/build/Odin2" "${pkgdir}/usr/bin/odin2-synthesizer"
+ # Standalone
+ install -Dm 755 "$_outdir/Standalone/Odin2" \
+ "${pkgdir}/usr/bin/odin2-synthesizer"
}
diff --git a/add-missing-include.patch b/add-missing-include.patch
new file mode 100644
index 000000000000..9257dbf927b9
--- /dev/null
+++ b/add-missing-include.patch
@@ -0,0 +1,25 @@
+From 5ea95fb74bba1d2200dcc098d058f512afda26fc Mon Sep 17 00:00:00 2001
+From: Ryan Algar <59636191+ralgar@users.noreply.github.com>
+Date: Sat, 18 Jun 2022 12:26:23 -0700
+Subject: [PATCH] Add missing <utility> include
+
+---
+ modules/juce_gui_basics/juce_gui_basics.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules/juce_gui_basics/juce_gui_basics.h b/modules/juce_gui_basics/juce_gui_basics.h
+index f497d0385..7aa655afa 100644
+--- a/modules/juce_gui_basics/juce_gui_basics.h
++++ b/modules/juce_gui_basics/juce_gui_basics.h
+@@ -54,6 +54,8 @@
+ #pragma once
+ #define JUCE_GUI_BASICS_H_INCLUDED
+
++#include <utility>
++
+ #include <juce_graphics/juce_graphics.h>
+ #include <juce_data_structures/juce_data_structures.h>
+
+--
+2.36.1
+