Hi ports@,

Attaching an update to fotowall 1.0

Notable port changes:
 - qt4 -> qt5.
 - Using github tarball instead of google code.
 - Adjusted WANTLIB/LIB_DEPENDS.
 - Added EXTRACT_CASES and pre-extract because
   the upstream tarball spills over WRKDIST
   instead of extracting to a sub directory.
 - Had to patch enricomath.h to not use the
   provided sincos(3) since we now have our own.
   This happened because I upstreamed our previous
   patch that enabled this path for us when we still
   didn't have it. I will upstream the revert also.
 - Patching out qstrcpy for strlcpy. This is because
   our x11/qt5 has patched out qstrcpy and the lib
   is not longer exposing it for external consumers.
   I saw two ways in how ports are handling it.

   1. x11/qt5 itself replaced all uses with strlcpy
   2. multimedia/phonon-backend patch qstrcpy -> strlcpy

   I opted for #1 but obviously having a close look on
   the patch is advised here.

Upstream changelog:

 https://github.com/enricoros/fotowall/releases/tag/v1.0

Tested on -current amd64.

Feedback? OK's?

Regards,
Adam Wolk
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/fotowall/Makefile,v
retrieving revision 1.9
diff -u -p -r1.9 Makefile
--- Makefile    12 Jul 2019 20:46:58 -0000      1.9
+++ Makefile    2 Feb 2020 21:58:35 -0000
@@ -2,9 +2,9 @@
 
 COMMENT =      Pictures collage & creativity tool
 
-DISTNAME =     Fotowall-0.9
-PKGNAME =      ${DISTNAME:L}
-REVISION =     3
+V =    1.0
+DISTNAME =     Fotowall-${V}-RETRO
+PKGNAME =      fotowall-${V}
 
 CATEGORIES =   graphics
 
@@ -14,18 +14,26 @@ MAINTAINER =        Adam Wolk <aw...@openbsd.or
 
 PERMIT_PACKAGE =       Yes
 
-WANTLIB += GL ICE QtGui QtNetwork QtOpenGL QtSvg QtXml SM X11
-WANTLIB += Xext Xi Xinerama Xrender c fontconfig freetype m pthread
+WANTLIB += GL Qt5Core Qt5Gui Qt5Network Qt5OpenGL Qt5PrintSupport
+WANTLIB += Qt5Svg Qt5Widgets Qt5Xml c m pthread
 WANTLIB += ${COMPILER_LIBCXX}
 
+LIB_DEPENDS =  x11/qt5/qtsvg
+
 COMPILER =             base-clang ports-gcc base-gcc
 
-MASTER_SITES =         ${MASTER_SITE_GOOGLECODE:=fotowall/}
+MASTER_SITES = https://github.com/enricoros/fotowall/releases/download/v${V}/
 
 EXTRACT_SUFX =         .tar.bz2
+# avoid WRKDIST = ${WRKDIR}
+EXTRACT_CASES= *.tar.bz2) \
+        bzip2 -dc ${FULLDISTDIR}/$$archive| ${TAR} xf - -C ${WRKDIST};;
 
-MODULES =              devel/qmake x11/qt4
+MODULES =              devel/qmake x11/qt5
 RUN_DEPENDS =          devel/desktop-file-utils
+
+pre-extract:
+       @mkdir ${WRKDIST}
 
 pre-configure:
        @sed -i 's,/usr/,${TRUEPREFIX}/,' ${WRKSRC}/fotowall.pro
Index: distinfo
===================================================================
RCS file: /cvs/ports/graphics/fotowall/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo    30 Aug 2016 15:19:49 -0000      1.1.1.1
+++ distinfo    2 Feb 2020 21:58:35 -0000
@@ -1,2 +1,2 @@
-SHA256 (Fotowall-0.9.tar.bz2) = 5NDABdLLHXwJQ4v8MJjq3rwIlG5PvAZVt/yLBG3jgQ0=
-SIZE (Fotowall-0.9.tar.bz2) = 640175
+SHA256 (Fotowall-1.0-RETRO.tar.bz2) = 
u9jGEI7LrBlDEiqDmEdTgYZdmDOou6jBDw0yYqV4+58=
+SIZE (Fotowall-1.0-RETRO.tar.bz2) = 1454741
Index: patches/patch-3rdparty_enricomath_h
===================================================================
RCS file: patches/patch-3rdparty_enricomath_h
diff -N patches/patch-3rdparty_enricomath_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-3rdparty_enricomath_h 2 Feb 2020 21:58:35 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+Revert 
https://github.com/enricoros/fotowall/commit/23b1bc61f1341c5ce61da1e81cc3888a3407e7f4#diff-0e3d52718f9d6fda9c5499355baf17b0
+since we now have sincos(3).
+
+Index: 3rdparty/enricomath.h
+--- 3rdparty/enricomath.h.orig
++++ 3rdparty/enricomath.h
+@@ -286,9 +286,9 @@ class Matrix3
+ #define M_PI 3.141592653589793238462643
+ #endif // !M_PI
+ 
+-#if !defined(Q_CC_GNU) || defined(Q_OS_WIN32) || defined(Q_OS_OS2) || 
defined(Q_OS_ANDROID) || defined(Q_OS_OPENBSD)
++#if !defined(Q_CC_GNU) || defined(Q_OS_WIN32) || defined(Q_OS_OS2) || 
defined(Q_OS_ANDROID)
+ #if !defined(__MINGW32__)
+-//sincos is not defined in win32, MAC, OS/2, Android and OpenBSD
++//sincos is not defined in win32, MAC, OS/2 and Android
+ static inline void sincos(double th, double *s, double *c)
+ {
+     *s = sin(th);
Index: patches/patch-Shared_PropertyEditors_h
===================================================================
RCS file: patches/patch-Shared_PropertyEditors_h
diff -N patches/patch-Shared_PropertyEditors_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Shared_PropertyEditors_h      2 Feb 2020 21:58:35 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+We patch out qstrcpy from x11/qt5* so use strlcpy
+
+Index: Shared/PropertyEditors.h
+--- Shared/PropertyEditors.h.orig
++++ Shared/PropertyEditors.h
+@@ -99,7 +99,7 @@ class PE_Combo : public PE_TypeControl<QComboBox>
+         if (nameLength < 255) { \
+             char signalName[256]; \
+             signalName[0] = '0' + QSIGNAL_CODE; \
+-            qstrcpy(signalName + 1, notifySignal.methodSignature()); \
++            strlcpy(signalName + 1, notifySignal.methodSignature(), 
sizeof(signalName) - 1); \
+             connect(m_target.data(), signalName, this, SLOT(slotName)); \
+         } \
+     }

Reply via email to