From 06e16da32dfaad02434fd9937d298ea1ece256ce Mon Sep 17 00:00:00 2001
From: Xavier Claessens <xavier.claessens@collabora.com>
Date: Sat, 23 Apr 2022 10:33:17 -0400
Subject: [PATCH 2/2] meson: Various fixes

- Add missing lcms dependencies. That's needed when lcms is a subproject
  otherwise those targets does not find its headers.
- Add lcms2 wrap so meson can build it as subproject in case the
  dependency is not found on system.
- Fix couple meson warnings
- Use meson.override_dependency() so babl can be used as subproject
  without hardcoding "babl_dep" variable name in main project.

Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/babl/-/commit/2dc7fc403fe427a889913ef0cfb71de85b4326ec]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 babl/meson.build       |  4 +++-
 extensions/meson.build |  1 +
 meson.build            |  4 +++-
 subprojects/lcms2.wrap | 12 ++++++++++++
 tests/meson.build      |  2 +-
 tools/meson.build      |  2 +-
 6 files changed, 21 insertions(+), 4 deletions(-)
 create mode 100644 subprojects/lcms2.wrap

diff --git a/babl/meson.build b/babl/meson.build
index d432dca..70fb131 100644
--- a/babl/meson.build
+++ b/babl/meson.build
@@ -138,7 +138,7 @@ babl = library(
   link_args: babl_link_args,
   link_with: simd_extra,
   dependencies: babl_deps,
-  link_depends: version_script,
+  link_depends: version_script[0],
   version: so_version,
   install: true,
 )
@@ -165,4 +165,6 @@ if build_gir
       install: true,
     )
   endif
+else
+  babl_gir = []
 endif
diff --git a/extensions/meson.build b/extensions/meson.build
index 23672bb..9935f29 100644
--- a/extensions/meson.build
+++ b/extensions/meson.build
@@ -6,6 +6,7 @@ no_cflags = []
 babl_ext_dep = [
   math,
   thread,
+  lcms,
 ]
 
 # Include directories
diff --git a/meson.build b/meson.build
index 2623e93..7e7a935 100644
--- a/meson.build
+++ b/meson.build
@@ -451,6 +451,7 @@ if git_bin.found() and run_command(
     git_bin,
     'rev-parse',
     '--is-inside-work-tree',
+    check: true,
 ).returncode() == 0
   git_version_h = vcs_tag(
     input : 'git-version.h.in',
@@ -531,13 +532,14 @@ babl_dep = declare_dependency(
   link_with : babl,
   sources: [
     babl_version_h,
-    is_variable('babl_gir') ? babl_gir : []
+    build_gir ? babl_gir : []
   ],
   variables: {
     'babl_path'   : babl_extensions_build_dir,
     'babl_libdir' : babl_library_build_dir,
   },
 )
+meson.override_dependency('babl', babl_dep)
 
 ################################################################################
 # Build summary
diff --git a/subprojects/lcms2.wrap b/subprojects/lcms2.wrap
new file mode 100644
index 0000000..2cc69df
--- /dev/null
+++ b/subprojects/lcms2.wrap
@@ -0,0 +1,12 @@
+[wrap-file]
+directory = Little-CMS-2.12
+source_url = https://github.com/mm2/Little-CMS/archive/refs/tags/2.12.tar.gz
+source_filename = lcms2-2.12.tar.gz
+source_hash = e501f1482fc424550ef3abbf86bf1c66090e1661249e89552d39ed5bf935df66
+patch_filename = lcms2_2.12-2_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/lcms2_2.12-2/get_patch
+patch_hash = 3ac6944ac4b8d8507b85961d98cb287532945183d0e8f094c77810e793b6bebe
+
+[provide]
+lcms2 = liblcms2_dep
+
diff --git a/tests/meson.build b/tests/meson.build
index eee8895..7c67e70 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -42,7 +42,7 @@ foreach test_name : test_names
     test_name + '.c',
     include_directories: [rootInclude, bablInclude],
     link_with: babl,
-    dependencies: thread,
+    dependencies: [thread, lcms],
     export_dynamic: true,
     install: false,
   )
diff --git a/tools/meson.build b/tools/meson.build
index 2719335..89ccf40 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -18,7 +18,7 @@ foreach tool_name : tool_names
     tool_name + '.c',
     include_directories: [rootInclude, bablInclude],
     link_with: babl,
-    dependencies: [math, thread],
+    dependencies: [math, thread, lcms],
     install: false,
   )
 
-- 
2.36.0

