https://github.com/not-fl3/miniquad/pull/270

error[E0428]: the name `GL_TIME_ELAPSED` is defined multiple times
    --> cargo-crates/sapp-dummy-0.1.5/src/gl.rs:1455:1
     |
922  | pub const GL_TIME_ELAPSED: u32 = 35007;
     | --------------------------------------- previous definition of the value `GL_TIME_ELAPSED` here
...
1455 | pub const GL_TIME_ELAPSED: u32 = 35007;
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `GL_TIME_ELAPSED` redefined here
     |
     = note: `GL_TIME_ELAPSED` must be defined only once in the value namespace of this module

--- cargo-crates/miniquad-0.3.0-alpha.42/Cargo.toml.orig	1970-01-01 00:00:01 UTC
+++ cargo-crates/miniquad-0.3.0-alpha.42/Cargo.toml
@@ -32,7 +32,7 @@ version = "0.1"
 default = ["sapp-linux"]
 kms = ["sapp-kms"]
 log-impl = []
-[target."cfg(not(any(target_os=\"linux\", target_os=\"macos\", target_os=\"android\", target_os=\"ios\", target_arch=\"wasm32\", windows)))".dependencies.sapp-dummy]
+[target."cfg(not(any(target_os=\"linux\", target_os=\"dragonfly\", target_os=\"freebsd\", target_os=\"netbsd\", target_os=\"openbsd\", target_os=\"macos\", target_os=\"android\", target_os=\"ios\", target_arch=\"wasm32\", windows)))".dependencies.sapp-dummy]
 version = "=0.1.5"
 [target."cfg(target_arch = \"wasm32\")".dependencies.sapp-wasm]
 version = "=0.1.26"
@@ -40,11 +40,11 @@ version = "=0.1.26"
 version = "=0.1.14"
 [target."cfg(target_os = \"ios\")".dependencies.sapp-ios]
 version = "=0.1.2"
-[target."cfg(target_os = \"linux\")".dependencies.sapp-kms]
+[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"netbsd\", target_os = \"openbsd\"))".dependencies.sapp-kms]
 version = "=0.1.1"
 optional = true
 
-[target."cfg(target_os = \"linux\")".dependencies.sapp-linux]
+[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"netbsd\", target_os = \"openbsd\"))".dependencies.sapp-linux]
 version = "=0.1.13"
 optional = true
 [target."cfg(target_os = \"macos\")".dependencies.sapp-darwin]
--- cargo-crates/miniquad-0.3.0-alpha.42/src/clipboard.rs.orig	1970-01-01 00:00:01 UTC
+++ cargo-crates/miniquad-0.3.0-alpha.42/src/clipboard.rs
@@ -2,7 +2,13 @@
 
 use crate::Context;
 
-#[cfg(all(target_os = "linux", feature = "sapp-linux"))]
+#[cfg(all(feature = "sapp-linux", any(
+    target_os = "linux",
+    target_os = "dragonfly",
+    target_os = "freebsd",
+    target_os = "netbsd",
+    target_os = "openbsd",
+)))]
 mod linux_x11 {
     use crate::Context;
 
@@ -53,7 +59,13 @@ mod windows {
 }
 
 #[cfg(not(any(
-    all(target_os = "linux", feature = "sapp-linux"),
+    all(feature = "sapp-linux", any(
+        target_os = "linux",
+        target_os = "dragonfly",
+        target_os = "freebsd",
+        target_os = "netbsd",
+        target_os = "openbsd",
+    )),
     target_os = "windows",
     target_arch = "wasm32"
 )))]
@@ -68,12 +80,24 @@ mod dummy {
 }
 
 #[cfg(not(any(
-    all(target_os = "linux", feature = "sapp-linux"),
+    all(feature = "sapp-linux", any(
+        target_os = "linux",
+        target_os = "dragonfly",
+        target_os = "freebsd",
+        target_os = "netbsd",
+        target_os = "openbsd",
+    )),
     target_os = "windows",
     target_arch = "wasm32"
 )))]
 use dummy as clipboard;
