[arch-commits] Commit in audacity/trunk (PKGBUILD)

David Runge dvzrv at gemini.archlinux.org
Mon Jul 25 16:31:06 UTC 2022


    Date: Monday, July 25, 2022 @ 16:31:06
  Author: dvzrv
Revision: 1258568

upgpkg: audacity 1:3.1.3-1: Upgrade to 3.1.3.

Remove unneeded patches.
Add patches for wxwidgets >= 3.1.6.
Switch to cmake as build system.
Remove unsafe RPATH from libraries.
Remove unneeded script file.
Split out documentation to separate package.
Add debug package.

Modified:
  audacity/trunk/PKGBUILD

----------+
 PKGBUILD |  218 +++++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 147 insertions(+), 71 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-07-25 14:49:39 UTC (rev 1258567)
+++ PKGBUILD	2022-07-25 16:31:06 UTC (rev 1258568)
@@ -1,85 +1,161 @@
 # Maintainer: David Runge <dvzrv at archlinux.org>
 # Contributor: Eric Bélanger <eric at archlinux.org>
 
-pkgname=audacity
-pkgver=2.4.1
-pkgrel=9
+_name=Audacity
+pkgbase=audacity
+pkgname=(audacity audacity-docs)
+pkgver=3.1.3
+pkgrel=1
 epoch=1
 pkgdesc="A program that lets you manipulate digital audio waveforms"
-arch=('x86_64')
+arch=(x86_64)
 url="https://audacityteam.org"
