Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions ci_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,20 +42,30 @@
},
"arrow-cpp": {
"build_options": [
"arrow-cpp:compute=enabled"
"arrow-cpp:acero=enabled",
"arrow-cpp:compute=enabled",
"arrow-cpp:csv=enabled",
"arrow-cpp:filesystem=enabled",
"arrow-cpp:json=enabled",
"arrow-cpp:testing=enabled",
"arrow-cpp:tensorflow=enabled"
],
"alpine_packages": [
"boost-dev"
"boost-dev",
"rapidjson"
],
"brew_packages": [
"boost"
"boost",
"rapidjson"
],
"debian_packages": [
"libboost-filesystem-dev",
"libboost-system-dev"
"libboost-system-dev",
"rapidjson-dev"
],
"msys_packages": [
"boost"
"boost",
"rapidjson"
]
},
"atomic_queue": {
Expand Down
9 changes: 8 additions & 1 deletion releases.json
Original file line number Diff line number Diff line change
Expand Up @@ -204,9 +204,16 @@
"arrow-cpp": {
"dependency_names": [
"arrow",
"arrow-compute"
"arrow-acero",
"arrow-compute",
"arrow-csv",
"arrow-filesystem",
"arrow-json",
"arrow-testing",
"arrow-tensorflow"
],
"versions": [
"22.0.0-1",
"21.0.0-1"
]
},
Expand Down
13 changes: 6 additions & 7 deletions subprojects/arrow-cpp.wrap
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
[wrap-file]
directory = apache-arrow-21.0.0
source_url = https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-21.0.0/apache-arrow-21.0.0.tar.gz
source_fallback_url = https://github.com/apache/arrow/releases/download/apache-arrow-21.0.0/apache-arrow-21.0.0.tar.gz
source_filename = apache-arrow-21.0.0.tar.gz
source_hash = 5d3f8db7e72fb9f65f4785b7a1634522e8d8e9657a445af53d4a34a3849857b5
directory = apache-arrow-22.0.0
source_url = https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-22.0.0/apache-arrow-22.0.0.tar.gz
source_fallback_url = https://github.com/apache/arrow/releases/download/apache-arrow-22.0.0/apache-arrow-22.0.0.tar.gz
source_filename = apache-arrow-22.0.0.tar.gz
source_hash = 131250cd24dec0cddde04e2ad8c9e2bc43edc5e84203a81cf71cf1a33a6e7e0f
patch_directory = arrow-cpp

[provide]
arrow = arrow_dep
arrow-compute = arrow_compute_dep
dependency_names = arrow, arrow-acero, arrow-compute, arrow-csv, arrow-filesystem, arrow-json, arrow-testing, arrow-tensorflow
39 changes: 35 additions & 4 deletions subprojects/packagefiles/arrow-cpp/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
'arrow',
'cpp',
'c',
version: '21.0.0',
version: '22.0.0',
license: 'Apache-2.0',
meson_version: '>=1.3.0',

Check failure on line 31 in subprojects/packagefiles/arrow-cpp/meson.build

View workflow job for this annotation

GitHub Actions / Ubuntu (x86_64)

Minimum Meson version

Could not verify minimum Meson version
default_options: ['c_std=gnu11,c11', 'warning_level=2', 'cpp_std=c++17'],
default_options: ['c_std=c11', 'warning_level=2', 'cpp_std=c++17'],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not entirely sure why this is problematic now, but the CI reports this error:

cc: error: unrecognized command-line option ‘-std=gnu11,c11’; did you mean ‘-std=gnu++11’?

https://github.com/mesonbuild/wrapdb/actions/runs/18844109396/job/53763852587

I don't think its a huge deal to change for now; can take a closer look if it becomes a problem in future versions

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that we can use -std=gnu11 OR -std=c11.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks - I can't remember why we needed the gnu extensions upstream in the first place, and maybe we don't any more. Will investigate that separately from this

)

project_args = [
Expand Down Expand Up @@ -81,14 +81,37 @@
needs_azure = get_option('azure').enabled()
needs_gcs = get_option('gcs').enabled()
needs_hdfs = get_option('hdfs').enabled()
needs_parquet = get_option('parquet').enabled()
needs_parquet_encryption = get_option('parquet_require_encryption').enabled()
needs_s3 = get_option('s3').enabled()
needs_filesystem = get_option('filesystem').enabled() or needs_azure or needs_gcs or needs_hdfs or needs_s3
needs_filesystem = (get_option('filesystem').enabled()
or needs_azure
or needs_gcs
or needs_hdfs
or needs_parquet_encryption
or needs_s3
)
needs_integration = get_option('integration').enabled()
needs_tests = get_option('tests').enabled()
needs_acero = get_option('acero').enabled()
needs_flight = get_option('flight').enabled()
needs_ipc = get_option('ipc').enabled() or needs_tests or needs_acero or needs_benchmarks or needs_flight
needs_ipc = (get_option('ipc').enabled()
or needs_tests
or needs_acero
or needs_benchmarks
or needs_flight
or needs_parquet
)

needs_fuzzing = get_option('fuzzing').enabled()
if needs_fuzzing
if meson.version() < '1.8.0'
error(
f'Meson >= 1.8.0 is required for fuzzing support, found @meson.version()@',
)
endif
endif

needs_testing = (get_option('testing').enabled()
or needs_tests
or needs_benchmarks
Expand All @@ -105,3 +128,11 @@
needs_utilities = get_option('utilities').enabled()

subdir('cpp/src/arrow')

if needs_parquet
subdir('cpp/src/parquet')
subdir('cpp/tools/parquet')
if get_option('parquet_build_examples').enabled()
subdir('cpp/examples/parquet')
endif
endif
20 changes: 20 additions & 0 deletions subprojects/packagefiles/arrow-cpp/meson.options
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,26 @@ option(
type: 'string',
description: 'Arbitrary string that identifies the kind of package (for informational purposes)',
)
option(
'parquet',
type: 'feature',
description: 'Build the Parquet libraries',
)
option(
'parquet_build_executables',
type: 'feature',
description: 'Build the Parquet executable CLI tools.',
)
option(
'parquet_build_examples',
type: 'feature',
description: 'Build the Parquet examples.',
)
option(
'parquet_require_encryption',
type: 'feature',
description: 'Build support for encryption. Fail if OpenSSL is not found',
)

option(
'snappy',
Expand Down
Loading