summaryrefslogtreecommitdiff
path: root/multimedia/tenacity
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/tenacity')
-rw-r--r--multimedia/tenacity/Makefile84
-rw-r--r--multimedia/tenacity/distinfo5
-rw-r--r--multimedia/tenacity/files/patch-CMakeLists.txt11
-rw-r--r--multimedia/tenacity/files/patch-libraries_lib-files_FileNames.cpp11
-rw-r--r--multimedia/tenacity/pkg-descr2
-rw-r--r--multimedia/tenacity/pkg-plist217
6 files changed, 330 insertions, 0 deletions
diff --git a/multimedia/tenacity/Makefile b/multimedia/tenacity/Makefile
new file mode 100644
index 000000000000..4a89fe6b144e
--- /dev/null
+++ b/multimedia/tenacity/Makefile
@@ -0,0 +1,84 @@
+PORTNAME= tenacity
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.4-alpha1
+CATEGORIES= multimedia
+
+MAINTAINER= freebsd@sysctl.cz
+COMMENT= Tenacity is an easy-to-use multi-track audio editor and recorder
+WWW= https://tenacityaudio.org/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= expat>0:textproc/expat2 \
+ ffmpeg>0:multimedia/ffmpeg \
+ flac>0:audio/flac \
+ glib>0:devel/glib20 \
+ lame>0:audio/lame \
+ libid3tag>0:audio/libid3tag \
+ libmatroska>0:multimedia/libmatroska \
+ libsndfile>0:audio/libsndfile \
+ libsoxr>0:audio/libsoxr \
+ libzip>0:archivers/libzip \
+ lilv>0:audio/lilv \
+ lv2>0:audio/lv2 \
+ mpg123>0:audio/mpg123 \
+ nasm>=0:devel/nasm \
+ opus>0:audio/opus \
+ opusfile>0:audio/opusfile \
+ portaudio>0:audio/portaudio \
+ portmidi>0:audio/portmidi \
+ rapidjson>0:devel/rapidjson \
+ soundtouch>0:audio/soundtouch \
+ suil>0:audio/suil \
+ twolame>0:audio/twolame \
+ vamp-plugin-sdk>0:audio/vamp-plugin-sdk \
+ wavpack>0:audio/wavpack \
+ wx32-gtk3>0:x11-toolkits/wxgtk32 \
+ zam-plugins-lv2>0:audio/zam-plugins-lv2
+
+LIB_DEPENDS= libatk-1.0.so:accessibility/at-spi2-core \
+ libexpat.so:textproc/expat2 \
+ libharfbuzz.so:print/harfbuzz \
+ liblilv-0.so:audio/lilv \
+ libportaudio.so:audio/portaudio \
+ libsndfile.so:audio/libsndfile \
+ libSoundTouch.so:audio/soundtouch \
+ libsoxr.so:audio/libsoxr \
+ libsuil-0.so:audio/suil \
+ libvamp-hostsdk.so:audio/vamp-plugin-sdk \
+ libwx_baseu-3.2.so:x11-toolkits/wxgtk32 \
+ libwx_baseu_net-3.2.so:x11-toolkits/wxgtk32 \
+ libwx_gtk3u_core-3.2.so:x11-toolkits/wxgtk32 \
+ libwx_gtk3u_html-3.2.so:x11-toolkits/wxgtk32 \
+ libwx_gtk3u_qa-3.2.so:x11-toolkits/wxgtk32
+
+USES= cmake desktop-file-utils gettext-runtime gnome localbase \
+ pkgconfig sqlite
+
+USE_GITHUB= yes
+GH_ACCOUNT= tenacityteam
+GH_TUPLE= Martinfx:libnyquist:a76cd38:libnyquist/lib-src/libnyquist
+
+USE_GNOME= cairo gdkpixbuf glib20 gtk30 pango
+
+CMAKE_OFF= LIBNYQUIST_BUILD_EXAMPLE
+
+OPTIONS_DEFINE_amd64= AVX AVX2 AVX512
+
+AVX_DESC= Enable AVX (x86_64 only)
+AVX2_DESC= Enable AVX2 (x86_64 only)
+AVX512_DESC= Enable AVX512 (x86_64 only)
+
+AVX_CMAKE_BOOL= AVX
+AVX2_CMAKE_BOOL= AVX2
+AVX512_CMAKE_BOOL= AVX512
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == i386
+CFLAGS+= -msse2
+CXXFLAGS+= -msse2 # fixes error: always_inline function '_mm_unpacklo_ps' requires target feature 'sse', but would be inlined into function 'pffft_zreorder' that is compiled without support for 'sse'
+.endif
+
+.include <bsd.port.mk>
diff --git a/multimedia/tenacity/distinfo b/multimedia/tenacity/distinfo
new file mode 100644
index 000000000000..9c5ca399baf0
--- /dev/null
+++ b/multimedia/tenacity/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1761465715
+SHA256 (tenacityteam-tenacity-v1.4-alpha1_GH0.tar.gz) = c371b9f341504904f3de3925e3c392def319b4c99112bad0c4bba67c1800530b
+SIZE (tenacityteam-tenacity-v1.4-alpha1_GH0.tar.gz) = 46967863
+SHA256 (Martinfx-libnyquist-a76cd38_GH0.tar.gz) = 8fcaa6df7d91a38a0f1721d927eba004a37361d6c1b5335ba4e67ac5a97e767a
+SIZE (Martinfx-libnyquist-a76cd38_GH0.tar.gz) = 705780
diff --git a/multimedia/tenacity/files/patch-CMakeLists.txt b/multimedia/tenacity/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..9bf4027dede3
--- /dev/null
+++ b/multimedia/tenacity/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2025-10-12 15:38:58 UTC
++++ CMakeLists.txt
+@@ -412,7 +412,7 @@ endif()
+ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>")
+ endif()
+
+-if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64")
++if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64|amd64")
+ # Allow AVX2 or AVX512 to be enabled if desired
+ option(AVX "Enable the usage of AVX in builds instead of SSE4.")
+ option(AVX2 "Enable the usage of AVX2 in builds instead of SSE4 or AVX." OFF)
diff --git a/multimedia/tenacity/files/patch-libraries_lib-files_FileNames.cpp b/multimedia/tenacity/files/patch-libraries_lib-files_FileNames.cpp
new file mode 100644
index 000000000000..272d8d34ab12
--- /dev/null
+++ b/multimedia/tenacity/files/patch-libraries_lib-files_FileNames.cpp
@@ -0,0 +1,11 @@
+--- libraries/lib-files/FileNames.cpp.orig 2025-10-26 07:26:25 UTC
++++ libraries/lib-files/FileNames.cpp
+@@ -737,6 +737,8 @@ bool FileNames::IsOnFATFileSystem(const FilePath &path
+ return 0 == strcmp(fs.f_fstypename, "msdos");
+ }
+ #elif defined(__FreeBSD__)
++#include <sys/param.h>
++#include <sys/mount.h>
+ bool FileNames::IsOnFATFileSystem(const FilePath &path)
+ {
+ struct statfs fs;
diff --git a/multimedia/tenacity/pkg-descr b/multimedia/tenacity/pkg-descr
new file mode 100644
index 000000000000..e207b0a88344
--- /dev/null
+++ b/multimedia/tenacity/pkg-descr
@@ -0,0 +1,2 @@
+Tenacity is an easy-to-use, privacy-friendly, FLOSS,
+cross-platform multi-track audio editor.
diff --git a/multimedia/tenacity/pkg-plist b/multimedia/tenacity/pkg-plist
new file mode 100644
index 000000000000..c374978e3487
--- /dev/null
+++ b/multimedia/tenacity/pkg-plist
@@ -0,0 +1,217 @@
+bin/tenacity
+lib/libnyquist.a
+lib/tenacity/lib-audacity-application-logic.so
+lib/tenacity/lib-audio-devices.so
+lib/tenacity/lib-audio-graph.so
+lib/tenacity/lib-audio-io.so
+lib/tenacity/lib-basic-ui.so
+lib/tenacity/lib-builtin-effects.so
+lib/tenacity/lib-channel.so
+lib/tenacity/lib-command-parameters.so
+lib/tenacity/lib-components.so
+lib/tenacity/lib-concurrency.so
+lib/tenacity/lib-dynamic-range-processor.so
+lib/tenacity/lib-effects.so
+lib/tenacity/lib-exceptions.so
+lib/tenacity/lib-export-ui.so
+lib/tenacity/lib-ffmpeg-support.so
+lib/tenacity/lib-fft.so
+lib/tenacity/lib-file-formats.so
+lib/tenacity/lib-files.so
+lib/tenacity/lib-graphics.so
+lib/tenacity/lib-import-export.so
+lib/tenacity/lib-ipc.so
+lib/tenacity/lib-label-track.so
+lib/tenacity/lib-ladspa.so
+lib/tenacity/lib-lv2.so
+lib/tenacity/lib-math.so
+lib/tenacity/lib-menus.so
+lib/tenacity/lib-mixer.so
+lib/tenacity/lib-module-manager.so
+lib/tenacity/lib-music-information-retrieval.so
+lib/tenacity/lib-numeric-formats.so
+lib/tenacity/lib-nyquist-effects.so
+lib/tenacity/lib-playable-track.so
+lib/tenacity/lib-preference-pages.so
+lib/tenacity/lib-preferences.so
+lib/tenacity/lib-project-file-io.so
+lib/tenacity/lib-project-history.so
+lib/tenacity/lib-project-rate.so
+lib/tenacity/lib-project.so
+lib/tenacity/lib-realtime-effects.so
+lib/tenacity/lib-registries.so
+lib/tenacity/lib-sample-track.so
+lib/tenacity/lib-screen-geometry.so
+lib/tenacity/lib-shuttlegui.so
+lib/tenacity/lib-snapping.so
+lib/tenacity/lib-sqlite-helpers.so
+lib/tenacity/lib-stretching-sequence.so
+lib/tenacity/lib-string-utils.so
+lib/tenacity/lib-strings.so
+lib/tenacity/lib-tags.so
+lib/tenacity/lib-theme-resources.so
+lib/tenacity/lib-theme.so
+lib/tenacity/lib-time-and-pitch.so
+lib/tenacity/lib-time-frequency-selection.so
+lib/tenacity/lib-time-track.so
+lib/tenacity/lib-track-selection.so
+lib/tenacity/lib-track.so
+lib/tenacity/lib-transactions.so
+lib/tenacity/lib-utility.so
+lib/tenacity/lib-viewport.so
+lib/tenacity/lib-vst.so
+lib/tenacity/lib-wave-track-fft.so
+lib/tenacity/lib-wave-track-paint.so
+lib/tenacity/lib-wave-track-settings.so
+lib/tenacity/lib-wave-track.so
+lib/tenacity/lib-wx-init.so
+lib/tenacity/lib-wx-wrappers.so
+lib/tenacity/lib-xml.so
+share/applications/tenacity.desktop
+share/icons/hicolor/16x16/tenacity.png
+share/icons/hicolor/22x22/tenacity.png
+share/icons/hicolor/24x24/tenacity.png
+share/icons/hicolor/32x32/tenacity.png
+share/icons/hicolor/48x48/tenacity.png
+share/icons/hicolor/scalable/apps/tenacity.svg
+share/locale/af/LC_MESSAGES/tenacity.mo
+share/locale/ar/LC_MESSAGES/tenacity.mo
+share/locale/be/LC_MESSAGES/tenacity.mo
+share/locale/bg/LC_MESSAGES/tenacity.mo
+share/locale/bn/LC_MESSAGES/tenacity.mo
+share/locale/bs/LC_MESSAGES/tenacity.mo
+share/locale/ca/LC_MESSAGES/tenacity.mo
+share/locale/ca_ES@valencia/LC_MESSAGES/tenacity.mo
+share/locale/co/LC_MESSAGES/tenacity.mo
+share/locale/cs/LC_MESSAGES/tenacity.mo
+share/locale/cy/LC_MESSAGES/tenacity.mo
+share/locale/da/LC_MESSAGES/tenacity.mo
+share/locale/de/LC_MESSAGES/tenacity.mo
+share/locale/el/LC_MESSAGES/tenacity.mo
+share/locale/es/LC_MESSAGES/tenacity.mo
+share/locale/eu_ES/LC_MESSAGES/tenacity.mo
+share/locale/fa/LC_MESSAGES/tenacity.mo
+share/locale/fi/LC_MESSAGES/tenacity.mo
+share/locale/fr/LC_MESSAGES/tenacity.mo
+share/locale/ga/LC_MESSAGES/tenacity.mo
+share/locale/gl/LC_MESSAGES/tenacity.mo
+share/locale/he/LC_MESSAGES/tenacity.mo
+share/locale/hi/LC_MESSAGES/tenacity.mo
+share/locale/hr/LC_MESSAGES/tenacity.mo
+share/locale/hu/LC_MESSAGES/tenacity.mo
+share/locale/hy/LC_MESSAGES/tenacity.mo
+share/locale/id/LC_MESSAGES/tenacity.mo
+share/locale/it/LC_MESSAGES/tenacity.mo
+share/locale/ja/LC_MESSAGES/tenacity.mo
+share/locale/ka/LC_MESSAGES/tenacity.mo
+share/locale/km/LC_MESSAGES/tenacity.mo
+share/locale/ko/LC_MESSAGES/tenacity.mo
+share/locale/lt/LC_MESSAGES/tenacity.mo
+share/locale/mk/LC_MESSAGES/tenacity.mo
+share/locale/mr/LC_MESSAGES/tenacity.mo
+share/locale/my/LC_MESSAGES/tenacity.mo
+share/locale/nb/LC_MESSAGES/tenacity.mo
+share/locale/nl/LC_MESSAGES/tenacity.mo
+share/locale/oc/LC_MESSAGES/tenacity.mo
+share/locale/pl/LC_MESSAGES/tenacity.mo
+share/locale/pt_BR/LC_MESSAGES/tenacity.mo
+share/locale/pt_PT/LC_MESSAGES/tenacity.mo
+share/locale/ro/LC_MESSAGES/tenacity.mo
+share/locale/ru/LC_MESSAGES/tenacity.mo
+share/locale/sk/LC_MESSAGES/tenacity.mo
+share/locale/sl/LC_MESSAGES/tenacity.mo
+share/locale/sr_RS/LC_MESSAGES/tenacity.mo
+share/locale/sr_RS@latin/LC_MESSAGES/tenacity.mo
+share/locale/sv/LC_MESSAGES/tenacity.mo
+share/locale/ta/LC_MESSAGES/tenacity.mo
+share/locale/tg/LC_MESSAGES/tenacity.mo
+share/locale/tr/LC_MESSAGES/tenacity.mo
+share/locale/uk/LC_MESSAGES/tenacity.mo
+share/locale/vi/LC_MESSAGES/tenacity.mo
+share/locale/zh_CN/LC_MESSAGES/tenacity.mo
+share/locale/zh_TW/LC_MESSAGES/tenacity.mo
+share/man/man1/tenacity.1.gz
+share/metainfo/tenacity.metainfo.xml
+share/mime/packages/audacity.xml
+share/pixmaps/gnome-mime-application-x-audacity-project.xpm
+share/pixmaps/tenacity.xpm
+share/pixmaps/tenacity16.xpm
+share/pixmaps/tenacity32.xpm
+%%DATADIR%%/EffectsMenuDefaults.xml
+%%DATADIR%%/help/CMakeLists.txt
+%%DATADIR%%/help/tenacity.1
+%%DATADIR%%/help/tenacity.metainfo.xml.in
+%%DATADIR%%/nyquist/aud-do-support.lsp
+%%DATADIR%%/nyquist/dspprims.lsp
+%%DATADIR%%/nyquist/envelopes.lsp
+%%DATADIR%%/nyquist/equalizer.lsp
+%%DATADIR%%/nyquist/evalenv.lsp
+%%DATADIR%%/nyquist/fileio.lsp
+%%DATADIR%%/nyquist/init.lsp
+%%DATADIR%%/nyquist/misc.lsp
+%%DATADIR%%/nyquist/nyinit-dbg.lsp
+%%DATADIR%%/nyquist/nyinit.lsp
+%%DATADIR%%/nyquist/nyqmisc.lsp
+%%DATADIR%%/nyquist/nyquist-plot.txt
+%%DATADIR%%/nyquist/nyquist.lsp
+%%DATADIR%%/nyquist/printrec.lsp
+%%DATADIR%%/nyquist/profile.lsp
+%%DATADIR%%/nyquist/rawwaves/mand1.raw
+%%DATADIR%%/nyquist/rawwaves/mand10.raw
+%%DATADIR%%/nyquist/rawwaves/mand11.raw
+%%DATADIR%%/nyquist/rawwaves/mand12.raw
+%%DATADIR%%/nyquist/rawwaves/mand2.raw
+%%DATADIR%%/nyquist/rawwaves/mand3.raw
+%%DATADIR%%/nyquist/rawwaves/mand4.raw
+%%DATADIR%%/nyquist/rawwaves/mand5.raw
+%%DATADIR%%/nyquist/rawwaves/mand6.raw
+%%DATADIR%%/nyquist/rawwaves/mand7.raw
+%%DATADIR%%/nyquist/rawwaves/mand8.raw
+%%DATADIR%%/nyquist/rawwaves/mand9.raw
+%%DATADIR%%/nyquist/rawwaves/mandpluk.raw
+%%DATADIR%%/nyquist/rawwaves/marmstk1.raw
+%%DATADIR%%/nyquist/rawwaves/sinewave.raw
+%%DATADIR%%/nyquist/sal-parse.lsp
+%%DATADIR%%/nyquist/sal.lsp
+%%DATADIR%%/nyquist/seq.lsp
+%%DATADIR%%/nyquist/seqfnint.lsp
+%%DATADIR%%/nyquist/seqmidi.lsp
+%%DATADIR%%/nyquist/sliders.lsp
+%%DATADIR%%/nyquist/sndfnint.lsp
+%%DATADIR%%/nyquist/spec-plot.lsp
+%%DATADIR%%/nyquist/spectral-analysis.lsp
+%%DATADIR%%/nyquist/stk.lsp
+%%DATADIR%%/nyquist/system.lsp
+%%DATADIR%%/nyquist/test.lsp
+%%DATADIR%%/nyquist/velocity.lsp
+%%DATADIR%%/nyquist/xlinit.lsp
+%%DATADIR%%/nyquist/xm.lsp
+%%DATADIR%%/plug-ins/SpectralEditMulti.ny
+%%DATADIR%%/plug-ins/SpectralEditParametricEQ.ny
+%%DATADIR%%/plug-ins/SpectralEditShelves.ny
+%%DATADIR%%/plug-ins/StudioFadeOut.ny
+%%DATADIR%%/plug-ins/adjustable-fade.ny
+%%DATADIR%%/plug-ins/beat.ny
+%%DATADIR%%/plug-ins/clipfix.ny
+%%DATADIR%%/plug-ins/crossfadeclips.ny
+%%DATADIR%%/plug-ins/crossfadetracks.ny
+%%DATADIR%%/plug-ins/delay.ny
+%%DATADIR%%/plug-ins/eq-xml-to-txt-converter.ny
+%%DATADIR%%/plug-ins/equalabel.ny
+%%DATADIR%%/plug-ins/highpass.ny
+%%DATADIR%%/plug-ins/label-sounds.ny
+%%DATADIR%%/plug-ins/limiter.ny
+%%DATADIR%%/plug-ins/lowpass.ny
+%%DATADIR%%/plug-ins/noisegate.ny
+%%DATADIR%%/plug-ins/notch.ny
+%%DATADIR%%/plug-ins/nyquist-plug-in-installer.ny
+%%DATADIR%%/plug-ins/pluck.ny
+%%DATADIR%%/plug-ins/rhythmtrack.ny
+%%DATADIR%%/plug-ins/rissetdrum.ny
+%%DATADIR%%/plug-ins/rms.ny
+%%DATADIR%%/plug-ins/sample-data-export.ny
+%%DATADIR%%/plug-ins/sample-data-import.ny
+%%DATADIR%%/plug-ins/spectral-delete.ny
+%%DATADIR%%/plug-ins/tremolo.ny
+%%DATADIR%%/plug-ins/vocalrediso.ny
+%%DATADIR%%/plug-ins/vocoder.ny