Update to audacity-2.4.2 which builds with -fno-common.

- move build to cmake
- use python3
This commit is contained in:
ajacoutot 2021-02-14 08:36:20 +00:00
parent 77351d98c9
commit ce1f967f2c
22 changed files with 240 additions and 343 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.75 2020/01/24 05:20:37 bket Exp $
# $OpenBSD: Makefile,v 1.76 2021/02/14 08:36:20 ajacoutot Exp $
COMMENT= free audio editor
@ -6,8 +6,9 @@ COMMENT= free audio editor
# so can't be fetched automatically
GH_ACCOUNT= audacity
GH_PROJECT= audacity
GH_TAGNAME= Audacity-2.3.3
GH_TAGNAME= Audacity-2.4.2
DISTNAME= ${GH_TAGNAME:L}
CATEGORIES= audio
HOMEPAGE= https://www.audacityteam.org/
@ -15,115 +16,88 @@ HOMEPAGE= https://www.audacityteam.org/
# GPLv2
PERMIT_PACKAGE= Yes
WANTLIB += ${COMPILER_LIBCXX}
WANTLIB += FLAC FLAC++ ICE SDL2 SM SoundTouch X11 Xcomposite Xcursor
WANTLIB += Xdamage Xext Xfixes Xi Xinerama Xrandr Xrender Xss
WANTLIB += Xxf86vm aom atk-1.0 atk-bridge-2.0 avcodec avformat
WANTLIB += avutil bz2 c cairo cairo-gobject crypto dav1d epoxy
WANTLIB += expat ffi fontconfig freetype fribidi gdk-3 gdk_pixbuf-2.0
WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 graphite2
WANTLIB += gsm gthread-2.0 gtk-3 harfbuzz iconv id3tag intl jpeg
WANTLIB += lzma m mad mspack notify ogg opus pango-1.0 pangocairo-1.0
WANTLIB += pangoft2-1.0 pcre pixman-1 png portaudio portmidi samplerate
WANTLIB += sndfile sndio soxr speex ssl swresample theoradec theoraenc
WANTLIB += tiff usbhid vamp-hostsdk vorbis vorbisenc vorbisfile
WANTLIB += vpx wx_baseu-3.0 wx_baseu_net-3.0 wx_baseu_xml-3.0
WANTLIB += wx_gtk3u_adv-3.0 wx_gtk3u_core-3.0 wx_gtk3u_html-3.0
WANTLIB += wx_gtk3u_qa-3.0 wx_gtk3u_xrc-3.0 x264 x265 xcb xcb-render
WANTLIB += xcb-shm xml2 xvidcore z zstd
WANTLIB += ${COMPILER_LIBCXX} FLAC FLAC++ SoundTouch atk-1.0 c
WANTLIB += cairo cairo-gobject expat gdk-3 gdk_pixbuf-2.0 gio-2.0
WANTLIB += glib-2.0 gobject-2.0 gtk-3 harfbuzz id3tag intl m mad
WANTLIB += ogg pango-1.0 pangocairo-1.0 portaudio portmidi sndfile
WANTLIB += soxr vamp-hostsdk vorbis vorbisenc vorbisfile wx_baseu-3.0
WANTLIB += wx_baseu_net-3.0 wx_gtk3u_adv-3.0 wx_gtk3u_core-3.0
WANTLIB += wx_gtk3u_html-3.0 wx_gtk3u_qa-3.0 z
# dlopened
WANTLIB += mp3lame
WANTLIB += avcodec avformat avutil mp3lame
COMPILER = base-clang ports-gcc base-gcc
COMPILER= base-clang ports-gcc base-gcc
MODULES= devel/cmake \
lang/python
MODULES= lang/python
MODPY_RUNDEP= No
MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
BUILD_DEPENDS= devel/gettext,-tools \
shells/bash
# Used to build suild, not installed by default
# See ${WRKSRC}/lib-src/lv2/suil and https://drobilla.net/software/suil
BUILD_DEPENDS+= x11/gtk+2
LIB_DEPENDS= x11/wxWidgets>=3.0.4 \
audio/libsoxr \
audio/flac \
BUILD_DEPENDS= devel/gettext,-tools
LIB_DEPENDS= audio/flac \
audio/lame \
audio/libvorbis \
audio/libid3tag \
audio/libmad \
audio/portaudio-svn>=1406p1 \
audio/libsoxr \
audio/libvorbis \
audio/portaudio-svn \
audio/portmidi \
audio/soundtouch \
audio/vamp-plugin-sdk \
graphics/ffmpeg
graphics/ffmpeg \
x11/wxWidgets
RUN_DEPENDS= devel/desktop-file-utils \
misc/shared-mime-info \
x11/gtk+3,-guic
SEPARATE_BUILD= No
CONFIGURE_ARGS= -Daudacity_lib_preference:STRING=system \
-Daudacity_use_expat:STRING=system \
-Daudacity_use_wxwidgets:STRING=system \
-Daudacity_use_soxr:STRING=system \
-Daudacity_use_sndfile:STRING=system \
-Daudacity_use_portsmf:STRING=local \
-Daudacity_use_portaudio:STRING=system \
-Daudacity_use_ffmpeg:STRING=loaded \
-Daudacity_use_flac:STRING=system \
-Daudacity_use_id3tag:STRING=system \
-Daudacity_use_lame:STRING=system \
-Daudacity_use_mad:STRING=system \
-Daudacity_use_midi:STRING=system \
-Daudacity_use_ogg:STRING=system \
-Daudacity_use_sbsms:STRING=local \
-Daudacity_use_soundtouch:STRING=system \
-Daudacity_use_twolame:STRING=off \
-Daudacity_use_vamp:STRING=system \
-Daudacity_use_vorbis:STRING=system \
-Daudacity_use_pch:STRING=off \
-Daudacity_use_vst:STRING=local
USE_GMAKE= Yes
AUTOCONF_VERSION= 2.69
AUTOMAKE_VERSION= 1.15
CONFIGURE_STYLE= autoreconf
CONFIGURE_ENV= CC="${CC}" CXX="${CXX}" OBJCXX="${CXX}" \
CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \
CFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include ${CFLAGS}" \
LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib ${LDFLAGS}"
# disable portmixer that requires Pa_GetStreamHostApiType whic our
# audio/portaudio does not provide
CONFIGURE_ARGS += -Daudacity_use_portmixer:STRING=off
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} \
${WRKSRC}/lib-src/lib-widget-extra \
${WRKSRC}/lib-src/portsmf \
${WRKSRC}/lib-src/FileDialog \
${WRKSRC}/lib-src/sbsms \
${WRKSRC}/lib-src/libnyquist
# requires gtk+2
CONFIGURE_ARGS += -Daudacity_use_lv2:STRING=off
CONFIGURE_ARGS= --disable-dynamic-loading \
--enable-ladspa \
--enable-nyquist \
--enable-unicode \
--with-expat=system \
--with-ffmpeg=system \
--with-lame=system \
--with-lib-preferences=system \
--with-libflac=system \
--with-libid3tag=system \
--with-libmad=system \
--with-libsndfile=system \
--with-libsoxr=system \
--with-libvamp=system \
--with-libvorbis=system \
--with-lv2=local \
--with-midi=yes \
--with-portaudio=system \
--with-portmidi=system \
--with-sbsms=local \
--with-soundtouch=system \
--with-widgetextra=local \
--without-liblrdf \
--without-libtwolame \
--without-portmixer \
--without-redland
.if ${MACHINE_ARCH} != "amd64" && ${MACHINE_ARCH} != "i386"
CONFIGURE_ARGS += -DHAVE_MMX:BOOL=OFF
CONFIGURE_ARGS += -DHAVE_SSE:BOOL=OFF
.endif
.if ${MACHINE_ARCH} != "amd64"
CONFIGURE_ARGS+= --disable-sse
CONFIGURE_ARGS += -DHAVE_SSE2:BOOL=OFF
.endif
NO_TEST= Yes
# dummy Makefile to disable portmixer
post-extract:
printf 'all:\ninstall:\n' > ${WRKSRC}/lib-src/portmixer/Makefile
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps
${INSTALL_DATA} ${WRKSRC}/images/AudacityLogo.xpm \
${PREFIX}/share/pixmaps/audacity.xpm
${INSTALL_DATA_DIR} ${PREFIX}/share/applications
${INSTALL_DATA} ${WRKSRC}/src/audacity.desktop \
${PREFIX}/share/applications/
${INSTALL_DATA_DIR} ${PREFIX}/share/mime/packages
${INSTALL_DATA} ${WRKSRC}/src/audacity.xml \
${PREFIX}/share/mime/packages/
.for i in 16 22 24 32
${INSTALL_DATA_DIR} ${PREFIX}/share/icons/hicolor/${i}x${i}/apps
mv ${PREFIX}/share/icons/hicolor/${i}x${i}/audacity.png \
${PREFIX}/share/icons/hicolor/${i}x${i}/apps/
.endfor
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (audacity-2.3.3.tar.gz) = QE5sSWk97clCEvxVJZdAWNhIU2Al4Z2jE1muArq+i9c=
SIZE (audacity-2.3.3.tar.gz) = 62073352
SHA256 (audacity-2.4.2.tar.gz) = zbSADI6dHUyhmWTK+NJAAPgChuvYpNtWbCYiRJdEwJk=
SIZE (audacity-2.4.2.tar.gz) = 61248430

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-cmake-proxies_CMakeLists_txt,v 1.1 2021/02/14 08:36:20 ajacoutot Exp $
Index: cmake-proxies/CMakeLists.txt
--- cmake-proxies/CMakeLists.txt.orig
+++ cmake-proxies/CMakeLists.txt
@@ -132,7 +132,7 @@ addlib( expat expat EXPAT YES
addlib( lame lame LAME YES YES "lame >= 3.100" )
addlib( libsndfile sndfile SNDFILE YES YES "sndfile >= 1.0.28" )
addlib( libsoxr soxr SOXR YES YES "soxr >= 0.1.1" )
-addlib( portaudio-v19 portaudio PORTAUDIO YES YES "" )
+addlib( portaudio-v19 portaudio PORTAUDIO YES YES "portaudio-2.0 >= 19" )
# Optional libraries
#

View File

@ -1,42 +0,0 @@
$OpenBSD: patch-configure_ac,v 1.4 2020/01/24 05:20:37 bket Exp $
- check if -latomic is needed
- disable jack
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -200,12 +200,16 @@ if test x$enable_universal_binary = xyes; then
esac
fi
-dnl Check if $CXX is clang by evaluating the version string because
-dnl $ax_cv_cxx_compiler_vendor seems not to work (it is either "gnu" or just empty).
-dnl If $CXX is clang (string is found), grep returns 0 and the if is executed.
-dnl Use /dev/null to suppress grep output to shell.
-if ($CXX --version | grep 'clang version' > /dev/null); then
- LDFLAGS="${LDFLAGS} -latomic"
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+ #include <atomic>
+ #include <cstdint>
+ std::atomic<std::int64_t> v;
+ int main() {
+ return v;
+ }
+]])], STD_ATOMIC_NEED_LIBATOMIC=no, STD_ATOMIC_NEED_LIBATOMIC=yes)
+if test "x$STD_ATOMIC_NEED_LIBATOMIC" = xyes; then
+ LDFLAGS="${LDFLAGS} -latomic"
fi
if test x$enable_sse = xyes; then
@@ -646,10 +650,6 @@ case "${host_os}" in
AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
if [[ $have_alsa = "yes" ]] ; then
LIBS="$LIBS -lasound"
- fi
- PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
- if [[ $have_jack = "yes" ]] ; then
- LIBS="$LIBS $JACK_LIBS"
fi
AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm)
if [[ $have_asihpi = "yes" ]] ; then

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-lib-src_FileDialog_Makefile_am,v 1.2 2020/01/24 05:20:37 bket Exp $
- do not build a shared library
Index: lib-src/FileDialog/Makefile.am
--- lib-src/FileDialog/Makefile.am.orig
+++ lib-src/FileDialog/Makefile.am
@@ -1,7 +1,7 @@
AM_LIBTOOLFLAGS = --tag CC
ACLOCAL_AMFLAGS = -I m4
-lib_LTLIBRARIES = libFileDialog.la
+noinst_LTLIBRARIES = libFileDialog.la
libFileDialog_la_LIBTOOLFLAGS = --tag=CXX
libFileDialog_la_CPPFLAGS = $(WX_CXXFLAGS) -Wno-deprecated-declarations

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-lib-src_lib-widget-extra_Makefile_am,v 1.1 2019/03/26 18:26:45 rapha Exp $
- do not build a shared library
Index: lib-src/lib-widget-extra/Makefile.am
--- lib-src/lib-widget-extra/Makefile.am.orig
+++ lib-src/lib-widget-extra/Makefile.am
@@ -5,7 +5,7 @@ EXTRA_DIST = libwidgetextra.pc.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libwidgetextra.pc
-lib_LTLIBRARIES = libwidgetextra.la
+noinst_LTLIBRARIES = libwidgetextra.la
libwidgetextra_la_CPPFLAGS = $(WX_CXXFLAGS) -Wno-deprecated-declarations
libwidgetextra_la_LIBADD = $(WX_LIBS)

