<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/368c282a0ea7cfbc6033a689aeafaed79fc2c542">https://github.com/macports/macports-ports/commit/368c282a0ea7cfbc6033a689aeafaed79fc2c542</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 368c282a0ea virglrenderer: Avoid binary when libepoxy is +quartz
</span>368c282a0ea is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 368c282a0ea7cfbc6033a689aeafaed79fc2c542
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Mon May 12 21:10:50 2025 +0200

<span style='display:block; white-space:pre;color:#404040;'>    virglrenderer: Avoid binary when libepoxy is +quartz
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    libvirglrenderer.1.dylib fails when it is installed from a binary
</span><span style='display:block; white-space:pre;color:#404040;'>    archive compiled on the buildserver against libepoxy +x11, but the user
</span><span style='display:block; white-space:pre;color:#404040;'>    has libepoxy +quartz installed:
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    | Termination Reason:    Namespace DYLD, Code 4 Symbol missing
</span><span style='display:block; white-space:pre;color:#404040;'>    | Symbol not found: _epoxy_glXChooseFBConfig
</span><span style='display:block; white-space:pre;color:#404040;'>    | Referenced from: <44D61F46-2561-3257-886E-71513200EEFC> /opt/local/lib/libvirglrenderer.1.dylib
</span><span style='display:block; white-space:pre;color:#404040;'>    | Expected in:     <789F52DB-263C-319B-B70E-560271F22A8F> /opt/local/lib/libepoxy.0.dylib
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Rebuilding virglrenderer locally fixes this, but we should prevent the
</span><span style='display:block; white-space:pre;color:#404040;'>    use of the binary archive in this situation to avoid breakage on
</span><span style='display:block; white-space:pre;color:#404040;'>    a user's system.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Introduce empty +x11 and +quartz variants and automatically switch the
</span><span style='display:block; white-space:pre;color:#404040;'>    default variant based on the one chosen for libepoxy.
</span>---
 graphics/virglrenderer/Portfile | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/virglrenderer/Portfile b/graphics/virglrenderer/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c1b31397ac6..142ff694ed8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/virglrenderer/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/virglrenderer/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,12 +5,13 @@
</span> PortSystem          1.0
 PortGroup           gitlab 1.0
 PortGroup           meson 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           active_variants 1.1
</span> 
 gitlab.instance     https://gitlab.freedesktop.org
 gitlab.setup        slp virglrenderer 0.10.4b "" -krunkit
 distname            ${gitlab.project}-${gitlab.version}${gitlab.tag_suffix}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 categories          graphics
 license             MIT
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,5 +42,29 @@ configure.args \
</span>             -Dvenus=true \
             -Drender-server=false
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# This port builds different depending on whether libepoxy is installed +x11 or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# +quartz. If libepoxy is +quartz and virglrenderer is installed from a binary,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# it fails to run because it expects an X11-specific symbol in libepoxy that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# isn't there.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Add empty variants that do nothing but ensure this port is built with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# same variants as libepoxy, and that a binary isn't used when libepoxy +quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# is installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant x11 conflicts quartz {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants libepoxy x11 quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant quartz conflicts x11 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants libepoxy quartz x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# If libepoxy is installed with +quartz, automatically default to using +quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# for this port. Otherwise, default to +x11.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![catch {set result [active_variants libepoxy quartz x11]}] && $result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {![variant_isset quartz]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # TODO: Any tests?
 # TODO: Currently this Portfile is only for the variant required for use in libkrun. There should (maybe) be a normal variant and then a +krunkit or +libkrun variant which is the equivalent of this. Look at that later, just get krunkit working for now.
</pre><pre style='margin:0'>

</pre>