From b3893dae4230254c9befd9a426d5d47b7107272d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moon=20Dav=C3=A9?= Date: Wed, 8 Jul 2026 16:42:12 -0400 Subject: [PATCH 1/2] on linux, pass x11,wayland features for dylib --- .../main/kotlin/processing/gradle/CargoBuildTask.kt | 10 ++++++++++ core/build.gradle.kts | 3 +++ 2 files changed, 13 insertions(+) diff --git a/buildSrc/src/main/kotlin/processing/gradle/CargoBuildTask.kt b/buildSrc/src/main/kotlin/processing/gradle/CargoBuildTask.kt index 0b73d75ac..4cbc32847 100644 --- a/buildSrc/src/main/kotlin/processing/gradle/CargoBuildTask.kt +++ b/buildSrc/src/main/kotlin/processing/gradle/CargoBuildTask.kt @@ -3,6 +3,7 @@ package processing.gradle import org.gradle.api.DefaultTask import org.gradle.api.file.DirectoryProperty import org.gradle.api.file.RegularFileProperty +import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property import org.gradle.api.tasks.* import org.gradle.process.ExecOperations @@ -25,6 +26,9 @@ abstract class CargoBuildTask : DefaultTask() { @get:Input abstract val cargoPath: Property + @get:Input + abstract val features: ListProperty + @get:OutputFile abstract val outputLibrary: RegularFileProperty @@ -34,6 +38,7 @@ abstract class CargoBuildTask : DefaultTask() { // release by default release.convention(true) + features.convention(emptyList()) } @TaskAction @@ -45,9 +50,14 @@ abstract class CargoBuildTask : DefaultTask() { if (release.get()) { args.add("--release") } + if (features.get().isNotEmpty()) { + args.add("--features") + args.add(features.get().joinToString(",")) + } args.add("--manifest-path") args.add(manifestPath.get()) + execOperations.exec { workingDir = cargoWorkspaceDir.get().asFile commandLine = listOf(cargoPath.get()) + args diff --git a/core/build.gradle.kts b/core/build.gradle.kts index b56ee8682..19b42773a 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -96,6 +96,9 @@ if (enableWebGPU) { manifestPath.set(ffiManifestPath) release.set(true) cargoPath.set(PlatformUtils.getCargoPath()) + if (currentPlatform.os == "linux") { + features.set(listOf("x11", "wayland")) + } outputLibrary.set(file("$rustTargetDir/release/${currentPlatform.libName}")) inputs.files(fileTree("$libprocessingDir/crates") { From cb441883ecaa7c544e14c4e112a30f6bfa56b903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moon=20Dav=C3=A9?= Date: Wed, 8 Jul 2026 16:42:40 -0400 Subject: [PATCH 2/2] libprocessing on main branch --- libprocessing | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libprocessing b/libprocessing index a9f077459..77f105be7 160000 --- a/libprocessing +++ b/libprocessing @@ -1 +1 @@ -Subproject commit a9f0774597a81afe2cfccac07c99f81eada253e6 +Subproject commit 77f105be7307bc0b3552aba3cb9f24d1736aeda1