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

Reply via email to