diff mbox series

[bug#66823,gnome-team,v5,1/6] gnu: Add gmobile.

Message ID 1d51f25a67de63af638c1a5fae763fc2f06ff9a8.1698944849.git.vivien@planete-kraus.eu
State New
Headers show
Series Waiting for Purism | expand

Commit Message

Vivien Kraus Oct. 31, 2023, 7:34 p.m. UTC
* gnu/packages/gnome.scm (gmobile): New variable.
* gnu/packages/patches/gmobile-make-it-installable.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.

Change-Id: If36413dfa1ee1e6156f2652fa86282283b592b36
---
 gnu/local.mk                                  |  1 +
 gnu/packages/gnome.scm                        | 27 ++++++
 .../patches/gmobile-make-it-installable.patch | 89 +++++++++++++++++++
 3 files changed, 117 insertions(+)
 create mode 100644 gnu/packages/patches/gmobile-make-it-installable.patch
diff mbox series

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9befa202ad..92b56289f2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1318,6 +1318,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/glibc-2.29-supported-locales.patch     	\
   %D%/packages/patches/glibc-supported-locales.patch     	\
   %D%/packages/patches/glslang-install-static-libs.patch     	\
+  %D%/packages/patches/gmobile-make-it-installable.patch	\
   %D%/packages/patches/gmp-arm-asm-nothumb.patch		\
   %D%/packages/patches/gmp-faulty-test.patch			\
   %D%/packages/patches/gnash-fix-giflib-version.patch	        \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a86ddc34b3..0933bf7d34 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -12915,6 +12915,33 @@  (define-public jsonrpc-glib
 host to avoid parser overhead and memory-allocator fragmentation.")
     (license license:lgpl2.1+)))
 
+(define-public gmobile
+  (package
+    (name "gmobile")
+    (version "0.0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.gnome.org/guidog/gmobile")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name "gmobile" version))
+       (sha256
+        (base32
+         "0lr22nj4ypzxbjim1a7ay07nh4vx3dqc895qql437gda6x0rvn2p"))
+       (patches
+        (search-patches "gmobile-make-it-installable.patch"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list `(,glib "bin") ; for glib-compile-resources
+           pkg-config))
+    (propagated-inputs
+     (list glib json-glib))
+    (synopsis "Functions useful in mobile related, glib based projects")
+    (description "This package provides functions for mobiles.")
+    (home-page "https://gitlab.gnome.org/guidog/gmobile")
+    (license license:lgpl2.1+)))
+
 (define-public feedbackd
   (package
     (name "feedbackd")
diff --git a/gnu/packages/patches/gmobile-make-it-installable.patch b/gnu/packages/patches/gmobile-make-it-installable.patch
new file mode 100644
index 0000000000..9db6554877
--- /dev/null
+++ b/gnu/packages/patches/gmobile-make-it-installable.patch
@@ -0,0 +1,89 @@ 
+From c1ea43a45f4588f21752b0ad679c43350a9c8905 Mon Sep 17 00:00:00 2001
+Message-ID: <c1ea43a45f4588f21752b0ad679c43350a9c8905.1698604357.git.vivien@planete-kraus.eu>
+From: Vivien Kraus <vivien@planete-kraus.eu>
+Date: Sun, 29 Oct 2023 19:00:44 +0100
+Subject: [PATCH] Install gmobile as a shared library.
+
+Tracked at https://gitlab.gnome.org/guidog/gmobile/-/issues/1
+
+* src/meson.build: Install the header files.  Import pkgconfig.
+Generate a pkg-config definition.
+(gm_lib): use "library", not "static_library".  Install it.
+(gmobile_gir): Install it.
+* meson.build: Install gm-config.h.
+---
+ meson.build     |  1 +
+ src/meson.build | 22 +++++++++++++++++++---
+ 2 files changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e9f6c62..51ebeac 100644
+--- a/meson.build
++++ b/meson.build
+@@ -83,6 +83,7 @@ root_inc = include_directories('.')
+ configure_file(
+   output: 'gm-config.h',
+   configuration: config_h,
++  install_dir: get_option('includedir')
+ )
+ 
+ subdir('data')
+diff --git a/src/meson.build b/src/meson.build
+index ee98a39..3dedbe4 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -1,3 +1,5 @@
++pkg = import('pkgconfig')
++
+ gm_deps = [
+   gio_dep,
+   glib_dep,
+@@ -37,18 +39,33 @@ gm_c_args = [
+   '-DG_LOG_DOMAIN="gmobile"',
+ ]
+ 
+-gm_lib = static_library(
++gm_lib = library(
+   'gmobile',
+   gm_sources,
+   include_directories: root_inc,
+   c_args: gm_c_args,
+-  dependencies: gm_deps)
++  dependencies: gm_deps,
++  install: true)
++
++pkg.generate(gm_lib)
+ 
+ gmobile_dep = declare_dependency(
+   include_directories: [root_inc, include_directories('.')],
+   dependencies: gm_deps,
+   link_with: gm_lib)
+ 
++install_headers(
++  'gmobile.h',
++  'gm-cutout.h',
++  'gm-device-info.h',
++  'gm-device-tree.h',
++  'gm-display-panel.h',
++  'gm-error.h',
++  'gm-main.h',
++  'gm-rect.h',
++  'gm-svg-path.h',
++  'gm-timeout.h')
++
+ if get_option('gtk_doc')
+   gmobile_gir_extra_args = [
+     '--c-include=gmobile.h',
+@@ -66,7 +83,6 @@ if get_option('gtk_doc')
+        identifier_prefix: 'Gm',
+                link_with: gm_lib,
+                 includes: ['Gio-2.0'],
+-                 install: false,
+               extra_args: gmobile_gir_extra_args,
+    )
+ endif
+
+base-commit: 382fc89472176d2f1d435517cad53d969d8b8eff
+-- 
+2.41.0
+