Skip to content

Commit

Permalink
Release 1.0.0
Browse files Browse the repository at this point in the history
* Initial release.
* Updated build scripts and dependencies.
  • Loading branch information
sadko4u committed Oct 8, 2024
2 parents 5ed2fa9 + 56f2b0b commit ad64e71
Show file tree
Hide file tree
Showing 40 changed files with 4,571 additions and 1 deletion.
441 changes: 441 additions & 0 deletions .cproject

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions .gdbinit
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
handle SIG32 nostop

set print array off
set print repeats unlimited
set print elements unlimited
source plot1d.gdb
7 changes: 7 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
liberapay: sadko4u
patreon: sadko4u
custom:
- https://www.blockchain.com/btc/address/15X3AfDRF3EshSLBoK8UfHAsFr2TQsH8pk
- https://etherscan.io/address/0x079b24da78d78302cd3cfbb80c728cd554606cc6
- https://www.bountysource.com/teams/lsp-plugins
- https://paypal.me/sadko4u
223 changes: 223 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
---

name: Build on various Operating Systems

on:
push:
branches: [devel, master]
pull_request:
branches: [devel, master]

env:
CARLA_BRIDGE_DUMMY: 1
CARLA_BRIDGE_TESTING: native
# FIXME some system library is causing memory leaks, switch to --leak-check=full when fixed
PLUGIN_METADATA: .build/target/lsp-plugin-fw/plugins.json
VALGRIND_ARGS: --error-exitcode=255 --leak-check=no --track-origins=yes --suppressions=.github/workflows/valgrind.supp
VALGRIND_DEBUG_ARGS: --error-exitcode=255 --leak-check=full --track-origins=yes --keep-debuginfo=yes --suppressions=.github/workflows/valgrind.supp

