Hi,

On Mon, 18 Mar 2019 22:56:35 +0100
"Sebastian Reitenbach" <sebas...@l00-bugdead-prods.de> wrote:

> Hi,
> 
> Am Montag, März 18, 2019 17:36 CET, Sebastian Reitenbach
> <sebas...@l00-bugdead-prods.de> 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
> > > <juliana...@posteo.jp> 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)

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