Hello,

The latest version of devel/poedit requires the wxWebView support.
Here's an attempt at adding a -webkit subpackage and a no_webkit flavor
for the arches where webkitgtk4 is not available.

While here also:

 - fix -media WANTLIB and bump revision (harfbuzz was missing.)
 - backport a change from upstream and bump -main revision.  (wxLogTrace
   isn't marked as printf-like and tries to validate the format string
   at runtime)

I *think* FLAVOR should be set to no_webkit in some arches but don't
know how to do it.  Should I copy the BROKEN markers from www/webkitgtk4
or is it automatically implied somehow?
(I doubt it, but you never know ;-)

many, many thanks to jca@ for suggesting subpackage + no_webkit pseudo
flavor.

Thanks,

Omar Polo


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/x11/wxWidgets/Makefile,v
retrieving revision 1.71
diff -u -p -r1.71 Makefile
--- Makefile    2 Nov 2021 00:23:45 -0000       1.71
+++ Makefile    16 Nov 2021 08:28:04 -0000
@@ -2,9 +2,11 @@
 
 COMMENT-main = C++ cross-platform GUI toolkit
 COMMENT-media =        wxMediaCtrl class for wxWidgets
+COMMENT-webkit = wxWebView class for wxWidgets
 
 V =            3.0.5.1
-REVISION-main =        0
+REVISION-main =        1
+REVISION-media = 0
 DISTNAME =     wxWidgets-${V}
 PKGNAME-main = wxWidgets-gtk3-${V}
 PKGNAME-media =        wxWidgets-media-${V}
@@ -29,6 +31,7 @@ SHARED_LIBS +=  wx_gtk3u_ribbon-3.0     
 SHARED_LIBS +=  wx_gtk3u_richtext-3.0     0.1
 SHARED_LIBS +=  wx_gtk3u_stc-3.0          0.1
 SHARED_LIBS +=  wx_gtk3u_xrc-3.0          0.1
+SHARED_LIBS +=  wx_gtk3u_webview-3.0      0.1
 
 HOMEPAGE =     https://www.wxwidgets.org/
 
@@ -36,7 +39,7 @@ HOMEPAGE =    https://www.wxwidgets.org/
 # http://www.wxwidgets.org/about/licence/
 PERMIT_PACKAGE =       Yes
 
-MULTI_PACKAGES = -main -media
+MULTI_PACKAGES = -main -media -webkit
 
 COMPILER =             base-clang ports-gcc base-gcc
 
@@ -44,6 +47,9 @@ MODULES       =               lang/python
 MODPY_RUNDEP =         No
 MODPY_ADJ_FILES =      src/stc/gen_iface.py
 
+PSEUDO_FLAVORS =       no_webkit
+FLAVOR =
+
 BUILD_DEPENDS =                devel/cppunit
 LIB_DEPENDS =          x11/gtk+3
 TEST_DEPENDS = ${BUILD_PKGPATH}>=${V}
@@ -64,10 +70,20 @@ LIB_DEPENDS-media = ${LIB_DEPENDS} \
 
 WANTLIB-media += ${COMPILER_LIBCXX} SM X11 Xxf86vm atk-1.0 cairo cairo-gobject
 WANTLIB-media += gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gobject-2.0 gstbase-1.0
-WANTLIB-media += gstreamer-1.0 gstvideo-1.0 gthread-2.0 gtk-3 iconv
+WANTLIB-media += gstreamer-1.0 gstvideo-1.0 gthread-2.0 gtk-3 harfbuzz iconv
 WANTLIB-media += intl jpeg m notify pango-1.0 pangocairo-1.0 png tiff
 WANTLIB-media += wx_baseu-3.0 wx_gtk3u_core-3.0 z
 