-license=('GPL2' 'CCPL')
-groups=('pro-audio')
-# upstream hard codes/vendors portaudio/portmidi
-# https://github.com/audacity/audacity/issues/522
-depends=('expat' 'gcc-libs' 'gdk-pixbuf2' 'glibc' 'libmad'
-'libsoxr' 'soundtouch' 'wxwidgets-gtk3')
-makedepends=('alsa-lib' 'cmake' 'ffmpeg4.4' 'flac' 'glib2' 'gtk3' 'jack' 'lame'
-'libid3tag' 'libogg' 'libsndfile' 'libvorbis' 'lilv' 'lv2' 'portsmf' 'suil'
-'twolame' 'vamp-plugin-sdk')
-optdepends=('ffmpeg4.4: additional import/export capabilities')
-source=("https://github.com/${pkgname}/${pkgname}/archive/Audacity-${pkgver}.tar.gz"
-        "${pkgname}-2.4.1-resize_crash.patch::https://github.com/dvzrv/audacity/commit/d7e769040b508aaf15ce7b51cc1a565d41cdb079.patch"
-         https://github.com/audacity/audacity/commit/9b743cc1.patch
-         https://github.com/audacity/audacity/commit/55383fcc.patch)
-sha512sums=('2f0a3f7e24dce91ae520e285dbb05778b68e0fe37b8ded55ac568b5f8135069951b3986764adc5d0791c165b283a3c19596f1d6f51ba17028e0eb04558c63f25'
-            '9c111b6d74ff0cd76f5f2db0ce513bf1c5400c41497220c87ea694f5b2b75c1e6bc1a817dd1fb2e81ed5ddcf2c610bb334a091c2cd8f7bae1111a911f47cab4b'
-            '6c0945adaa2f6ec8afe7c7afd1fda56387cd0df438c7ea1d8103d75c55ecaf432083ad4d2741a4eb6a90cddee45cd3c1f4de80235749a79408bc8824f303c1ac'
-            '64fa3a78d56e8a44e1315d2d19d6310bbf185eed2fd1b0cdb4bc92338149a51c22e77986ecb1696477f367c459afa3b60638def96ef241cf7d162c82feb40016')
+license=(GPL3)
+groups=(pro-audio)
+makedepends=(
+  alsa-lib
+  chrpath
+  cmake
+  ffmpeg
+  flac
+  gcc-libs
+  glibc
+  gdk-pixbuf2
+  glib2
+  gtk3
+  jack
+  lame
+  libid3tag
+  libmad
+  libogg
+  libsbsms
+  libsndfile
+  libsoxr
+  libvorbis
+  lilv
+  lv2
+  portaudio
+  portmidi
+  portsmf
+  python
+  soundtouch
+  sqlite
+  suil
+  twolame
+  wxwidgets-gtk3
+  vamp-plugin-sdk
+)
+options=(debug)
+source=(
+  $_name-$pkgver-Source.tar.gz::https://github.com/$pkgbase/$pkgbase/releases/download/Audacity-$pkgver/$pkgbase-$pkgver-source.tar.gz
+  https://github.com/$pkgbase/$pkgbase/releases/download/Audacity-$pkgver/$pkgbase-manual-$pkgver.tar.gz
+  $pkgbase-3.1.3-wxbitmap_constructor.patch::https://github.com/audacity/audacity/pull/2776/commits/342c4b588f2f069a2df2157ac166237a54277b3a.patch
+  $pkgbase-3.1.3-wxwidgets_3.1.6.patch::https://github.com/audacity/audacity/pull/2776/commits/efc11c4ac50ac51cd71d4dcfa84e63b11000c3f5.patch
+)
+sha512sums=('f3bb9a6cbf90c40d50f47bc296cf677e799fb8beb74e21ea3cd389de35a58ccd7df898f176a9326b682736b5dd9a9cfe56e83f56f2428f8ababb32037397fb53'
+            '077fcf3b3d1650c7eab62d9e324d13e5b2f14079ab4b0b105bd3689fee1cc3c56936997b8f4b5c3d44b9d003419acb604f4065129a6cfd6b254b5e10a857887f'
+            '29998229eac80e2b54cf457ebff6a56d8dad30e2b58f42956dea313610bd9d012bfa3ea6546fe520fcd05e45e9a96f1a17bab68fc3254fff56743c20c14c0e92'
+            '26a8910d0e86f96fd58ac7dfa9da823dee16fb37640632ba5cbc6687666acc628589be6a115435d01be02b898dbfc2774151df92854d6380349365731148736d')
+b2sums=('e2f9160b244bef703ddb2808246ab22e499c9c68283b3ff648343c397d5760c08b9761f4c57bcab6bcbe42b0d4ea01ce6234bdf531de588871706ef41e1e841e'
+        '5f3106193b81210f8fd0fe9c7034ce3f7306e641fa4024f3120726b2f8fba7e9a48719813367ca56df85b84ac141cd3ac850cfcb69d0a1f24e932e24dac1f068'
+        'fb33a3b5db4f292578c1c38db1b4122c1c2081d91ed437b78b0357bbea565d347e8c6b40f3989bce1b3cbf4c3513b63f244f3443f463166fc4616485704d148a'
+        '71d23b62d7d73131cb264141422b340e1a998d432aef0161bf1544efdc07e51f7852559ebcfe15a7df17b974fad1c75872dcb6ada6d311f54ce67df26f530851')
 
 prepare() {
-  mv -v "${pkgname}-Audacity-${pkgver}" "${pkgname}-${pkgver}"
-  cd "${pkgname}-${pkgver}"
-  # fix crash on resize: https://bugs.archlinux.org/task/66771
-  patch -Np1 -i "../${pkgname}-2.4.1-resize_crash.patch"
-  # fix build with wxwidgets 3.2
-  patch -p1 -i ../9b743cc1.patch
-  patch -p1 -i ../55383fcc.patch
-  sed -e 's|3\.1\.\*|3.2.*|' -i configure.ac -i lib-src/lib-widget-extra/configure.ac # Fix wxwidgets 3.2 detection
-  autoreconf -vfi
-  cd lib-src/lib-widget-extra
-  autoreconf -vfi
+  patch -Np1 -d $_name-$pkgver-Source -i ../$pkgbase-3.1.3-wxbitmap_constructor.patch
+  patch -Np1 -d $_name-$pkgver-Source -i ../$pkgbase-3.1.3-wxwidgets_3.1.6.patch
 }
 
 build() {
-  cd "${pkgname}-${pkgver}"
-  # the cmake setup is still more complicated and error-prone than the
-  # autotools setup:
-  # https://github.com/audacity/audacity/issues/519
-  # https://github.com/audacity/audacity/issues/520
-  # https://github.com/audacity/audacity/issues/521
-  PKG_CONFIG_PATH=/usr/lib/ffmpeg4.4/pkgconfig \
-  ./configure --prefix="/usr" \
-    --with-libsndfile="system" \
-    --with-ffmpeg="system" \
-    --with-expat="system" \
-    --with-lame="system" \
-    --with-libsoxr="system" \
-    --with-portaudio \
-    --with-portmidi \
-    --with-libflac \
-    --with-libid3tag \
-    --with-libsamplerate \
-    --with-sbsms \
-    --with-soundtouch \
-    --with-libtwolame \
-    --with-libvorbis \
-    --with-lv2
-  make
+  local cmake_options=(
+    -D CMAKE_BUILD_TYPE=None
+    -D CMAKE_INSTALL_PREFIX=/usr
+    -D audacity_conan_enabled=OFF
+    -D audacity_has_networking=OFF
+    -D audacity_has_crashreports=OFF
+    -D audacity_has_updates_check=OFF
+    -D audacity_has_sentry_reporting=OFF
+    -D audacity_lib_preference=system
+    -D audacity_obey_system_dependencies=ON
+  )
+
+  cmake "${cmake_options[@]}" -B build -S $_name-$pkgver-Source -Wno-dev
+  cmake --build build
 }
 
-package() {
-  depends+=('libFLAC.so' 'libFLAC++.so' 'libasound.so' 'libgdk-3.so'
-  'libglib-2.0.so' 'libgobject-2.0.so' 'libgtk-3.so' 'libid3tag.so'
-  'libjack.so' 'liblilv-0.so' 'libogg.so' 'libsndfile.so' 'libsuil-0.so'
-  'libtwolame.so' 'libvamp-hostsdk.so' 'libvorbis.so' 'libvorbisenc.so'
-  'libvorbisfile.so' 'libportSMF.so')
-  cd "${pkgname}-${pkgver}"
-  make DESTDIR="${pkgdir}" install
-  # install libnyquist plugins, missing since 2.4.0:
-  # https://bugs.archlinux.org/task/66733
-  install -vDm 644 plug-ins/*.ny -t "${pkgdir}/usr/share/${pkgname}/plug-ins"
-  # install missing *.lsp files for nyquist plugins, missing since 2.4.0:
-  # https://bugs.archlinux.org/task/66739
-  install -vDm 644 nyquist/*.lsp -t "${pkgdir}/usr/share/${pkgname}/nyquist"
+check() {
+  ctest --test-dir build --output-on-failure
 }
+
+package_audacity() {
+  license+=(BSD)
+  depends=(
+    alsa-lib
+    flac
+    gcc-libs
+    glibc
+    gdk-pixbuf2
+    glib2
+    gtk3
+    jack
+    lame
+    libid3tag
+    libmad
+    libogg
+    libsbsms
+    libsndfile
+    libsoxr
+    libvorbis
+    lilv
+    portaudio
+    portmidi
+    portsmf
+    python
+    soundtouch
+    sqlite
+    suil
+    twolame
+    wxwidgets-gtk3
+    vamp-plugin-sdk
+  )
+  depends+=(libFLAC.so libFLAC++.so libasound.so libgdk-3.so
+  libgdk_pixbuf-2.0.so libglib-2.0.so libgobject-2.0.so libgtk-3.so
+  libid3tag.so libjack.so liblilv-0.so libogg.so libportaudio.so libportmidi.so
+  libsbsms.so libsndfile.so libsuil-0.so libtwolame.so libvamp-hostsdk.so
+  libvorbis.so libvorbisenc.so libvorbisfile.so libportSMF.so)
+  optdepends=(
+    'audacity-docs: for documentation'
+    'ffmpeg: for additional import/export capabilities'
+  )
+
+
+  DESTDIR="$pkgdir" cmake --install build
+  install -vDm 644 $_name-$pkgver-Source/lib-src/libnyquist/nyquist/license.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.nyquist"
+
+  # remove unsafe RPATH: https://github.com/audacity/audacity/issues/3289
+  (
+  cd "$pkgdir/usr/lib/$pkgname"
+  for _lib in *.so; do
+    chrpath --delete "$_lib"
+    chmod 755 "$_lib"
+  done
+  )
+  (
+  cd "$pkgdir/usr/lib/$pkgname/modules"
+  for _lib in *.so; do
+    chrpath --delete "$_lib"
+    chmod 755 "$_lib"
+  done
+  )
+  # upstream installes a non-compliant script that we don't need:
+  # https://github.com/audacity/audacity/issues/3290
+  rm -frv "$pkgdir/usr/$pkgname"
+}
+
+package_audacity-docs() {
+  license+=(CCPL)
+  pkgdesc+=" - documentation"
+
+  install -vdm 755 "$pkgdir/usr/share/doc/$pkgbase/html/"
+  cp -av help/manual/* "$pkgdir/usr/share/doc/$pkgbase/html/"
+}



More information about the arch-commits mailing list