WillAyd commented on code in PR #803:
URL: https://github.com/apache/arrow-nanoarrow/pull/803#discussion_r2305171747


##########
meson.build:
##########
@@ -21,7 +21,7 @@ project(
     'cpp',
     version: '0.8.0-SNAPSHOT',
     license: 'Apache 2.0',
-    meson_version: '>=1.3.0',
+    meson_version: '>=1.1.0',

Review Comment:
   The Meson team advises against artificially lowering the version 
requirement, so that as many people can use the wrap as possible.
   
   We require version 1.1.0 because we have `meson.options` in the root. If we 
were to rename that to `meson_options.txt`, we could go even further back.
   
   With that said, 1.1.0 came out in April 2023, so I think its a reasonable 
enough floor for now



##########
meson.build:
##########
@@ -135,11 +143,17 @@ if get_option('ipc').enabled()
         c_args: ipc_lib_c_args,
         gnu_symbol_visibility: 'hidden',
     )
+    pkg.generate(
+        nanoarrow_ipc_lib,
+        filebase: 'nanoarrow-ipc',

Review Comment:
   I am possibly overlooking or misunderstanding the current CMake 
configuration, but I couldn't find anywhere that we were producing pkgconfig 
files. 
   
   As such, its worth double checking if we want to use hyphens or underscores 
for the pkgconfig file name. I am using hyphens here as that is what arrow does 
(ex; `arrow-compute.pc`)



##########
meson.build:
##########
@@ -91,12 +91,20 @@ nanoarrow_lib = library(
     gnu_symbol_visibility: 'hidden',
 )
 
+pkg = import('pkgconfig')
+pkg.generate(
+    nanoarrow_lib,
+    description: 'Helpers for Arrow C Data & Arrow C Stream interfaces',
+)
+
 nanoarrow_dep = declare_dependency(
     include_directories: [incdir],
     link_with: nanoarrow_lib,
     compile_args: nanoarrow_dep_args,
 )
 
+meson.override_dependency('nanoarrow', nanoarrow_dep)

Review Comment:
   In today's wrap we have a provides section that looks like:
   
   ```ini
   [provides]
   nanoarrow = nanoarrow_dep
   nanoarrow_ipc = nanoarrow_ipc_dep
   ```
   
   But since Meson version 0.54.0, they have advised that a project internally 
call `meson.override_dependency` instead, so that the project has total control 
over their variable naming. As such, on the next release of Meson, we can 
simplify our wrap entry to just:
   
   ```ini
   [provides]
   dependency_names = [nanoarrow, nanoarrow-ipc, ...]
   ```
   
   and decouple the internal variable name from the wrap system



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to