1

Topic: Possibility to mark audacity as incompatible and use tenacity instead

Tenacity is a libre fork of audacity maintained by community. It has an anti-LLM policy and no telemetry.

wxgtk3.2 PKGBUILD:

# Maintainer (Arch): Eric Bélanger <eric@archlinux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>
# Contributor: Tobias Dausend <throgh@hyperbola.info>
# Maintainer: Allen123456hello
# Based on wxgtk package

pkgbase=wxgtk3.2
pkgname=('wxgtk3.2-gtk2' 'wxgtk3.2-gtk3' 'wxgtk3.2-common')
pkgver=3.2.9
_debver=$pkgver
_debrel=1
pkgrel=1
arch=('i686' 'x86_64')
url='https://wxwidgets.org'
license=('wxWindows-Library-3.1')
makedepends=('gst-plugins-base' 'glu' 'gtk' 'gtk2' 'quilt')
options=('!emptydirs')
source=(https://github.com/wxWidgets/wxWidgets/releases/download/v$pkgver/wxWidgets-${pkgver}.tar.bz2
        https://deb.debian.org/debian/pool/main/w/wxwidgets3.2/wxwidgets3.2_${_debver}+dfsg-${_debrel}.debian.tar.xz)
sha512sums=('6fe5caa3deaa02df0ef1891e417625b7719cffc9968a2d43e5fbca349ec9fdb8d4fc85fb422f835df751af3a816f946fb9d0d008163924be1669e54ce2346df7'
            '9905ad6dd8c73ceecae6125916b6fb37691b0a91710f95717dd5881bb3e12328f0dab55e4a1844471931ee2e41ccb9e08b4830bb5094b6a648387110557609c5')

prepare() {
  cd wxWidgets-$pkgver

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    quilt push -av
  fi

  cd ..
  cp -r wxWidgets-$pkgver wxWidgets-$pkgver-gtk3
}

build() {
  cd wxWidgets-$pkgver
  ./configure --prefix=/usr --libdir=/usr/lib --with-gtk=2 --with-opengl --enable-unicode \
    --enable-graphics_ctx --enable-mediactrl --with-regex=builtin \
    --with-libpng=sys --with-libxpm=sys --with-libjpeg=sys --with-libtiff=sys \
    --disable-precomp-headers --with-libnotify=no
  make
  make -C locale allmo

  cd ../wxWidgets-$pkgver-gtk3
  ./configure --prefix=/usr --libdir=/usr/lib --with-gtk=3 --with-opengl --enable-unicode \
    --enable-graphics_ctx --enable-mediactrl --with-regex=builtin \
    --with-libpng=sys --with-libxpm=sys --with-libjpeg=sys --with-libtiff=sys \
    --disable-precomp-headers --with-libnotify=no
  make
}

package_wxgtk3.2-common() {
  pkgdesc='Common libraries and headers for wxgtk2 and wxgtk3'
  depends=('zlib' 'gcc-libs' 'expat')

  cd wxWidgets-$pkgver
  make DESTDIR="$pkgdir" install
  rm -r "$pkgdir"/usr/{bin/wx-config,lib/{wx,libwx_gtk*}}

  # Fix conflicting files
  mv "$pkgdir"/usr/bin/wxrc{,3.2}
  mv "$pkgdir"/usr/share/aclocal/wxwin{,3.2}.m4
  rm -r "$pkgdir"/usr/share/bakefile

  install -D -m644 docs/licence.txt -t "$pkgdir"/usr/share/licenses/$pkgname
}

package_wxgtk3.2-gtk2() {
  pkgdesc='GTK+2 implementation of wxWidgets API for GUI'
  depends=('gtk2' 'libgl' 'gst-plugins-base-libs' 'libsm' 'libxxf86vm' 'wxgtk-common')

  cd wxWidgets-$pkgver
  make DESTDIR="$pkgdir" install
  rm -r "$pkgdir"/usr/{include,share,lib/libwx_base*,bin/wxrc*}

  mv "$pkgdir"/usr/bin/wx-config{,3.2}
  
  install -D -m644 docs/licence.txt -t "$pkgdir"/usr/share/licenses/$pkgname
}

package_wxgtk3.2-gtk3() {
  pkgdesc='GTK+3 implementation of wxWidgets API for GUI'
  depends=('gtk' 'gst-plugins-base-libs' 'libsm' 'libxxf86vm' 'wxgtk-common')

  cd wxWidgets-$pkgver-gtk3
  make DESTDIR="$pkgdir" install  
  rm -r "$pkgdir"/usr/{include,share,lib/libwx_base*,bin/wxrc*}
  mv "$pkgdir"/usr/bin/wx-config{,3.2-gtk3}
   
  install -Dm644 docs/licence.txt -t "$pkgdir"/usr/share/licenses/$pkgname
}

tenacity PKGBUILD:

# Maintainer (Arch): Christian Heusel <christian@heusel.eu>
# Contributor (Arch): Frederik “Freso” S. Olesen <archlinux@freso.dk>
# Contributor (Arch): Luke Huckman (Darkpelz) <lukeh@outlook.my>
# Contributor (Arch): Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
# Contributor (Arch): fossdd <fossdd@tutanota.com>
# Contributor (Arch): Ong Yong Xin <ongyongxin2020+github AT gmail DOT com>
# Contributor (Arch): Bernhard Landauer <oberon@manjaro.org>
# Contributor (Arch): Eric Bélanger <eric@archlinux.org>
# Contributor: Allen123456hello

pkgname=tenacity
pkgver=1.3.4
_nyquistver=20260523
pkgrel=1
pkgdesc="A free/libre easy-to-use multi-track audio editor and recorder without telemetry, forked from Audacity"
arch=(i686 x86_64)
url="https://tenacityaudio.org"
license=("GPL-2.0-or-later")
provides=('audacity')
replaces=('audacity')
conflicts=('audacity')
# Hyperbola already uses ffmpeg 4.4.*
depends=('expat' 'gcc-libs' 'gdk-pixbuf2' 'glibc' 'libmad'
         'libsoxr' 'portsmf' 'soundtouch' 'vamp-plugin-sdk'
         'twolame' 'wxgtk3.2-gtk3')
makedepends=('alsa-lib' 'cmake' 'ffmpeg' 'flac' 'glib2' 'gtk' 'jack' 'lame'
             'libid3tag' 'libogg' 'libsndfile' 'libvorbis' 'lilv' 'lv2' 'portsmf' 'suil'
             'twolame' 'vamp-plugin-sdk' 'git' 'nasm' 'quilt')
optdepends=('ffmpeg: additional import/export capabilities')
source=(${pkgname}-v${pkgver}.tar.gz::"https://codeberg.org/tenacityteam/tenacity/archive/v$pkgver.tar.gz"
        libnyquist-snapshot-v${_nyquistver}.tar.gz::"https://codeberg.org/Allen123456hello/libnyquist-snapshot/archive/v${_nyquistver}.tar.gz")
sha512sums=('75adae4da374084fd93063d146b4d7d97812e28bedb6c0c7699afc1e543352734b92072ed0bfc800eb79ba8f71695ff823b70f3469cf4dd157f36e24c0f52d10'
            'b0d39b2461d0a6dade6d829649599422ba194212f5a3026e51657725bd6bec6471e8a633df2c4fb0069d36bda14341cf5ac830daafc08ca79a7bb46e152072be')

prepare() {
  cd ${srcdir}
  mkdir build
  mv ${pkgname} ${pkgname}-${pkgver}
  cd ${pkgname}-${pkgver}/lib-src/
  rm -d libnyquist
  ln -s ../../libnyquist-snapshot libnyquist -rv
}

build() {
  cd ${srcdir}/build
  export WX_CONFIG=wx-config3.2-gtk3
  cmake ../${pkgname}-${pkgver} \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_INSTALL_PREFIX=/usr \
    -D VCPKG=Off \
    -W no-dev
  make
}

package() {
  cd ${srcdir}
  make -C build DESTDIR="$pkgdir" install

  test -f ${pkgdir}/usr/tenacity && rm ${pkgdir}/usr/tenacity # remove unused launch script

  install -Dm644 ${srcdir}/build/bin/Release/plug-ins/*.ny -t "${pkgdir}/usr/share/${pkgname}/plug-ins"
  install -Dm644 ${srcdir}/build/bin/Release/nyquist/*.lsp -t "${pkgdir}/usr/share/${pkgname}/nyquist"

  mv "${pkgdir}/usr/share/pixmaps/gnome-mime-application-x-audacity-project.xpm" \
     "${pkgdir}/usr/share/pixmaps/gnome-mime-application-x-tenacity-project.xpm"

  install -Dm644 "${pkgname}-${pkgver}/LICENSE.txt" -t "${pkgdir}/usr/share/licenses/$pkgname"
}