Am Dienstag, März 19, 2019 00:20 CET, Charlene Wendling <[email protected]> schrieb:
> Hi, > > On Mon, 18 Mar 2019 22:56:35 +0100 > "Sebastian Reitenbach" <[email protected]> wrote: > > > Hi, > > > > Am Montag, März 18, 2019 17:36 CET, Sebastian Reitenbach > > <[email protected]> schrieb: > > > > > Hi, > > > > > > I was just testin to updat to 0.5.5, and failed miserably. I > > > contacted upstream and was told to use configure, make, make > > > install instead of cmake. > > > > > > Let me try that, and I’ll send you the update, to test it on > > > sparc64, maybe that will fix the problem > > > > > > Sebastian > > > > > > Sent from my iPhone > > > > > > > On 17. Mar 2019, at 14:58, Charlene Wendling > > > > <[email protected]> wrote:> Hi Sebastian, ports, > > > > > > > >> http://build-failures.rhaalovely.net/powerpc/last/audio/qsynth.log > > > > (Qt5 doesn't build on sparc64) > > > > > > > > What happens behind the scenes (may it be clang or gcc): > > > > > > > > - Cmake search for math libs [1], and can't find them, setting > > > > CONFIG_ROUND not defined > > > > - Later, lroundf() is declared as a bundled, static function [2] > > > > > > > > The problem (to me) is that it seems that Qt headers pull > > > > <cmath>, so there is a clash when using gcc. That doesn't occur > > > > with clang. > > > > > > > > There are several way to fix it, but in any case, <math.h> would > > > > cause an out of scope error with ports-gcc, similarily to what > > > > you can find in math/{veusz,kst} in powerpc build failures. > > > > > > > > So i'm explicitly including <cmath> when not using clang on > > > > OpenBSD, to point the problem out (but alternatives are welcome). > > > > > > > > It then builds fine on macppc [3] and amd64 [4]. > > > > > > > > Charlène. > > > > > > > > > > > > as promised, here's the update to 0.5.5, which as upstream > > recommended to me switched from cmake to gnu style > > configure/make/make install. As they told me, the cmake stuff is more > > an example, and not kept up to date with the gnu style of building, > > therefore it should not really be used. Guess it was pure luck it > > worked with the older releases ;) Additionally a bit of cleanup in > > the Makefile, let me know if it fixes the math thingie bingie on gcc > > archs. > > > > cheers, > > Sebastian > > > > It builds fine on macppc [1], after some modifications to your diff: > > - It wants atomic as WANTLIB (macppc specific, will be dropped once > macppc has base-clang) > - I had to bring the lroundf() fix again :( > - portcheck says it needs x11/gtk+3,-guic (not sure if it's a false > positive though) thanks for looking into it. I don't know if I have x11/gtk+3,-guic installed on my machine, but I'll verify/test later Today. cheers, Sebastian > > It yells that it wants c+11, i feared that i had to use the infamous > block that enables it like in other ports, but it's not needed as > upstream adds -std=gnu++11 during the effective build. And anyway this > warning will disappear once we move to ports-gcc-8 "soonish" (to quote > espie@). > > Ah, and well, it runs [2], i can't really test as i've not > the hardware needed ;) > > Charlène. > > [1] http://0x0.st/z829.txt > [2] http://0x0.st/z821.jpg > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/audio/qsynth/Makefile,v > retrieving revision 1.6 > diff -u -p -r1.6 Makefile > --- Makefile 8 Mar 2019 20:00:40 -0000 1.6 > +++ Makefile 18 Mar 2019 22:58:05 -0000 > @@ -2,8 +2,7 @@ > > COMMENT = Qt GUI Interface for FluidSynth > > -DISTNAME = qsynth-0.5.4 > -REVISION = 0 > +DISTNAME = qsynth-0.5.5 > > CATEGORIES = audio > > @@ -16,22 +15,26 @@ PERMIT_PACKAGE_CDROM = Yes > > MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=qsynth/} > > -WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5Widgets X11 c > -WANTLIB += m fluidsynth Qt5X11Extras > +WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5Widgets c > +WANTLIB += m fluidsynth GL Qt5Network curses readline > > -MODULES = devel/cmake \ > - x11/qt5 > +.if ${MACHINE_ARCH} == "powerpc" > +WANTLIB += atomic > +.endif > > -LIB_DEPENDS += audio/fluidsynth \ > - x11/qt5/qtx11extras > +MODULES = x11/qt5 > + > +LIB_DEPENDS += audio/fluidsynth > > RUN_DEPENDS += devel/desktop-file-utils \ > + x11/gtk+3,-guic > > +USE_GMAKE = Yes > NO_TEST = Yes > > -BUILD_DEPENDS = audio/fluidsynth > +CONFIGURE_STYLE = gnu > > -post-build: > - cp ${WRKSRC}/src/qsynth.desktop ${WRKBUILD}/src/ > +CONFIGURE_ENV += CFLAGS="${CFLAGS} -I${LOCALBASE}/include" \ > + LDDFLAGS="${LDDFLAGS} -L${LOCALBASE}/lib" > > .include <bsd.port.mk> > Index: distinfo > =================================================================== > RCS file: /cvs/ports/audio/qsynth/distinfo,v > retrieving revision 1.4 > diff -u -p -r1.4 distinfo > --- distinfo 2 Jan 2019 21:56:15 -0000 1.4 > +++ distinfo 18 Mar 2019 22:58:05 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (qsynth-0.5.4.tar.gz) = LWvvtAI/imTzXYApkdDUE+EdAwfodIVCjJablLsr+E4= > -SIZE (qsynth-0.5.4.tar.gz) = 268106 > +SHA256 (qsynth-0.5.5.tar.gz) = hY9SuVZCol9XA0LVz3+v0qKt24nVZ8W2ijVFvrb9pyM= > +SIZE (qsynth-0.5.5.tar.gz) = 269061 > Index: patches/patch-src_qsynthChannelsForm_cpp > =================================================================== > RCS file: patches/patch-src_qsynthChannelsForm_cpp > diff -N patches/patch-src_qsynthChannelsForm_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_qsynthChannelsForm_cpp 18 Mar 2019 22:58:05 -0000 > @@ -0,0 +1,33 @@ > +$OpenBSD$ > + > +Index: src/qsynthChannelsForm.cpp > +--- src/qsynthChannelsForm.cpp.orig > ++++ src/qsynthChannelsForm.cpp > +@@ -256,11 +256,11 @@ void qsynthChannelsForm::updateChannel ( int iChan ) > + #ifdef CONFIG_FLUID_BANK_OFFSET > + int iSFID = 0; > + QString sSFName; > +- #ifdef CONFIG_FLUID_PRESET_GET_SFONT > ++ #ifdef CONFIG_FLUID_PRESET_GET_SFONT > + fluid_sfont_t *pSoundFont = ::fluid_preset_get_sfont(pPreset); > +- #else > ++ #else > + fluid_sfont_t *pSoundFont = pPreset->sfont; > +- #endif > ++ #endif > + if (pSoundFont) { > + #ifdef CONFIG_FLUID_SFONT_GET_ID > + iSFID = ::fluid_sfont_get_id(pSoundFont); > +@@ -290,10 +290,12 @@ void qsynthChannelsForm::updateChannel ( int iChan ) > + pItem->setText(QSYNTH_CHANNELS_PROG, > + QString::number(iProg)); > + pItem->setText(QSYNTH_CHANNELS_NAME, sName); > ++ #ifdef CONFIG_FLUID_BANK_OFFSET > + pItem->setText(QSYNTH_CHANNELS_SFID, > + QString::number(iSFID)); > + pItem->setText(QSYNTH_CHANNELS_SFNAME, > + QFileInfo(sSFName).baseName()); > ++ #endif > + // Make this a dirty-operation. > + m_iDirtyCount++; > + } > Index: patches/patch-src_qsynthMainForm_cpp > =================================================================== > RCS file: patches/patch-src_qsynthMainForm_cpp > diff -N patches/patch-src_qsynthMainForm_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_qsynthMainForm_cpp 18 Mar 2019 22:58:05 -0000 > @@ -0,0 +1,18 @@ > +$OpenBSD$ > + > +ports-gcc fix. lroundf() is not detected during configuration, so > CONFIG_ROUND > +is undefined. But <cmath> is pulled by Qt headers already, creating a > conflict > +between <cmath>'s lroundf() and the bundled lroundf(). > + > +Index: src/qsynthMainForm.cpp > +--- src/qsynthMainForm.cpp.orig > ++++ src/qsynthMainForm.cpp > +@@ -103,6 +103,8 @@ static int g_fdStdout[2] = { QSYNTH_FDNIL, QSYNTH_FDNI > + // Needed for lroundf() > + #ifdef CONFIG_ROUND > + #include <math.h> > ++#elif defined(__OpenBSD__) && !defined(__clang__) > ++#include <cmath> > + #else > + static inline long lroundf ( float x ) > + { > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/audio/qsynth/pkg/PLIST,v > retrieving revision 1.3 > diff -u -p -r1.3 PLIST > --- pkg/PLIST 26 Jul 2018 12:16:34 -0000 1.3 > +++ pkg/PLIST 18 Mar 2019 22:58:05 -0000 > @@ -1,14 +1,15 @@ > @comment $OpenBSD: PLIST,v 1.3 2018/07/26 12:16:34 sebastia Exp $ > @bin bin/qsynth > share/applications/qsynth.desktop > -share/pixmaps/ > -share/pixmaps/qsynth.png > +share/icons/hicolor/32x32/apps/qsynth.png > +share/metainfo/ > +share/metainfo/qsynth.appdata.xml > share/qsynth/ > share/qsynth/translations/ > share/qsynth/translations/qsynth_cs.qm > share/qsynth/translations/qsynth_de.qm > -share/qsynth/translations/qsynth_es.qm > share/qsynth/translations/qsynth_fr.qm > share/qsynth/translations/qsynth_ru.qm > share/qsynth/translations/qsynth_sr.qm > @tag update-desktop-database > +@tag gtk-update-icon-cache %D/share/icons/hicolor
