Subject: [bug#68712] [PATCH 1/2] gnu: Add waffle.

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 25 Jan 2024 09:56:50 +0100

* gnu/packages/gl.scm (waffle): New variable.
---
 gnu/packages/gl.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 49dc878c02..35fb1e618c 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;; Copyright © 2023 Kaelyn Takata <[email-masked]>
 ;;; Copyright © 2023, 2024 Zheng Junjie <[email-masked]>
+;;; Copyright © 2024 Liliana Marie Prikler <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +40,7 @@ (define-module (gnu packages gl)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
@@ -1217,3 +1219,32 @@ (define-public glmark2
      "glmark2 is an OpenGL 2.0 and OpenGL ES 2.0 benchmark based on the
 original glmark benchmark by Ben Smith.")
     (license license:gpl3+)))
+
+(define-public waffle
+  (package
+    (name "waffle")
+    (version "1.8.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://gitlab.freedesktop.org/mesa/waffle")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32 "1mrw0arlrpm83cwaz7rnimkkjv3a134rcmi1h512y2g4yjzhnm8r"))
+              (modules '((ice-9 ftw)
+                         (guix build utils)))
+              (snippet #~(with-directory-excursion "third_party"
+                           (let ((keep '("." ".." "meson.build" "threads")))
+                             (for-each (lambda (f)
+                                         (unless (member f keep)
+                                           (delete-file-recursively f)))
+                                       (scandir ".")))))))
+    (build-system meson-build-system)
+    (propagated-inputs (list mesa wayland))
+    (native-inputs (list cmocka pkg-config))
+    (home-page "https://waffle.freedesktop.org/")
+    (synopsis "Choose OpenGL API at runtime")
+    (description "Waffle is a library that allows one to defer selection of an
+ OpenGL API and a window system until runtime.")
+    (license license:bsd-2)))
-- 
2.41.0