audio/calf-lv2: Unbreak by updating to the intermediate commit fixing clang compilation: 0.90.3 -> 0.90.3.20210427

gcc-compiled libcalf.so was crashing due to mix of gcc- and base-provided libc++.so and libstdc++.so

PR:		258051
Original patch submitted by:	 Florian Walpen <dev@submerge.ch>

(cherry picked from commit 866b394fc6)
This commit is contained in:
Yuri Victorovich 2021-12-12 13:37:08 -08:00
parent f2b9853a5e
commit d885cb58c8
5 changed files with 33 additions and 83 deletions

View File

@ -1,10 +1,9 @@
# Created by: <trasz@FreeBSD.org>
PORTNAME= calf
DISTVERSION= 0.90.3
PORTREVISION= 5
DISTVERSION= 0.90.3.20210427
CATEGORIES= audio
MASTER_SITES= http://calf-studio-gear.org/files/
#MASTER_SITES= http://calf-studio-gear.org/files/
PKGNAMESUFFIX= -lv2
MAINTAINER= yuri@FreeBSD.org
@ -13,27 +12,30 @@ COMMENT= Set of LV2 plugins
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
BROKEN= toolchain writes the shared library that SEGVs on load: Invalid permissions for mapped object: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260364
BUILD_DEPENDS= lv2>=1.14.0_1:audio/lv2
LIB_DEPENDS= libfluidsynth.so:audio/fluidsynth \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libharfbuzz.so:print/harfbuzz \
libjack.so:audio/jack \
libexpat.so:textproc/expat2
USES= autoreconf compiler:c++11-lang gmake gnome libtool localbase pkgconfig
USE_GNOME= cairo gdkpixbuf2 gtk20
USE_CXXSTD= c++11
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-lv2 --disable-static
USE_GNOME= cairo gtk20
USE_CXXSTD= c++11
INSTALL_TARGET= install-strip
INSTALLS_ICONS= yes
USE_LDCONFIG= yes
USE_GCC= yes # workaround for https://github.com/calf-studio-gear/calf/issues/227, and then https://github.com/calf-studio-gear/calf/issues/156
USE_GITHUB= yes
GH_ACCOUNT= calf-studio-gear
GH_TAGNAME= 648f05e85287cf08af198bdd9e52baba95b502ec # this revision has clang compilation issues fixed
INSTALLS_ICONS= yes
INSTALL_TARGET= install-strip
OPTIONS_DEFINE= DOCS LASH
OPTIONS_DEFAULT= LASH
@ -58,6 +60,6 @@ CXXFLAGS+= -finline-limit=80 -finline-functions -finline-functions-called-once
post-install: # fix absolute symbolic link to be relative
@${RM} ${STAGEDIR}${PREFIX}/lib/lv2/calf.lv2/calf.so
@${RLN} ${STAGEDIR}${PREFIX}/lib/calf/libcalf.so ${STAGEDIR}${PREFIX}/lib/lv2/calf.lv2/calf.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lv2/calf.lv2/calflv2gui.so # https://github.com/calf-studio-gear/calf/issues/235
@${RLN} ${STAGEDIR}${PREFIX}/lib/calf/libcalflv2gui.so ${STAGEDIR}${PREFIX}/lib/lv2/calf.lv2/calflv2gui.so
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1564725539
SHA256 (calf-0.90.3.tar.gz) = e32bc23fb68f88729bdef361614fd9ac38627c774c35cd3c4eb611fca887a49f
SIZE (calf-0.90.3.tar.gz) = 16248607
TIMESTAMP = 1639344411
SHA256 (calf-studio-gear-calf-0.90.3.20210427-648f05e85287cf08af198bdd9e52baba95b502ec_GH0.tar.gz) = c3fea992cc75c4d2677ae11c9d05145857ea01b0cc06dc0297318cb57c7ce2d2
SIZE (calf-studio-gear-calf-0.90.3.20210427-648f05e85287cf08af198bdd9e52baba95b502ec_GH0.tar.gz) = 15914975

