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]