From 2ba756847d8568598df2a228d5fca2cb3ee16d58 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Mon, 6 Jul 2020 20:55:43 +0300
Subject: [PATCH] Add the GBM build.

The GBM build runs without X or Wayland and is more suitable for
standalone setups. This requires libinput and adding that and its
dependencies are most of this commit. IIUC libinput will be included in
the next version of the freedesktop SDK so this could (should?) be
removed when rebased to that.
---
 deps/libevdev.json | 17 +++++++++++++++++
 deps/libgudev.json | 16 ++++++++++++++++
 deps/libinput.json | 18 ++++++++++++++++++
 deps/libwacom.json | 14 ++++++++++++++
 deps/mtdev.json    | 14 ++++++++++++++
 tv.kodi.Kodi.yml   | 19 +++++++++++++++++++
 6 files changed, 98 insertions(+)
 create mode 100644 deps/libevdev.json
 create mode 100644 deps/libgudev.json
 create mode 100644 deps/libinput.json
 create mode 100644 deps/libwacom.json
 create mode 100644 deps/mtdev.json

diff --git a/deps/libevdev.json b/deps/libevdev.json
new file mode 100644
index 0000000..77b1e9f
--- /dev/null
+++ b/deps/libevdev.json
@@ -0,0 +1,17 @@
+{
+    "name": "libevdev",
+    "buildsystem": "meson",
+    "cleanup": [
+    ],
+    "config-opts": [
+        "-Ddocumentation=disabled",
+        "-Dtests=disabled"
+    ],
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://gitlab.freedesktop.org/libevdev/libevdev.git",
+            "tag": "libevdev-1.9.0"
+        }
+    ]
+}
diff --git a/deps/libgudev.json b/deps/libgudev.json
new file mode 100644
index 0000000..71d921a
--- /dev/null
+++ b/deps/libgudev.json
@@ -0,0 +1,16 @@
+{
+    "name": "libgudev",
+    "buildsystem": "autotools",
+    "cleanup": [
+    ],
+    "config-opts": [
+        "--disable-umockdev"
+    ],
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://gitlab.gnome.org/GNOME/libgudev.git",
+            "tag": "233"
+        }
+    ]
+}
diff --git a/deps/libinput.json b/deps/libinput.json
new file mode 100644
index 0000000..27498be
--- /dev/null
+++ b/deps/libinput.json
@@ -0,0 +1,18 @@
+{
+    "name": "libinput",
+    "buildsystem": "meson",
+    "cleanup": [
+    ],
+    "config-opts": [
+        "-Ddebug-gui=false",
+        "-Ddocumentation=false",
+        "-Dtests=false"
+    ],
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://gitlab.freedesktop.org/libinput/libinput.git",
+            "tag": "1.14.3"
+        }
+    ]
+}
diff --git a/deps/libwacom.json b/deps/libwacom.json
new file mode 100644
index 0000000..22c4c06
--- /dev/null
+++ b/deps/libwacom.json
@@ -0,0 +1,14 @@
+{
+    "name": "libwacom",
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://github.com/linuxwacom/libwacom.git",
+            "tag": "libwacom-1.3"
+        }
+    ],
+    "config-opts": [
+    ],
+    "cleanup": [
+    ]
+}
diff --git a/deps/mtdev.json b/deps/mtdev.json
new file mode 100644
index 0000000..acff0e5
--- /dev/null
+++ b/deps/mtdev.json
@@ -0,0 +1,14 @@
+{
+    "name": "mtdev",
+    "sources": [
+        {
+            "type": "archive",
+            "url": "http://bitmath.org/code/mtdev/mtdev-1.1.6.tar.gz",
+            "sha256": "1325f389a2f25cd5f5a8ea4d29aad24aa7c3ec30401d679400dd79eb9c0a8dbb"
+        }
+    ],
+    "config-opts": [
+    ],
+    "cleanup": [
+    ]
+}
diff --git a/tv.kodi.Kodi.yml b/tv.kodi.Kodi.yml
index 8f1fe1b..e18f904 100644
--- a/tv.kodi.Kodi.yml
+++ b/tv.kodi.Kodi.yml
@@ -54,6 +54,11 @@ modules:
   - deps/libmariadbclient.json
   - deps/libbluray.json
   - deps/waylandpp.json
+  - deps/mtdev.json
+  - deps/libevdev.json
+  - deps/libgudev.json
+  - deps/libwacom.json
+  - deps/libinput.json
 
   - name: kodi-x11
     buildsystem: &kodi-buildsystem cmake-ninja
@@ -109,6 +114,20 @@ modules:
     cleanup: *kodi-cleanup
     sources: *kodi-sources
 
+  - name: kodi-gbm
+    buildsystem: *kodi-buildsystem
+    config-opts:
+      - -DVERBOSE=1
+      - -DCROSSGUID_URL=build/download/crossguid.tar.gz
+      - -DLIBDVDCSS_URL=build/download/libdvdcss.tar.gz
+      - -DLIBDVDREAD_URL=build/download/libdvdread.tar.gz
+      - -DLIBDVDNAV_URL=build/download/libdvdnav.tar.gz
+      - -DJava_JAVA_EXECUTABLE=/usr/lib/sdk/openjdk11/bin/java
+      - -DCORE_PLATFORM_NAME=gbm
+      - -DGBM_RENDER_SYSTEM=gl
+    cleanup: *kodi-cleanup
+    sources: *kodi-sources
+
   - name: appdata
     buildsystem: simple
     build-commands:
-- 
GitLab