View File

@ -1,17 +0,0 @@
$OpenBSD: patch-lib-src_libnyquist_Makefile_am,v 1.1 2019/03/26 18:26:45 rapha Exp $
- don't use the bundled portaudio and sndfile libraries
Index: lib-src/libnyquist/Makefile.am
--- lib-src/libnyquist/Makefile.am.orig
+++ lib-src/libnyquist/Makefile.am
@@ -2,9 +2,6 @@
# Makefile(.in) for libnyquist using Autotools (but not libtool).
# Written by Richard Ash following Gary Vaughan's Autobook
-PORTAUDIO_CFLAGS = -I${srcdir}/../portaudio-v19/include
-SNDFILE_CFLAGS = -I${builddir}/../libsndfile/src
-
# tell aclocal that extra macros can be found in autotools/m4/
ACLOCAL_AMFLAGS = -I autotools/m4

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-lib-src_libnyquist_nyquist_cmt_cext_h,v 1.1 2021/02/14 08:36:20 ajacoutot Exp $
Index: lib-src/libnyquist/nyquist/cmt/cext.h
--- lib-src/libnyquist/nyquist/cmt/cext.h.orig
+++ lib-src/libnyquist/nyquist/cmt/cext.h
@@ -61,7 +61,7 @@ EXIT(n) -- calls exit(n) after shutting down/dealloca
#include <malloc.h>
#endif
-#if NEED_ULONG
+#if NEED_ULONG || __OpenBSD__
typedef unsigned long ulong;
#endif

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-lib-src_libnyquist_nyquist_nyqstk_include_FileRead_h,v 1.1 2021/02/14 08:36:20 ajacoutot Exp $
Index: lib-src/libnyquist/nyquist/nyqstk/include/FileRead.h
--- lib-src/libnyquist/nyquist/nyqstk/include/FileRead.h.orig
+++ lib-src/libnyquist/nyquist/nyqstk/include/FileRead.h
@@ -33,6 +33,7 @@
#define STK_FILEREAD_H
#include "Stk.h"
+#include <stdio.h>
namespace Nyq
{

View File

@ -1,11 +1,11 @@
$OpenBSD: patch-lib-src_libnyquist_nyquist_nyqstk_include_Stk_h,v 1.2 2019/03/05 16:36:58 jca Exp $
$OpenBSD: patch-lib-src_libnyquist_nyquist_nyqstk_include_Stk_h,v 1.3 2021/02/14 08:36:20 ajacoutot Exp $
- namespace clash with sys/endian.h
Index: lib-src/libnyquist/nyquist/nyqstk/include/Stk.h
--- lib-src/libnyquist/nyquist/nyqstk/include/Stk.h.orig
+++ lib-src/libnyquist/nyquist/nyqstk/include/Stk.h
@@ -126,6 +126,10 @@ class Stk (public)
@@ -160,6 +160,10 @@ class Stk (public)
//! Static method which sets the STK rawwave path.
static void setRawwavePath(std::string path);

View File

@ -1,29 +1,23 @@
$OpenBSD: patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h,v 1.3 2019/03/10 11:45:50 ajacoutot Exp $
$OpenBSD: patch-lib-src_libnyquist_nyquist_xlisp_xlisp_h,v 1.4 2021/02/14 08:36:20 ajacoutot Exp $
- use endian.h and BYTE_ORDER
(XXX hardcodes #define HAVE_ENDIAN_H 1)
http://austingroupbugs.net/view.php?id=162#c665
Index: lib-src/libnyquist/nyquist/xlisp/xlisp.h
--- lib-src/libnyquist/nyquist/xlisp/xlisp.h.orig
+++ lib-src/libnyquist/nyquist/xlisp/xlisp.h
@@ -150,10 +150,17 @@ extern long ptrtoabs();
#define XL_BIG_ENDIAN
@@ -161,6 +161,15 @@ extern long ptrtoabs();
#endif
#endif
-/* Linux on Pentium */
-#if defined(__linux__) || defined(__GLIBC__)
+/* POSIX proposal
+ * Linux, BSD, etc
+ * http://austingroupbugs.net/view.php?id=162#c665
+ * Don't hardcode XL_LITTLE_ENDIAN/XL_BIG_ENDIAN
+ */
+#define HAVE_ENDIAN_H 1
+#ifdef HAVE_ENDIAN_H
+#undef XL_LITTLE_ENDIAN
+#undef XL_BIG_ENDIAN
#include <endian.h>
-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if BYTE_ORDER == LITTLE_ENDIAN
#define XL_LITTLE_ENDIAN
#else
#define XL_BIG_ENDIAN
+/* OpenBSD */
+#ifdef __OpenBSD__
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define XL_LITTLE_ENDIAN
+#else
+#define XL_BIG_ENDIAN
+#endif
+#endif
+
/* Apple CC */
#ifdef __APPLE__
#define NNODES 2000

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-lib-src_lv2_build,v 1.1 2019/03/05 16:36:58 jca Exp $
- fix path to bash
Index: lib-src/lv2/build
--- lib-src/lv2/build.orig
+++ lib-src/lv2/build
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
srcdir=.
while [ $# -gt 0 ]

View File

@ -1,55 +0,0 @@
$OpenBSD: patch-lib-src_lv2_configure,v 1.1 2019/03/05 16:36:58 jca Exp $
- fix bashisms (script invoked with /bin/sh .../configure ...)
- no libdl on OpenBSD
Index: lib-src/lv2/configure
--- lib-src/lv2/configure.orig
+++ lib-src/lv2/configure
@@ -1,13 +1,12 @@
-#!/bin/bash
+#!/bin/sh
srcdir=.
while [ $# -gt 0 ]
do
- if [[ "$1" =~ --srcdir=.* ]]
- then
+ case $1 in --srcdir=*)
srcdir=${1#*=}
- break
- fi
+ ;;
+ esac
shift
done
@@ -16,7 +15,7 @@ function waf
pkg="$1"
shift
mkdir -p ${pkg}
- pushd >/dev/null ${pkg}
+ (cd ${pkg} || exit 1
if [ ! -e "waflib" ]
then
@@ -32,8 +31,9 @@ function waf
done
$(which python python2 | tail -1) waf --prefix="." --include="." $@ configure || exit 1
- popd >/dev/null
+)
+
if [ "${pkg}" == "lv2" ]
then
eval $(sed -e '/^VERSION/!d;s/ //g;s/.*VERSION/version/' ${pkg}/wscript)
@@ -54,7 +54,7 @@ includedir=.
Name: ${pkg}
Version: ${version}
Description: Temporary fake config file
-Libs: -L\${libdir} ${lib} -ldl -lm
+Libs: -L\${libdir} ${lib} -lm
Cflags: -I\${includedir}/${pkg}${major}
EOF

View File

@ -1,15 +0,0 @@
$OpenBSD: patch-lib-src_lv2_suil_src_x11_in_gtk2_c,v 1.1 2019/03/05 16:36:58 jca Exp $
- missing header
Index: lib-src/lv2/suil/src/x11_in_gtk2.c
--- lib-src/lv2/suil/src/x11_in_gtk2.c.orig
+++ lib-src/lv2/suil/src/x11_in_gtk2.c
@@ -17,6 +17,7 @@
#include <string.h>
#include <gtk/gtk.h>
+#include <gtk/gtkx.h>
#include <gdk/gdkx.h>
#include "./suil_internal.h"

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-lib-src_portsmf_allegro_h,v 1.1 2021/02/14 08:36:20 ajacoutot Exp $
Index: lib-src/portsmf/allegro.h
--- lib-src/portsmf/allegro.h.orig
+++ lib-src/portsmf/allegro.h
@@ -51,6 +51,7 @@
#include <assert.h>
#include <istream>
#include <ostream>
+#include <cstring>
#define ALG_EPS 0.000001 // epsilon
#define ALG_DEFAULT_BPM 100.0 // default tempo

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-m4_audacity_checklib_portaudio_m4,v 1.1 2019/03/26 18:26:45 rapha Exp $
- force-disable check for Pa_GetStreamHostApiType, likely not needed
anyway. (Seems only used in portmixer, which we disable.) We want to
try to use audio/portaudio instead.
Index: m4/audacity_checklib_portaudio.m4
--- m4/audacity_checklib_portaudio.m4.orig
+++ m4/audacity_checklib_portaudio.m4
@@ -16,7 +16,7 @@ AC_DEFUN([AUDACITY_CHECKLIB_PORTAUDIO], [
if test "$PORTAUDIO_SYSTEM_AVAILABLE" = "yes"; then
AC_EGREP_HEADER([Pa_GetStreamHostApiType], [portaudio.h],
- [have_portaudio_support=yes], [have_portaudio_support=no])
+ [have_portaudio_support=yes], [have_portaudio_support=yes])
if test "$have_portaudio_support" = "yes"; then
PORTAUDIO_SYSTEM_AVAILABLE="yes"

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_AboutDialog_cpp,v 1.1 2021/02/14 08:36:20 ajacoutot Exp $
fatal error: 'RevisionIdent.h' file not found
Index: src/AboutDialog.cpp
--- src/AboutDialog.cpp.orig
+++ src/AboutDialog.cpp
@@ -63,7 +63,7 @@ hold information about one contributor to Audacity.
// RevisionIdent.h may contain #defines like these ones:
//#define REV_LONG "28864acb238cb3ca71dda190a2d93242591dd80e"
//#define REV_TIME "Sun Apr 12 12:40:22 2015 +0100"
-#include <RevisionIdent.h>
+// #include <RevisionIdent.h>
#ifndef REV_TIME
#define REV_TIME "unknown date and time"

View File

@ -1,11 +1,11 @@
$OpenBSD: patch-src_AudacityApp_cpp,v 1.8 2020/01/24 05:20:37 bket Exp $
$OpenBSD: patch-src_AudacityApp_cpp,v 1.9 2021/02/14 08:36:20 ajacoutot Exp $
Don't hardcode shared libraries version number.
Index: src/AudacityApp.cpp
--- src/AudacityApp.cpp.orig
+++ src/AudacityApp.cpp
@@ -642,12 +642,12 @@ class GnomeShutdown
@@ -562,12 +562,12 @@ class GnomeShutdown
{
mArgv[0].reset(strdup("Audacity"));

View File

@ -0,0 +1,20 @@
$OpenBSD: patch-src_AudioIOBase_h,v 1.1 2021/02/14 08:36:20 ajacoutot Exp $
Using system portaudio and disabling portmixer seems to remove some -I...
src/AudioIOBase.cpp:80:47: error: member access into incomplete type 'const PaDeviceInfo'
src/AudioIOBase.h:25:8: note: forward declaration of 'PaDeviceInfo'
src/AudioIOBase.cpp:358:19: error: too many arguments to function call, expected 0, have 1; did you mean 'AudioIoCallback::IsStreamActive'?
<...>
Index: src/AudioIOBase.h
--- src/AudioIOBase.h.orig
+++ src/AudioIOBase.h
@@ -22,6 +22,8 @@ Paul Licameli split from AudioIO.h
#include <wx/string.h>
#include <wx/weakref.h> // member variable
+#include "../lib-src/portaudio-v19/include/portaudio.h"
+
struct PaDeviceInfo;
typedef void PaStream;

View File

@ -1,4 +1,4 @@
$OpenBSD: patch-src_AudioIO_cpp,v 1.11 2020/01/24 05:20:37 bket Exp $
$OpenBSD: patch-src_AudioIO_cpp,v 1.12 2021/02/14 08:36:20 ajacoutot Exp $
- CLOCK_MONOTONIC_RAW is not portable
- PaUtil_GetTime is a private interface, not reachable when using system portaudio
@ -6,33 +6,35 @@ $OpenBSD: patch-src_AudioIO_cpp,v 1.11 2020/01/24 05:20:37 bket Exp $
Index: src/AudioIO.cpp
--- src/AudioIO.cpp.orig
+++ src/AudioIO.cpp
@@ -797,18 +797,15 @@ static double streamStartTime = 0; // bias system time
@@ -491,7 +491,6 @@ time warp info and AudioIOListener and whether the pla
#define ROUND(x) (int) ((x)+0.5)
//#include <string.h>
// #include "../lib-src/portmidi/pm_common/portmidi.h"
- #include "../lib-src/portaudio-v19/src/common/pa_util.h"
#include "NoteTrack.h"
#endif
@@ -815,13 +814,22 @@ struct AudioIoCallback::ScrubState (private)
// return the system time as a double
static double streamStartTime = 0; // bias system time to small number
+// PaUtil_GetTime is an internal PortAudio function. Unfortunately
+// it's used twice in AudioIO.cpp. It's a simple function so just
+// provide the implementation here.
+static double PaUtil_GetTime(void) {
+ struct timespec tp;
+ clock_gettime(CLOCK_REALTIME, &tp);
+ return (double)(tp.tv_sec + tp.tv_nsec * 1e-9);
+}
+
static double SystemTime(bool usingAlsa)
{
#ifdef __WXGTK__
- if (usingAlsa) {
+ (void)usingAlsa;
if (usingAlsa) {
struct timespec now;
// CLOCK_MONOTONIC_RAW is unaffected by NTP or adj-time
- clock_gettime(CLOCK_MONOTONIC_RAW, &now);
+ clock_gettime(CLOCK_MONOTONIC, &now);
+ clock_gettime(CLOCK_REALTIME, &now);
//return now.tv_sec + now.tv_nsec * 0.000000001;
return (now.tv_sec + now.tv_nsec * 0.000000001) - streamStartTime;
- }
#else
static_cast<void>(usingAlsa);//compiler food.
#endif
-
- return PaUtil_GetTime() - streamStartTime;
}
#endif
@@ -3606,7 +3603,7 @@ void AudioIoCallback::ComputeMidiTimings(
}
/* GSW: Save timeInfo in case MidiPlayback needs it */
- mAudioCallbackClockTime = PaUtil_GetTime();
+ mAudioCallbackClockTime = SystemTime(mUsingAlsa);
/* for Linux, estimate a smooth audio time as a slowly-changing
offset from system time */

View File

@ -0,0 +1,32 @@
$OpenBSD: patch-src_FFmpeg_h,v 1.4 2021/02/14 08:36:20 ajacoutot Exp $
Index: src/FFmpeg.h
--- src/FFmpeg.h.orig
+++ src/FFmpeg.h
@@ -685,7 +685,7 @@ extern "C" {
FFMPEG_FUNCTION_WITH_RETURN(
AVOutputFormat*,
av_oformat_next,
- (AVOutputFormat *f),
+ (const AVOutputFormat *f),
(f)
);
#endif
@@ -766,7 +766,7 @@ extern "C" {
FFMPEG_FUNCTION_WITH_RETURN(
int,
av_fifo_size,
- (AVFifoBuffer *f),
+ (const AVFifoBuffer *f),
(f)
);
#endif
@@ -828,7 +828,7 @@ extern "C" {
FFMPEG_FUNCTION_WITH_RETURN(
AVDictionaryEntry *,
av_dict_get,
- (AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags),
+ (const AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags),
(m, key, prev, flags)
);
#endif

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.18 2020/01/24 05:20:37 bket Exp $
@comment $OpenBSD: PLIST,v 1.19 2021/02/14 08:36:20 ajacoutot Exp $
@bin bin/audacity
@man man/man1/audacity.1
share/appdata/
@ -6,16 +6,8 @@ share/appdata/audacity.appdata.xml
share/applications/audacity.desktop
share/audacity/
share/audacity/EQDefaultCurves.xml
share/audacity/include/
share/audacity/include/audacity/
share/audacity/include/audacity/ComponentInterface.h
share/audacity/include/audacity/ConfigInterface.h
share/audacity/include/audacity/EffectAutomationParameters.h
share/audacity/include/audacity/EffectInterface.h
share/audacity/include/audacity/ImporterInterface.h
share/audacity/include/audacity/ModuleInterface.h
share/audacity/include/audacity/PluginInterface.h
share/audacity/include/audacity/Types.h
share/audacity/modules/
@so share/audacity/modules/mod-script-pipe.so
share/audacity/nyquist/
share/audacity/nyquist/aud-do-support.lsp
share/audacity/nyquist/dspprims.lsp
@ -23,9 +15,9 @@ share/audacity/nyquist/envelopes.lsp
share/audacity/nyquist/equalizer.lsp
share/audacity/nyquist/evalenv.lsp
share/audacity/nyquist/fileio.lsp
share/audacity/nyquist/follow.lsp
share/audacity/nyquist/init.lsp
share/audacity/nyquist/misc.lsp
share/audacity/nyquist/nyinit-dbg.lsp
share/audacity/nyquist/nyinit.lsp
share/audacity/nyquist/nyqmisc.lsp
share/audacity/nyquist/nyquist-plot.txt
@ -53,11 +45,13 @@ share/audacity/nyquist/sal.lsp
share/audacity/nyquist/seq.lsp
share/audacity/nyquist/seqfnint.lsp
share/audacity/nyquist/seqmidi.lsp
share/audacity/nyquist/sliders.lsp
share/audacity/nyquist/sndfnint.lsp
share/audacity/nyquist/spec-plot.lsp
share/audacity/nyquist/spectral-analysis.lsp
share/audacity/nyquist/stk.lsp
share/audacity/nyquist/system.lsp
share/audacity/nyquist/test.lsp
share/audacity/nyquist/upic.sal
share/audacity/nyquist/velocity.lsp
share/audacity/nyquist/xlinit.lsp
share/audacity/nyquist/xm.lsp
@ -74,10 +68,12 @@ share/audacity/plug-ins/clipfix.ny
share/audacity/plug-ins/crossfadeclips.ny
share/audacity/plug-ins/crossfadetracks.ny
share/audacity/plug-ins/delay.ny
share/audacity/plug-ins/eq-xml-to-txt-converter.ny
share/audacity/plug-ins/equalabel.ny
share/audacity/plug-ins/highpass.ny
share/audacity/plug-ins/limiter.ny
share/audacity/plug-ins/lowpass.ny
share/audacity/plug-ins/noisegate.ny
share/audacity/plug-ins/notch.ny
share/audacity/plug-ins/nyquist-plug-in-installer.ny
share/audacity/plug-ins/pluck.ny
@ -86,6 +82,7 @@ share/audacity/plug-ins/rissetdrum.ny
share/audacity/plug-ins/rms.ny
share/audacity/plug-ins/sample-data-export.ny
share/audacity/plug-ins/sample-data-import.ny
share/audacity/plug-ins/spectral-delete.ny
share/audacity/plug-ins/tremolo.ny
share/audacity/plug-ins/vocalrediso.ny
share/audacity/plug-ins/vocoder.ny
@ -96,7 +93,7 @@ share/icons/hicolor/16x16/apps/audacity.png
share/icons/hicolor/22x22/apps/audacity.png
share/icons/hicolor/24x24/apps/audacity.png
share/icons/hicolor/32x32/apps/audacity.png
share/icons/hicolor/48x48/apps/audacity.png
share/icons/hicolor/48x48/audacity.png
share/icons/hicolor/scalable/apps/audacity.svg
share/locale/af/LC_MESSAGES/audacity.mo
share/locale/ar/LC_MESSAGES/audacity.mo