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
--- Makefile12 Jul 2019 20:46:58 - 1.9
+++ Makefile2 Feb 2020 21:58:35 -
@@ -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 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
--- distinfo30 Aug 2016 15:19:49 - 1.1.1.1
+++ distinfo2 Feb 2020 21:58:35 -
@@ -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 -
+++ patches/patch-3rdparty_enricomath_h 2 Feb 2020 21:58:35 -
@@ -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 -
+++ patches/patch-Shared_PropertyEditors_h 2 Feb 2020 21:58:35 -
@@ -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
+ 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)); \
+ } \
+ }