[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