tenacityteam/tenacity
47
938
Fork
You've already forked tenacity
31

WIP: [snap] Add snap packaging for Linux #745

Draft
emabrey wants to merge 1 commit from add-snap-packaging into main
pull from: add-snap-packaging
merge into: tenacityteam:main
tenacityteam:main
tenacityteam:fix-issue-751
tenacityteam:ci-code-quality-scan
tenacityteam:add-find-matroska
tenacityteam:more-theme-system-updates
tenacityteam:improved-project-versioning
tenacityteam:1.3
tenacityteam:ci-fix-macos-builds
tenacityteam:update-about-dialog
tenacityteam:fix-modules-install
tenacityteam:working-vst3-support
tenacityteam:ci-experimental-new-trackpanel
tenacityteam:properly-block-sleep
tenacityteam:wayland-undockable-toolbars
tenacityteam:reduce-device-access
tenacityteam:fix-dpi-scaling
tenacityteam:remove-unused-logos
tenacityteam:update-build-instructions
tenacityteam:freebsd-updates
tenacityteam:fix-submodules
tenacityteam:remove-tdate
tenacityteam:version-string-changes
tenacityteam:fix-clang-build
tenacityteam:distinguish-nightly-builds-rebased
tenacityteam:readme-overhaul
tenacityteam:ci-rebase-bring-up
tenacityteam:update-format-warnings
tenacityteam:fix-flatpak-ipc
tenacityteam:updated-project-info
tenacityteam:more-ui-changes
tenacityteam:posix-shared-memory
tenacityteam:cmake-cleanups
tenacityteam:fix-ninja-build
tenacityteam:update-theme-documentation
tenacityteam:implement-theme-package-resource-loading
tenacityteam:dynamic-theming
tenacityteam:io-toolbar-wip-rebase
tenacityteam:replace-libsbsms
tenacityteam:linked-ffmpeg
tenacityteam:qt
tenacityteam:improved-latency-handling
tenacityteam:wxqt-fixes
tenacityteam:add-packagers-guide
tenacityteam:no-wx-lib-file
tenacityteam:no-module-wxwidgets
tenacityteam:improve-strings
tenacityteam:mixer-revamp
tenacityteam:interprocedural-optimization-build-option
tenacityteam:upstream-audio-io-refactoring
tenacityteam:wix-installers
tenacityteam:refactor-buildinfo
tenacityteam:graphics-updates

What issue does your PR resolve?

N/A

Describe your PR

Adds support for SNAP packaging. While I understand this may be controversial, audacity is available in the snap store and I figure that there are some users that might prefer our version but who might be missed if we don't offer Tenacity in a fashion that is as easy to acquire for beginner Ubuntu users (such as those who might have just recently moved from Windows to Linux and might be restricted to using the snap store for example). Would appreciate any advice on improving the packaging if anyone has more experience with snap than me; this is my first attempt at making a snap package and the help would be welcome.

Checklist

  • This PR compiles on my machine

  • My contributions are licensed under GPL v2 or later (unless
    otherwise exempted).

  • All commits have been signed-off to comply with the DCO.

  • I made sure the title of this PR reflects the core meaning of the
    issue I am solving.

  • I did not make unnecessary changes to the code.

  • I have descriptive commit message(s) that thoroughly cover my
    changes.

### What issue does your PR resolve? N/A ### Describe your PR Adds support for SNAP packaging. While I understand this may be controversial, audacity is available in the snap store and I figure that there are some users that might prefer our version but who might be missed if we don't offer Tenacity in a fashion that is as easy to acquire for beginner Ubuntu users (such as those who might have just recently moved from Windows to Linux and might be restricted to using the snap store for example). Would appreciate any advice on improving the packaging if anyone has more experience with snap than me; this is my first attempt at making a snap package and the help would be welcome. ### Checklist - [x] This PR compiles on my machine - [x] My contributions are licensed under GPL v2 or later (unless otherwise exempted). - [x] All commits have been signed-off to comply with the DCO. - [x] I made sure the title of this PR reflects the core meaning of the issue I am solving. - [x] I did not make unnecessary changes to the code. - [x] I have descriptive commit message(s) that thoroughly cover my changes.
Add snapcraft configuration files so Tenacity can
be built and distributed as a snap package. The yaml
is targeted at core24 and uses the gnome extension
for GTK/wxWidgets runtime. All optional codec and plugin
support is enabled except for Matroska.
Because PortAudio's ALSA backend inside the snap
sandbox tripped an enumeration assertion when reading
the host's ALSA configuration, ship a minimal
asound.conf that routes everything to PulseAudio.
libasound2-plugins is staged so the pulse ALSA
plugin is available at runtime.
LD_LIBRARY_PATH is set to $SNAP/usr/local/lib/tenacity
in the app environment so the modular lib-*.so files
are resolved. This is a snap-only workaround
Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
Author
Owner
Copy link

Would moving the snap packaging folder from root to the /linux subdir be a good idea? Looking for input on doing that instead of following the convention of putting it in project root.

Would moving the snap packaging folder from root to the /linux subdir be a good idea? Looking for input on doing that instead of following the convention of putting it in project root.
emabrey changed title from (削除) [snap] Add snap packaging for Linux (削除ここまで) to WIP: [snap] Add snap packaging for Linux 2026年07月09日 07:04:50 +02:00
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin add-snap-packaging:add-snap-packaging
git switch add-snap-packaging
Sign in to join this conversation.
No reviewers
Labels
Clear labels
bug
Something isn't working
build
Related to the software build process
can't reproduce
This issue can't be reproduced
cleanups
Involves code cleanups
Design
Issues and pull requests concerning the design and overall look and feel of the project
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
enhancement
New feature or request
export
Something related to exporting audio
external
An issue regarding something outside of Tenacity (e.g., a wxWidgets problem causing a bug)
ffmpeg
An issue related to FFmpeg
good first issue
Good for newcomers
governance
An issue relating to project governance
hacktoberfest
Contributors meant for DigitalOcean's Hacktoberfest event
help wanted
Extra attention is needed
HIGH PRIORITY
This should be the FIRST thing you think about when fixing something!
import
Something related to importing audio or MIDI
In progress
We'er working on it!
invalid
This doesn't seem right
linux
A Linux-specific/Linux-only issue
mac
A macOS-specific/macOS-only issue
major
Something that represents a major change
needs discussion
Needs additional discussion before something can proceed.
platforms
An issue regarding platforms
PSA
An issue that also backs as an announcement and has other important implications
question
Further information is requested
refactoring
Related to a refactoring task
remerge
Something re-merged from an older codebase, like from pre-rebase Tenacity or tenacity-legacy.
translations
Something related to translations. Couls be an improvement or suggestion.
website
Website issues or requests (might be migrated to our website repo)
windows
A Window-specific/Windows-only issue
wontfix
This issue will not be worked on
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tenacityteam/tenacity!745
Reference in a new issue
tenacityteam/tenacity
No description provided.
Delete branch "add-snap-packaging"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?