mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-29 15:19:44 +02:00
Initial Tenacity Flatpak
Closes https://github.com/tenacityteam/tenacity/issues/493 Signed-off-by: TheEvilSkeleton <theevilskeleton@riseup.net>
This commit is contained in:
parent
1b2c9038a4
commit
e8812b1d66
25
.github/workflows/flatpak.yml
vendored
Normal file
25
.github/workflows/flatpak.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
name: Packaging
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
jobs:
|
||||
flatpak:
|
||||
name: "Flatpak"
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-40
|
||||
options: --privileged
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, aarch64]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v3
|
||||
with:
|
||||
bundle: tenacity.flatpak
|
||||
manifest-path: packaging/flatpak/org.tenacity.Tenacity.json
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -216,3 +216,6 @@ win/xaudacity.ico
|
||||
.vscode/
|
||||
|
||||
vcpkg_installed
|
||||
|
||||
# Flatpak
|
||||
!packaging/**
|
||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -2,3 +2,6 @@
|
||||
path = vcpkg
|
||||
url = https://github.com/tenacityteam/vcpkg.git
|
||||
branch = tenacity
|
||||
[submodule "packaging/flatpak/shared-modules"]
|
||||
path = packaging/flatpak/shared-modules
|
||||
url = https://github.com/flathub/shared-modules.git
|
||||
|
38
packaging/flatpak/deps/lame-3.100.json
Normal file
38
packaging/flatpak/deps/lame-3.100.json
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
"name": "lame",
|
||||
"rm-configure": true,
|
||||
"config-opts": [
|
||||
"--disable-static"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://downloads.sourceforge.net/lame/lame-3.100.tar.gz",
|
||||
"sha256": "ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "../shared-modules/lame/lame-msse.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "../shared-modules/lame/lame-tinfo.patch",
|
||||
"strip-components": 0
|
||||
},
|
||||
{
|
||||
"type": "script",
|
||||
"dest-filename": "autogen.sh",
|
||||
"commands": [
|
||||
"autoreconf -vfi"
|
||||
]
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin",
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/share/doc",
|
||||
"/share/man",
|
||||
"*.la"
|
||||
]
|
||||
}
|
29
packaging/flatpak/deps/suil.json
Normal file
29
packaging/flatpak/deps/suil.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "suil",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"python3 ./waf configure --prefix=/app",
|
||||
"python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS",
|
||||
"python3 ./waf install"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "http://download.drobilla.net/suil-0.10.10.tar.bz2",
|
||||
"sha256": "750f08e6b7dc941a5e694c484aab02f69af5aa90edcc9fb2ffb4fb45f1574bfb"
|
||||
}
|
||||
],
|
||||
"post-install": [
|
||||
"install -Dm644 -t /app/share/licenses/suil COPYING"
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin",
|
||||
"/etc",
|
||||
"/include",
|
||||
"/share/man"
|
||||
]
|
||||
}
|
218
packaging/flatpak/org.tenacity.Tenacity.json
Normal file
218
packaging/flatpak/org.tenacity.Tenacity.json
Normal file
@ -0,0 +1,218 @@
|
||||
{
|
||||
"app-id": "org.tenacityaudio.Tenacity",
|
||||
"runtime": "org.gnome.Platform",
|
||||
"runtime-version": "40",
|
||||
"sdk": "org.gnome.Sdk",
|
||||
"command": "tenacity",
|
||||
"rename-desktop-file": "tenacity.desktop",
|
||||
"rename-icon": "tenacity",
|
||||
"rename-appdata-file": "tenacity.metainfo.xml",
|
||||
"finish-args": [
|
||||
"--share=ipc",
|
||||
"--socket=x11",
|
||||
"--socket=pulseaudio",
|
||||
"--filesystem=xdg-run/pipewire-0",
|
||||
"--system-talk-name=org.freedesktop.RealtimeKit1",
|
||||
"--device=all",
|
||||
"--filesystem=host",
|
||||
"--env=ALSA_CONFIG_PATH=",
|
||||
"--env=LADSPA_PATH=/app/extensions/Plugins/ladspa",
|
||||
"--env=LV2_PATH=/app/extensions/Plugins/lv2",
|
||||
"--env=VST_PATH=/app/extensions/Plugins/lxvst"
|
||||
],
|
||||
"add-extensions": {
|
||||
"org.freedesktop.LinuxAudio.Plugins": {
|
||||
"directory": "extensions/Plugins",
|
||||
"version": "20.08",
|
||||
"add-ld-path": "lib",
|
||||
"merge-dirs": "ladspa;lv2;lxvst",
|
||||
"subdirectories": true,
|
||||
"no-autodownload": true
|
||||
}
|
||||
},
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/share/aclocal",
|
||||
"/share/man",
|
||||
"*.la",
|
||||
"*.a"
|
||||
],
|
||||
"modules": [
|
||||
{
|
||||
"name": "wxwidgets",
|
||||
"rm-configure": true,
|
||||
"config-opts": [
|
||||
"--with-libpng",
|
||||
"--with-zlib",
|
||||
"--with-cxx=17",
|
||||
"--disable-sdltest",
|
||||
"--disable-webview",
|
||||
"--disable-webviewwebkit",
|
||||
"--disable-ribbon",
|
||||
"--disable-propgrid",
|
||||
"--disable-richtext",
|
||||
"--with-expat=builtin",
|
||||
"--with-libiconv=/usr"
|
||||
],
|
||||
"cleanup": [
|
||||
"/share/bakefile"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/wxWidgets/wxWidgets",
|
||||
"tag": "v3.1.5",
|
||||
"commit": "9c0a8be1dc32063d91ed1901fd5fcd54f4f955a1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"deps/lame-3.100.json",
|
||||
{
|
||||
"name": "libid3tag",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/tenacityteam/libid3tag.git",
|
||||
"tag": "0.16.1",
|
||||
"commit": "1cc101e90dda1fb6e8cc57a0c707a3305bf674f9"
|
||||
}
|
||||
]
|
||||
},
|
||||
"shared-modules/libmad/libmad.json",
|
||||
"shared-modules/linux-audio/jack2.json",
|
||||
"shared-modules/linux-audio/lv2.json",
|
||||
"shared-modules/linux-audio/lilv.json",
|
||||
"deps/suil.json",
|
||||
{
|
||||
"name": "portaudio",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/PortAudio/portaudio.git",
|
||||
"tag": "v19.7.0",
|
||||
"commit": "147dd722548358763a8b649b3e4b41dfffbcfbb6"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "portsmf",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/tenacityteam/portsmf.git",
|
||||
"tag": "239",
|
||||
"commit": "951b636f7d0cba370d483a91f1897c71f3d98530"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "portmidi-mixxxdj",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/mixxxdj/portmidi.git",
|
||||
"tag": "236",
|
||||
"commit": "fda97c3be2baf10438574d10bb2a6b8b4f1140c4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "soxr",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/chirlu/soxr.git",
|
||||
"tag": "0.1.3",
|
||||
"commit": "945b592b70470e29f917f4de89b4281fbbd540c0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libsbsms",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/claytonotey/libsbsms.git",
|
||||
"tag": "2.3.0",
|
||||
"commit": "e99cd7e6c6367e476577be34d2fdbe2023904d7e"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "vamp-plugin-sdk",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/c4dm/vamp-plugin-sdk.git",
|
||||
"tag": "vamp-plugin-sdk-v2.10",
|
||||
"commit": "67adfc2bf9486912a0fce5123cf54360ea2678bc"
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "soundtouch",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.com/soundtouch/soundtouch.git",
|
||||
"tag": "2.3.0",
|
||||
"commit": "c65afe49f697fcea87d9a134870c8d115d7700cc"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "twolame",
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://downloads.sourceforge.net/twolame/twolame-0.4.0.tar.gz",
|
||||
"sha256": "cc35424f6019a88c6f52570b63e1baf50f62963a3eac52a03a800bb070d7c87d"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "tenacity",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=RelWithDebInfo",
|
||||
"-DWX_CONFIG=/app/bin/wx-config"
|
||||
],
|
||||
"post-install": [
|
||||
"install -Dm644 ../help/tenacity.metainfo.xml -t /app/share/metainfo",
|
||||
"install -d /app/extensions/Plugins"
|
||||
],
|
||||
"cleanup": [
|
||||
"/share/tenacity/include",
|
||||
"/share/audacity/include",
|
||||
"/share/pixmaps"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "dir",
|
||||
"path": "../../"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "patches/audacity-suil-fix.patch"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"commands": [
|
||||
"sed -e '42i <release version=\"master\" date=\"2021-08-12\"/>' -i help/tenacity.metainfo.xml"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
13
packaging/flatpak/patches/audacity-suil-fix.patch
Normal file
13
packaging/flatpak/patches/audacity-suil-fix.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/src/effects/lv2/LoadLV2.cpp b/src/effects/lv2/LoadLV2.cpp
|
||||
index b101ee734..be665c5a6 100755
|
||||
--- a/src/effects/lv2/LoadLV2.cpp
|
||||
+++ b/src/effects/lv2/LoadLV2.cpp
|
||||
@@ -180,7 +180,7 @@ bool LV2EffectsModule::Initialize()
|
||||
newVar += wxT(":") + libdir.GetPath();
|
||||
|
||||
// Tell SUIL where to find his GUI support modules
|
||||
- wxSetEnv(wxT("SUIL_MODULE_DIR"), wxT(PKGLIBDIR));
|
||||
+ wxSetEnv(wxT("SUIL_MODULE_DIR"), wxT("/app/lib/suil-0"));
|
||||
#endif
|
||||
|
||||
// Start with the LV2_PATH environment variable (if any)
|
1
packaging/flatpak/shared-modules
Submodule
1
packaging/flatpak/shared-modules
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 716f6422376daad30d8135617aa20d87531b31b6
|
Loading…
x
Reference in New Issue
Block a user