+LIB_DEPENDS-webkit =   ${LIB_DEPEDNS} \
+                       www/webkitgtk4 \
+                       ${BASE_PKGPATH},-main>=${V}
+
+WANTLIB-webkit += ${COMPILER_LIBCXX} SM X11 Xxf86vm atk-1.0 cairo cairo-gobject
+WANTLIB-webkit += gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gobject-2.0 gthread-2.0
+WANTLIB-webkit += gtk-3 harfbuzz iconv intl jpeg javascriptcoregtk-4.0 m notify
+WANTLIB-webkit += pango-1.0 pangocairo-1.0 png soup-2.4 tiff webkit2gtk-4.0
+WANTLIB-webkit += wx_baseu-3.0 wx_gtk3u_core-3.0 z
+
 MAKE_FLAGS =   SO_VERSION="${LIBwx_baseu-3.0_VERSION}"
 
 FIX_CRLF_FILES=        src/stc/gen_iface.py
@@ -83,8 +99,12 @@ CONFIGURE_ARGS =--disable-backtrace \
                --with-gtk=3 \
                --with-libmspack \
                --with-opengl \
-               --with-sdl \
-               --disable-webviewwebkit
+               --with-sdl
+
+.if ${FLAVOR:Mno_webkit}
+CONFIGURE_ARGS += --disable-webviewwebkit
+.endif
+
 CONFIGURE_ENV =        CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \
                LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib" \
                WXCONFIG_CPPFLAGS="-I${X11BASE}/include" \
@@ -96,6 +116,7 @@ CONFIGURE_ENV += wx_cv_version_script=no
 
 .ifdef DEBUG
 CONFIGURE_ARGS += --enable-debug
+DEBUG_PACKAGES=${BUILD_PACKAGES}
 .endif
 
 pre-configure:
Index: patches/patch-src_unix_fswatcher_kqueue_cpp
===================================================================
RCS file: patches/patch-src_unix_fswatcher_kqueue_cpp
diff -N patches/patch-src_unix_fswatcher_kqueue_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_unix_fswatcher_kqueue_cpp 11 Nov 2021 13:14:59 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+fix printf directives to avoid a runtime failed assertion.
+
+Index: src/unix/fswatcher_kqueue.cpp
+--- src/unix/fswatcher_kqueue.cpp.orig
++++ src/unix/fswatcher_kqueue.cpp
+@@ -296,8 +296,8 @@ class wxFSWatcherImplKqueue : public wxFSWatcherImpl (
+ 
+         wxASSERT_MSG(udata, "Null user data associated with kevent!");
+ 
+-        wxLogTrace(wxTRACE_FSWATCHER, "Event: ident=%d, filter=%d, flags=%u, "
+-                   "fflags=%u, data=%d, user_data=%p",
++        wxLogTrace(wxTRACE_FSWATCHER, "Event: ident=%lu, filter=%d, flags=%u, 
"
++                   "fflags=%u, data=%lld, user_data=%p",
+                    e.ident, e.filter, e.flags, e.fflags, e.data, udata);
+ 
+         // for ease of use
Index: pkg/DESCR-webkit
===================================================================
RCS file: pkg/DESCR-webkit
diff -N pkg/DESCR-webkit
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR-webkit    15 Nov 2021 22:14:42 -0000
@@ -0,0 +1,3 @@
+wxWebView is a WxWidgets class that features a full-blown rendering
+engine.  It allows the correct viewing of complex pages with
+javascript and css.
Index: pkg/PLIST-webkit
===================================================================
RCS file: pkg/PLIST-webkit
diff -N pkg/PLIST-webkit
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST-webkit    16 Nov 2021 08:38:52 -0000
@@ -0,0 +1,5 @@
+@comment $OpenBSD: PLIST-webkit,v$
+@lib lib/libwx_gtk3u_webview-3.0.so.${LIBwx_gtk3u_webview-3.0_VERSION}
+lib/wx/3.0/
+lib/wx/3.0/web-extensions/
+@so lib/wx/3.0/web-extensions/webkit2_extu-3.0.so

Reply via email to