-#[cfg(all(target_os = "linux", feature = "sapp-linux"))]
+#[cfg(all(feature = "sapp-linux", any(
+    target_os = "linux",
+    target_os = "dragonfly",
+    target_os = "freebsd",
+    target_os = "netbsd",
+    target_os = "openbsd",
+)))]
 use linux_x11 as clipboard;
 #[cfg(target_arch = "wasm32")]
 use wasm as clipboard;
--- cargo-crates/miniquad-0.3.0-alpha.42/src/lib.rs.orig	1970-01-01 00:00:01 UTC
+++ cargo-crates/miniquad-0.3.0-alpha.42/src/lib.rs
@@ -8,6 +8,10 @@ pub use sapp_android;
 extern crate sapp_darwin as sapp;
 #[cfg(not(any(
     target_os = "linux",
+    target_os = "dragonfly",
+    target_os = "freebsd",
+    target_os = "netbsd",
+    target_os = "openbsd",
     target_os = "macos",
     target_os = "ios",
     target_os = "android",
@@ -17,9 +21,21 @@ extern crate sapp_darwin as sapp;
 extern crate sapp_dummy as sapp;
 #[cfg(target_os = "ios")]
 extern crate sapp_ios as sapp;
-#[cfg(all(target_os = "linux", feature = "kms"))]
+#[cfg(all(feature = "kms", any(
+    target_os = "linux",
+    target_os = "dragonfly",
+    target_os = "freebsd",
+    target_os = "netbsd",
+    target_os = "openbsd",
+)))]
 extern crate sapp_kms as sapp;
-#[cfg(all(target_os = "linux", not(feature = "kms")))]
+#[cfg(all(not(feature = "kms"), any(
+    target_os = "linux",
+    target_os = "dragonfly",
+    target_os = "freebsd",
+    target_os = "netbsd",
+    target_os = "openbsd",
+)))]
 extern crate sapp_linux as sapp;
 
 #[cfg(target_arch = "wasm32")]
@@ -139,7 +155,13 @@ impl Context {
     pub fn set_mouse_cursor(&self, _cursor_icon: CursorIcon) {
         #[cfg(any(
             target_arch = "wasm32",
-            all(target_os = "linux", not(feature = "kms")),
+            all(not(feature = "kms"), any(
+                target_os = "linux",
+                target_os = "dragonfly",
+                target_os = "freebsd",
+                target_os = "netbsd",
+                target_os = "openbsd",
+            )),
             windows,
         ))]
         unsafe {
@@ -165,6 +187,10 @@ impl Context {
     pub fn set_window_size(&self, new_width: u32, new_height: u32) {
         #[cfg(not(any(
             target_os = "linux",
+            target_os = "dragonfly",
+            target_os = "freebsd",
+            target_os = "netbsd",
+            target_os = "openbsd",
             target_os = "macos",
             target_os = "ios",
             target_os = "android",
@@ -184,6 +210,10 @@ impl Context {
     pub fn set_fullscreen(&self, fullscreen: bool) {
         #[cfg(not(any(
             target_os = "linux",
+            target_os = "dragonfly",
+            target_os = "freebsd",
+            target_os = "netbsd",
+            target_os = "openbsd",
             target_os = "macos",
             target_os = "ios",
             target_os = "android",
--- cargo-crates/sapp-linux-0.1.13/build.rs.orig	1970-01-01 00:00:00 UTC
+++ cargo-crates/sapp-linux-0.1.13/build.rs
@@ -3,7 +3,12 @@ use std::env;
 fn main() {
     let target = env::var("TARGET").unwrap_or_else(|e| panic!("{}", e));
 
-    if target.contains("linux") == false {
+    if target.contains("linux") == false
+       && target.contains("dragonfly") == false
+       && target.contains("freebsd") == false
+       && target.contains("netbsd") == false
+       && target.contains("openbsd") == false
+    {
         panic!("sapp_linux support only linux target");
     }
 