jobs:
arch_linux:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Add debug repositories
run: |
printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[multilib-debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
- name: Install dependencies
run: pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack2 jq libglvnd libsndfile libx11 libxrandr lv2lint php valgrind gstreamer gst-plugins-base
- uses: actions/checkout@v3
- name: Configure project
run: make config STRICT=1 VERBOSE=1 FEATURES='clap doc jack gst ladspa lv2 ui vst2 vst3 xdg' PREFIX=/usr
- name: Fetch project dependencies
run: make fetch
- name: Build project
run: make VERBOSE=1
- name: Install binaries
run: make install
- name: System information
run: lscpu
- name: Lint LV2 plugins
run: |
for _plugin in $(jq -r '.plugins[].lv2_uri | select( . != null )' ${{ env.PLUGIN_METADATA }} ); do \
lv2lint -Mpack "${_plugin}"; \
done
- name: Validate LV2 syntax
run: lv2_validate /usr/lib/lv2/lsp-*.lv2/*.ttl
- name: LADSPA runtime checks
run: |
for _plugin in $(jq -r '.plugins[].ladspa_label | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
valgrind ${{ env.VALGRIND_ARGS }} /usr/lib/carla/carla-bridge-native ladspa /usr/lib/ladspa/lsp-*.so "${_plugin}" 1>/dev/null; \
done
- name: LV2 runtime checks
run: |
for _plugin in $(jq -r '.plugins[].lv2_uri | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
valgrind ${{ env.VALGRIND_ARGS }} /usr/lib/carla/carla-bridge-native lv2 "" "${_plugin}" 1>/dev/null; \
done
- name: VST2 runtime checks
run: |
for _binary in $(ls /usr/lib/vst/lsp-plugins/*.so | grep -v /liblsp-plugins-); do \
valgrind ${{ env.VALGRIND_ARGS }} /usr/lib/carla/carla-bridge-native vst2 "${_binary}" "" 1>/dev/null; \
done
arch_linux_asan:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Add debug repositories
run: |
printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[multilib-debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
- name: Install dependencies
run: pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack2 jq libglvnd libsndfile libx11 libxrandr php valgrind gstreamer gst-plugins-base
- uses: actions/checkout@v3
- name: Configure project
run: make config STRICT=1 DEBUG=1 VERBOSE=1 ASAN=1 FEATURES='clap jack gst ladspa ui lv2 vst2 vst3' PREFIX=/usr
- name: Fetch project dependencies
run: make fetch
- name: Build project
run: make VERBOSE=1
- name: Install binaries
run: make install
- name: System information
run: lscpu
- name: LADSPA runtime checks
run: |
for _plugin in $(jq -r '.plugins[].ladspa_label | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
export ASAN_OPTIONS=verify_asan_link_order=0; \
/usr/lib/carla/carla-bridge-native ladspa /usr/lib/ladspa/lsp-*.so "${_plugin}" 1>/dev/null; \
done
- name: LV2 runtime checks
run: |
for _plugin in $(jq -r '.plugins[].lv2_uri | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
export ASAN_OPTIONS=verify_asan_link_order=0; \
/usr/lib/carla/carla-bridge-native lv2 "" "${_plugin}" 1>/dev/null; \
done
- name: VST2 runtime checks
run: |
for _binary in $(ls /usr/lib/vst/lsp-plugins/*.so | grep -v /liblsp-plugins-); do \
export ASAN_OPTIONS=verify_asan_link_order=0; \
/usr/lib/carla/carla-bridge-native vst2 "${_binary}" "" 1>/dev/null; \
done
arch_linux_valgrind:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Add debug repositories
run: |
printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[multilib-debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
- name: Install dependencies
run: pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack2 jq libglvnd libsndfile libx11 libxrandr php valgrind gstreamer gst-plugins-base
- uses: actions/checkout@v3
- name: Configure project
run: make config STRICT=1 DEBUG=1 VERBOSE=1 FEATURES='clap jack gst ladspa lv2 ui vst2 vst3' PREFIX=/usr
- name: Fetch project dependencies
run: make fetch
- name: Build project
run: make VERBOSE=1
- name: Install binaries
run: make install
- name: System information
run: lscpu
- name: LADSPA runtime checks
run: |
for _plugin in $(jq -r '.plugins[].ladspa_label | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
valgrind ${{ env.VALGRIND_DEBUG_ARGS }} /usr/lib/carla/carla-bridge-native ladspa /usr/lib/ladspa/lsp-*.so "${_plugin}" 1>/dev/null; \
done
- name: LV2 runtime checks
run: |
for _plugin in $(jq -r '.plugins[].lv2_uri | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
valgrind ${{ env.VALGRIND_DEBUG_ARGS }} /usr/lib/carla/carla-bridge-native lv2 "" "${_plugin}" 1>/dev/null; \
done
- name: VST2 runtime checks
run: |
for _binary in $(ls /usr/lib/vst/lsp-plugins/*.so | grep -v /liblsp-plugins-); do \
valgrind ${{ env.VALGRIND_DEBUG_ARGS }} /usr/lib/carla/carla-bridge-native vst2 "${_binary}" "" 1>/dev/null; \
done
opensuse_leap:
runs-on: ubuntu-latest
container:
image: opensuse/leap:latest
steps:
- name: Install dependencies
run: zypper --non-interactive --no-gpg-checks in tar gzip gcc gcc-c++ git make php valgrind libX11-devel libXrandr-devel Mesa-libGL-devel libjack-devel cairo-devel freetype2-devel libsndfile-devel gstreamer-devel gstreamer-plugins-base-devel
- uses: actions/checkout@v3
- name: Configure project
run: make config STRICT=1 VERBOSE=1 FEATURES='clap doc jack gst ladspa lv2 ui vst2 vst3 xdg' PREFIX=/usr
- name: Fetch project dependencies
run: make fetch
- name: Build project
run: make VERBOSE=1
- name: Install binaries
run: make install

opensuse_tumbleweed_clang:
runs-on: ubuntu-latest
container:
image: opensuse/tumbleweed:latest
steps:
- name: Install dependencies
run: zypper --non-interactive --no-gpg-checks in tar gzip gcc gcc-c++ clang lld git make php8-cli valgrind libstdc++-devel libX11-devel libXrandr-devel Mesa-libGL-devel libjack-devel cairo-devel freetype2-devel libsndfile-devel gstreamer-devel gstreamer-plugins-base-devel
- uses: actions/checkout@v3
- name: Configure project
run: make config CC=clang CXX=clang++ STRICT=1 VERBOSE=1 FEATURES='clap doc jack gst ladspa lv2 ui vst2 vst3 xdg' PREFIX=/usr
- name: Fetch project dependencies
run: make fetch
- name: Build project
run: make VERBOSE=1
- name: Install binaries
run: make install

debian_stable:
runs-on: ubuntu-latest
container:
image: debian:stable
steps:
- name: Update repositories
run: apt-get update
- name: Install dependencies
run: apt-get -y install gcc g++ git make php-cli pkg-config valgrind libx11-dev libxrandr-dev libjack-dev libcairo2-dev libgl-dev libfreetype6-dev libsndfile1-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
- uses: actions/checkout@v3
- name: Configure project
run: make config STRICT=1 VERBOSE=1 FEATURES='clap doc jack gst ladspa lv2 ui vst2 vst3 xdg' PREFIX=/usr
- name: Fetch project dependencies
run: make fetch
- name: Build project
run: make VERBOSE=1
- name: Install binaries
run: make install

windows_mingw64:
runs-on: windows-2022
defaults:
run:
shell: msys2 {0}
steps:
- name: Setup MSYS2 and install dependencies
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
release: false
update: false
install: >-
base-devel
git
mingw-w64-x86_64-gcc
- uses: actions/checkout@v3
- name: Configure project
shell: msys2 {0}
run: make config STRICT=1 VERBOSE=1 FEATURES='clap ladspa lv2 ui vst2 vst3'
- name: Fetch project dependencies
shell: msys2 {0}
run: make fetch
- name: Build project
shell: msys2 {0}
run: make VERBOSE=1

40 changes: 40 additions & 0 deletions .github/workflows/valgrind.supp
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
libdl is full of leaks
Memcheck:Leak
...
fun:_dl_open
...
}
{
libdl is full of leaks
Memcheck:Leak
...
fun:_dl_close
...
}
{
libdl is full of leaks
Memcheck:Leak
...
fun:_dl_init
}
{
libdl is full of leaks
Memcheck:Leak
...
fun:_dl_allocate_tls
...
}
{
libdl is full of leaks
Memcheck:Leak
...
fun:call_init.part.0
}
{
ignore XInitThreads
Memcheck:Leak
...
fun:XInitThreads
...
}
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/.svn/*
/.settings/*
/.build/*
/.test/*
/.install/*
/Debug/*
/Release/*
/Debug/
/Release
*.log
/gmon.out
**/*.gmon
*.core
/.config.mk
/INSTALL/
/modules/
/DebugLinux/
/DebugWin/
38 changes: 38 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>lsp-plugins-send</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<filteredResources>
<filter>
<id>1642025177231</id>
<name></name>
<type>10</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-.build</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
8 changes: 8 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*******************************************************************************
* RECENT CHANGES
*******************************************************************************

=== 1.0.0 ===
* Initial release.
* Updated build scripts and dependencies.

Loading

0 comments on commit ad64e71

Please sign in to comment.