pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

prusaslicer: Fix SEGV due to linking against different webkit-gtk versions.



Module Name:	pkgsrc-wip
Committed By:	Paul Ripke <stix%stix.id.au@localhost>
Pushed By:	stix
Date:		Sat Oct 31 19:54:33 2026 +1100
Changeset:	44b414399e32c60165453f942e89dc7d2c8c3515

Modified Files:
	prusaslicer/Makefile
	prusaslicer/TODO

Log Message:
prusaslicer: Fix SEGV due to linking against different webkit-gtk versions.

Also update TODO with current state.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=44b414399e32c60165453f942e89dc7d2c8c3515

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 prusaslicer/Makefile |  2 +-
 prusaslicer/TODO     | 92 ++++------------------------------------------------
 2 files changed, 8 insertions(+), 86 deletions(-)

diffs:
diff --git a/prusaslicer/Makefile b/prusaslicer/Makefile
index e1cce31bd7..21887aef25 100644
--- a/prusaslicer/Makefile
+++ b/prusaslicer/Makefile
@@ -84,7 +84,7 @@ CMAKE_CONFIGURE_ARGS+=	-DCMAKE_POLICY_VERSION_MINIMUM=3.5 # kludge until fixed u
 .include "../../cad/occt/buildlink3.mk"
 .include "../../wip/openvdb/buildlink3.mk"
 .include "../../www/curl/buildlink3.mk"
-.include "../../www/webkit-gtk/buildlink3.mk"
+.include "../../www/webkit-gtk41/buildlink3.mk"
 BUILDLINK_API_DEPENDS.Xrandr+=  Xrandr>=1.0.2
 .include "../../x11/xcursor/buildlink3.mk"
 .include "../../x11/gtk3/buildlink3.mk"
diff --git a/prusaslicer/TODO b/prusaslicer/TODO
index 75e099ba2a..819606b022 100644
--- a/prusaslicer/TODO
+++ b/prusaslicer/TODO
@@ -1,91 +1,13 @@
-In addition to wip/ versions of packages, this package may need:
+llvmpipe seems to fail on NetBSD-11:
 
-- patch to wxGTK32 (https://github.com/wxWidgets/wxWidgets/issues/26410):
-  Backport fix of EGL 1.4 for X11:
-  https://github.com/wxWidgets/wxWidgets/commit/8a41fd01d1c08e97ef38701d556ed128efd2e53c
+UNREACHABLE executed at /home/netbsd/netbsd-11/src/external/apache2/llvm/librt/libLLVMCodeGen/../../lib/../dist/llvm/lib/CodeGen/TargetSchedule.cpp:246!
+Abort (core dumped) 
 
---- include/wx/unix/glegl.h.orig	2025-12-07 22:59:42.000000000 +0000
-+++ include/wx/unix/glegl.h
-@@ -136,9 +136,26 @@ private:
-     // fall back on eglCreateWindowSurface() otherwise.
-     //
-     // This function uses m_display and m_config which must be initialized
--    // before using it and should be passed either m_xwindow or m_wlEGLWindow
--    // depending on whether we are using X11 or Wayland.
--    EGLSurface CallCreatePlatformWindowSurface(void *window) const;
-+    // before using it.
-+    //
-+    // Window parameter is passed twice because some of the functions above
-+    // take it by value while others take it by pointer and this depends on
-+    // whether we use X11 or Wayland. Use wrappers below taking correct window
-+    // type instead of calling this function directly.
-+    EGLSurface
-+    DoCallCreatePlatformWindowSurface(wxUIntPtr windowID, void* windowPtr) const;
-+
-+    // This one is for X11.
-+    EGLSurface CallCreatePlatformWindowSurface(wxUIntPtr xwindow) const
-+    {
-+        return DoCallCreatePlatformWindowSurface(xwindow, &xwindow);
-+    }
-+
-+    // And this one is for Wayland.
-+    EGLSurface CallCreatePlatformWindowSurface(struct wl_egl_window* window) const
-+    {
-+        return DoCallCreatePlatformWindowSurface(wxPtrToUInt(window), window);
-+    }
- 
- 
-     EGLConfig *m_config;
+A workaround is to start with softpipe rather than llvmpipe:
+GALLIUM_DRIVER=softpipe prusa-slicer
 
-
---- src/unix/glegl.cpp.orig	2025-12-07 22:59:42.000000000 +0000
-+++ src/unix/glegl.cpp
-@@ -561,7 +561,9 @@ static void gtk_glcanvas_scale_factor_no
- } // extern "C"
- #endif // GDK_WINDOWING_WAYLAND
- 
--EGLSurface wxGLCanvasEGL::CallCreatePlatformWindowSurface(void *window) const
-+EGLSurface
-+wxGLCanvasEGL::DoCallCreatePlatformWindowSurface(wxUIntPtr windowID,
-+                                                 void* windowPtr) const
- {
-     // Type of eglCreatePlatformWindowSurface[EXT]().
-     typedef EGLSurface (*CreatePlatformWindowSurface)(EGLDisplay display,
-@@ -585,7 +587,7 @@ EGLSurface wxGLCanvasEGL::CallCreatePlat
-         if ( s_eglCreatePlatformWindowSurface )
-         {
-             return s_eglCreatePlatformWindowSurface(m_display, *m_config,
--                                                    window,
-+                                                    windowPtr,
-                                                     NULL);
-         }
-     }
-@@ -607,14 +609,12 @@ EGLSurface wxGLCanvasEGL::CallCreatePlat
-     if ( s_eglCreatePlatformWindowSurfaceEXT )
-     {
-         return s_eglCreatePlatformWindowSurfaceEXT(m_display, *m_config,
--                                                   window,
-+                                                   windowPtr,
-                                                    NULL);
-     }
-     else
-     {
--        return eglCreateWindowSurface(m_display, *m_config,
--                                      reinterpret_cast<EGLNativeWindowType>(window),
--                                      NULL);
-+        return eglCreateWindowSurface(m_display, *m_config, windowID, NULL);
-     }
- }
- 
-@@ -638,7 +638,7 @@ bool wxGLCanvasEGL::CreateSurface()
-         }
- 
-         m_xwindow = GDK_WINDOW_XID(window);
--        m_surface = CallCreatePlatformWindowSurface(&m_xwindow);
-+        m_surface = CallCreatePlatformWindowSurface(m_xwindow);
-     }
- #endif
- #ifdef GDK_WINDOWING_WAYLAND
+Alternately, I've found a kernel patch works, attached in:
+https://gnats.netbsd.org/60614
 
 This package has known vulnerabilities, please investigate and fix if possible:
   CVE-2020-28595, CVE-2020-28596


Home | Main Index | Thread Index | Old Index