View File

@ -1,7 +1,7 @@
--- configure.ac.orig 2015-03-29 13:15:36 UTC
--- configure.ac.orig 2021-04-27 13:20:32 UTC
+++ configure.ac
@@ -5,7 +5,7 @@ AC_PREREQ(2.63)
AC_INIT([calf],[0.0.60],[wdev@foltman.com])
AC_INIT([calf],[0.90.3],[wdev@foltman.com])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADER([config.h])
-LT_INIT([dlopen])
@ -9,12 +9,3 @@
LT_LANG([C++])
AM_INIT_AUTOMAKE(1.8)
@@ -153,7 +153,7 @@ if test "$set_enable_debug" = "yes"; the
CXXFLAGS="$CXXFLAGS -O0 -g -Wall"
else
# TODO: remove -finline options if clang is used
- CXXFLAGS="$CXXFLAGS -O3 -finline-functions -finline-functions-called-once -Wall"
+ CXXFLAGS="$CXXFLAGS -Wall"
fi
if test "$set_enable_sse" = "yes"; then

View File

@ -1,79 +1,35 @@
--- src/Makefile.am.orig 2017-07-04 21:41:59 UTC
--- src/Makefile.am.orig 2021-06-25 19:25:29 UTC
+++ src/Makefile.am
@@ -8,11 +8,11 @@ bin_PROGRAMS =
noinst_LTLIBRARIES =
noinst_PROGRAMS = calfbenchmark
-pkglib_LTLIBRARIES = calf.la
+pkglib_LTLIBRARIES = libcalf.la
AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir)
# TODO: Remove -finline flags is clang is used
-AM_CXXFLAGS = -ffast-math -finline-limit=80 $(FLUIDSYNTH_DEPS_CFLAGS) $(LV2_DEPS_CFLAGS)
+AM_CXXFLAGS = -ffast-math $(FLUIDSYNTH_DEPS_CFLAGS) $(LV2_DEPS_CFLAGS)
if USE_GUI
AM_CXXFLAGS += $(GUI_DEPS_CFLAGS)
@@ -22,7 +22,7 @@ AM_CXXFLAGS += $(JACK_DEPS_CFLAGS)
noinst_LTLIBRARIES += libcalfgui.la
bin_PROGRAMS += calfjackhost
calfjackhost_SOURCES = gtk_session_env.cpp host_session.cpp jack_client.cpp jackhost.cpp gtk_main_win.cpp connector.cpp session_mgr.cpp
-calfjackhost_LDADD = libcalfgui.la calf.la $(JACK_DEPS_LIBS) $(GUI_DEPS_LIBS) $(FLUIDSYNTH_DEPS_LIBS)
+calfjackhost_LDADD = libcalfgui.la libcalf.la $(JACK_DEPS_LIBS) $(GUI_DEPS_LIBS) $(FLUIDSYNTH_DEPS_LIBS)
if USE_LASH
AM_CXXFLAGS += $(LASH_DEPS_CFLAGS)
calfjackhost_LDADD += $(LASH_DEPS_LIBS)
@@ -32,31 +32,31 @@ endif
AM_CXXFLAGS += $(GLIB_DEPS_CFLAGS)
noinst_PROGRAMS += calfmakerdf
calfmakerdf_SOURCES = makerdf.cpp
-calfmakerdf_LDADD = calf.la
+calfmakerdf_LDADD = libcalf.la
calfbenchmark_SOURCES = benchmark.cpp
-calfbenchmark_LDADD = calf.la
+calfbenchmark_LDADD = libcalf.la
-calf_la_SOURCES = audio_fx.cpp analyzer.cpp lv2wrap.cpp metadata.cpp modules_tools.cpp modules_delay.cpp modules_comp.cpp modules_limit.cpp modules_dist.cpp modules_filter.cpp modules_mod.cpp modules_pitch.cpp fluidsynth.cpp giface.cpp monosynth.cpp organ.cpp osctl.cpp plugin.cpp preset.cpp synth.cpp utils.cpp wavetable.cpp modmatrix.cpp
-calf_la_LIBADD = $(FLUIDSYNTH_DEPS_LIBS) $(GLIB_DEPS_LIBS)
+libcalf_la_SOURCES = audio_fx.cpp analyzer.cpp lv2wrap.cpp metadata.cpp modules_tools.cpp modules_delay.cpp modules_comp.cpp modules_limit.cpp modules_dist.cpp modules_filter.cpp modules_mod.cpp modules_pitch.cpp fluidsynth.cpp giface.cpp monosynth.cpp organ.cpp osctl.cpp plugin.cpp preset.cpp synth.cpp utils.cpp wavetable.cpp modmatrix.cpp
+libcalf_la_LIBADD = $(FLUIDSYNTH_DEPS_LIBS) $(GLIB_DEPS_LIBS)
@@ -40,9 +40,9 @@ calfbenchmark_LDADD = libcalf.la
libcalf_la_SOURCES = audio_fx.cpp analyzer.cpp lv2wrap.cpp metadata.cpp modules_tools.cpp modules_delay.cpp modules_comp.cpp modules_limit.cpp modules_dist.cpp modules_filter.cpp modules_mod.cpp modules_pitch.cpp fluidsynth.cpp giface.cpp monosynth.cpp organ.cpp osctl.cpp plugin.cpp preset.cpp synth.cpp utils.cpp wavetable.cpp modmatrix.cpp
libcalf_la_LIBADD = $(FLUIDSYNTH_DEPS_LIBS) $(GLIB_DEPS_LIBS)
if USE_DEBUG
-calf_la_LDFLAGS = -rpath $(pkglibdir) -avoid-version -module -lexpat -disable-static
-libcalf_la_LDFLAGS = -rpath $(pkglibdir) -avoid-version -module -lexpat -disable-static
+libcalf_la_LDFLAGS = -rpath $(pkglibdir) -avoid-version -lexpat -disable-static
else
-calf_la_LDFLAGS = -rpath $(pkglibdir) -avoid-version -module -lexpat -disable-static -export-symbols-regex "lv2_descriptor"
-libcalf_la_LDFLAGS = -rpath $(pkglibdir) -avoid-version -module -lexpat -disable-static -export-symbols-regex "lv2_descriptor"
+libcalf_la_LDFLAGS = -rpath $(pkglibdir) -avoid-version -lexpat -disable-static
endif
if USE_LV2_GUI
# Version WITH out-of-process GUI - links GTK+, UI controls etc.
-noinst_LTLIBRARIES += calflv2gui.la
+noinst_LTLIBRARIES += libcalflv2gui.la
-calflv2gui_la_SOURCES = gui.cpp gui_config.cpp gui_controls.cpp ctl_curve.cpp ctl_keyboard.cpp ctl_knob.cpp ctl_led.cpp ctl_tube.cpp ctl_vumeter.cpp ctl_frame.cpp ctl_fader.cpp ctl_buttons.cpp ctl_notebook.cpp ctl_meterscale.cpp ctl_combobox.cpp ctl_tuner.cpp ctl_phasegraph.cpp ctl_pattern.cpp metadata.cpp giface.cpp plugin_gui_window.cpp preset.cpp preset_gui.cpp lv2gui.cpp osctl.cpp utils.cpp ctl_linegraph.cpp drawingutils.cpp
+libcalflv2gui_la_SOURCES = gui.cpp gui_config.cpp gui_controls.cpp ctl_curve.cpp ctl_keyboard.cpp ctl_knob.cpp ctl_led.cpp ctl_tube.cpp ctl_vumeter.cpp ctl_frame.cpp ctl_fader.cpp ctl_buttons.cpp ctl_notebook.cpp ctl_meterscale.cpp ctl_combobox.cpp ctl_tuner.cpp ctl_phasegraph.cpp ctl_pattern.cpp metadata.cpp giface.cpp plugin_gui_window.cpp preset.cpp preset_gui.cpp lv2gui.cpp osctl.cpp utils.cpp ctl_linegraph.cpp drawingutils.cpp
@@ -55,9 +55,9 @@ pkglib_LTLIBRARIES += libcalflv2gui.la
libcalflv2gui_la_SOURCES = gui.cpp gui_config.cpp gui_controls.cpp ctl_curve.cpp ctl_keyboard.cpp ctl_knob.cpp ctl_led.cpp ctl_tube.cpp ctl_vumeter.cpp ctl_frame.cpp ctl_fader.cpp ctl_buttons.cpp ctl_notebook.cpp ctl_meterscale.cpp ctl_combobox.cpp ctl_tuner.cpp ctl_phasegraph.cpp ctl_pattern.cpp metadata.cpp giface.cpp plugin_gui_window.cpp preset.cpp preset_gui.cpp lv2gui.cpp osctl.cpp utils.cpp ctl_linegraph.cpp drawingutils.cpp
if USE_DEBUG
-calflv2gui_la_LDFLAGS = -rpath $(lv2dir) -avoid-version -module -lexpat $(GUI_DEPS_LIBS) -disable-static -Wl,-z,nodelete
-libcalflv2gui_la_LDFLAGS = -rpath $(lv2dir) -avoid-version -module -lexpat $(GUI_DEPS_LIBS) -disable-static -Wl,-z,nodelete
+libcalflv2gui_la_LDFLAGS = -rpath $(lv2dir) -avoid-version -lexpat $(GUI_DEPS_LIBS) -disable-static -Wl,-z,nodelete
else
-calflv2gui_la_LDFLAGS = -rpath $(lv2dir) -avoid-version -module -lexpat -export-symbols-regex "lv2ui_descriptor" $(GUI_DEPS_LIBS) -disable-static -Wl,-z,nodelete
-libcalflv2gui_la_LDFLAGS = -rpath $(lv2dir) -avoid-version -module -lexpat -export-symbols-regex "lv2ui_descriptor" $(GUI_DEPS_LIBS) -disable-static -Wl,-z,nodelete
+libcalflv2gui_la_LDFLAGS = -rpath $(lv2dir) -avoid-version -lexpat -export-symbols-regex "lv2ui_descriptor" $(GUI_DEPS_LIBS) -disable-static -Wl,-z,nodelete
endif
endif
@@ -77,9 +77,9 @@ if USE_GUI
@@ -79,7 +79,7 @@ if USE_GUI
endif
if USE_LV2
install -d -m 755 $(DESTDIR)$(lv2dir)
- ln -sf $(pkglibdir)/calf.so $(DESTDIR)$(lv2dir)/calf.so
+ ln -sf $(pkglibdir)/libcalf.so $(DESTDIR)$(lv2dir)/calf.so
if USE_LV2_GUI
- install -c -m 755 $(top_builddir)/src/.libs/calflv2gui.so $(DESTDIR)$(lv2dir)/calflv2gui.so
+ install -c -m 755 $(top_builddir)/src/.libs/libcalflv2gui.so $(DESTDIR)$(lv2dir)/calflv2gui.so
endif
rm -f $(DESTDIR)$(lv2dir)/*.ttl
$(top_builddir)/src/calfmakerdf -m ttl -p $(DESTDIR)$(lv2dir)/ -d $(DESTDIR)$(pkgdatadir)/
if USE_SORDI

View File

@ -1,5 +1,6 @@
bin/calfjackhost
lib/calf/libcalf.so
lib/calf/libcalflv2gui.so
lib/lv2/calf.lv2/Analyzer.ttl
lib/lv2/calf.lv2/BassEnhancer.ttl
lib/lv2/calf.lv2/CompensationDelay.ttl