diff --git a/c_glib/Brewfile b/c_glib/Brewfile
index 5ab502036961a..d281e047350bd 100644
--- a/c_glib/Brewfile
+++ b/c_glib/Brewfile
@@ -16,7 +16,5 @@
# under the License.
brew "gobject-introspection"
-brew "gtk-doc"
-brew "libtool"
brew "meson"
brew "vala"
diff --git a/c_glib/arrow-cuda-glib/meson.build b/c_glib/arrow-cuda-glib/meson.build
index 1718e2fc990d5..88029e6dc2073 100644
--- a/c_glib/arrow-cuda-glib/meson.build
+++ b/c_glib/arrow-cuda-glib/meson.build
@@ -72,15 +72,13 @@ if have_gi
dependencies: gir_dependencies,
export_packages: 'arrow-cuda-glib',
extra_args: gir_extra_args,
- fatal_warnings: gi_fatal_warnings,
header: 'arrow-cuda-glib/arrow-cuda-glib.h',
identifier_prefix: 'GArrowCUDA',
includes: [
'Arrow-1.0',
],
- install: true,
+ kwargs: generate_gi_common_args,
namespace: 'ArrowCUDA',
- nsversion: api_version,
sources: sources + c_headers,
symbol_prefix: 'garrow_cuda')
diff --git a/c_glib/arrow-dataset-glib/meson.build b/c_glib/arrow-dataset-glib/meson.build
index 4037cf00b7a13..0c869a4183efa 100644
--- a/c_glib/arrow-dataset-glib/meson.build
+++ b/c_glib/arrow-dataset-glib/meson.build
@@ -88,7 +88,7 @@ pkgconfig.generate(libarrow_dataset_glib,
version: version)
if have_gi
- dataset_glib_gir = \
+ arrow_dataset_glib_gir = \
gnome.generate_gir(libarrow_dataset_glib,
dependencies: declare_dependency(sources: arrow_glib_gir),
export_packages: 'arrow-dataset-glib',
@@ -96,15 +96,13 @@ if have_gi
'--warn-all',
'--include-uninstalled=./arrow-glib/Arrow-1.0.gir',
],
- fatal_warnings: gi_fatal_warnings,
header: 'arrow-dataset-glib/arrow-dataset-glib.h',
identifier_prefix: 'GADataset',
includes: [
'Arrow-1.0',
],
- install: true,
+ kwargs: generate_gi_common_args,
namespace: 'ArrowDataset',
- nsversion: api_version,
sources: sources + c_headers + enums,
symbol_prefix: 'gadataset')
@@ -115,6 +113,6 @@ if have_gi
arrow_glib_vapi,
'gio-2.0',
],
- sources: [dataset_glib_gir[0]])
+ sources: [arrow_dataset_glib_gir[0]])
endif
endif
diff --git a/c_glib/arrow-flight-glib/meson.build b/c_glib/arrow-flight-glib/meson.build
index b869fd226b86a..70db7400b124a 100644
--- a/c_glib/arrow-flight-glib/meson.build
+++ b/c_glib/arrow-flight-glib/meson.build
@@ -65,7 +65,7 @@ pkgconfig.generate(libarrow_flight_glib,
version: version)
if have_gi
- flight_glib_gir = \
+ arrow_flight_glib_gir = \
gnome.generate_gir(libarrow_flight_glib,
dependencies: declare_dependency(sources: arrow_glib_gir),
export_packages: 'arrow-flight-glib',
@@ -73,26 +73,24 @@ if have_gi
'--warn-all',
'--include-uninstalled=./arrow-glib/Arrow-1.0.gir',
],
- fatal_warnings: gi_fatal_warnings,
header: 'arrow-flight-glib/arrow-flight-glib.h',
identifier_prefix: 'GAFlight',
includes: [
'Arrow-1.0',
],
- install: true,
+ kwargs: generate_gi_common_args,
namespace: 'ArrowFlight',
- nsversion: api_version,
sources: sources + c_headers,
symbol_prefix: 'gaflight')
if generate_vapi
- flight_glib_vapi = \
+ arrow_flight_glib_vapi = \
gnome.generate_vapi('arrow-flight-glib',
install: true,
packages: [
arrow_glib_vapi,
'gio-2.0',
],
- sources: [flight_glib_gir[0]])
+ sources: [arrow_flight_glib_gir[0]])
endif
endif
diff --git a/c_glib/arrow-flight-sql-glib/meson.build b/c_glib/arrow-flight-sql-glib/meson.build
index f1ea6d67cb04e..e7abc605bb819 100644
--- a/c_glib/arrow-flight-sql-glib/meson.build
+++ b/c_glib/arrow-flight-sql-glib/meson.build
@@ -63,27 +63,25 @@ pkgconfig.generate(libarrow_flight_sql_glib,
version: version)
if have_gi
- flight_sql_glib_gir_dependencies = \
- declare_dependency(sources: [arrow_glib_gir, flight_glib_gir])
- flight_sql_glib_gir = \
+ arrow_flight_sql_glib_gir_dependencies = \
+ declare_dependency(sources: [arrow_glib_gir, arrow_flight_glib_gir])
+ arrow_flight_sql_glib_gir = \
gnome.generate_gir(libarrow_flight_sql_glib,
- dependencies: flight_sql_glib_gir_dependencies,
+ dependencies: arrow_flight_sql_glib_gir_dependencies,
export_packages: 'arrow-flight-sql-glib',
extra_args: [
'--warn-all',
'--include-uninstalled=./arrow-glib/Arrow-1.0.gir',
'--include-uninstalled=./arrow-flight-glib/ArrowFlight-1.0.gir',
],
- fatal_warnings: gi_fatal_warnings,
header: 'arrow-flight-sql-glib/arrow-flight-sql-glib.h',
identifier_prefix: 'GAFlightSQL',
includes: [
'Arrow-1.0',
'ArrowFlight-1.0',
],
- install: true,
+ kwargs: generate_gi_common_args,
namespace: 'ArrowFlightSQL',
- nsversion: api_version,
sources: sources + c_headers,
symbol_prefix: 'gaflightsql')
@@ -91,10 +89,10 @@ if have_gi
gnome.generate_vapi('arrow-flight-sql-glib',
install: true,
packages: [
- flight_glib_vapi,
+ arrow_flight_glib_vapi,
arrow_glib_vapi,
'gio-2.0',
],
- sources: [flight_sql_glib_gir[0]])
+ sources: [arrow_flight_sql_glib_gir[0]])
endif
endif
diff --git a/c_glib/arrow-glib/meson.build b/c_glib/arrow-glib/meson.build
index b26dcc4c080eb..7efba11bf9417 100644
--- a/c_glib/arrow-glib/meson.build
+++ b/c_glib/arrow-glib/meson.build
@@ -279,18 +279,16 @@ if have_gi
extra_args: [
'--warn-all',
],
- fatal_warnings: gi_fatal_warnings,
header: 'arrow-glib/arrow-glib.h',
identifier_prefix: 'GArrow',
includes: [
'GObject-2.0',
'Gio-2.0',
],
- install: true,
namespace: 'Arrow',
- nsversion: api_version,
sources: sources + c_headers + enums,
- symbol_prefix: 'garrow')
+ symbol_prefix: 'garrow',
+ kwargs: generate_gi_common_args)
if generate_vapi
arrow_glib_vapi = gnome.generate_vapi('arrow-glib',
diff --git a/c_glib/doc/arrow-cuda-glib.toml.in b/c_glib/doc/arrow-cuda-glib.toml.in
new file mode 100644
index 0000000000000..fbd491487aabd
--- /dev/null
+++ b/c_glib/doc/arrow-cuda-glib.toml.in
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[library]
+name = "Apache Arrow CUDA GLib"
+version = "@VERSION@"
+browse_url = "https://github.com/apache/arrow/tree/@SOURCE_REFERENCE@/c_glib/arrow-cuda-glib/"
+repository_url = "https://github.com/apache/arrow.git"
+website_url = "https://arrow.apache.org/docs/c_glib/arrow-cuda-glib/"
+authors = "The Apache Software Foundation"
+license = "Apache-2.0"
+description = "Apache Arrow CUDA GLib API"
+dependencies = ["Arrow-1.0"]
+related = ["Gio-2.0", "GObject-2.0"]
+search_index = true
+
+[dependencies."Arrow-1.0"]
+name = "Arrow"
+description = "Apache Arrow GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-glib/"
+
+[related."Gio-2.0"]
+name = "GIO"
+description = "GObject Interfaces and Objects, Networking, IPC, and I/O"
+docs_url = "https://docs.gtk.org/gio/"
+
+[related."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://docs.gtk.org/gobject/"
+
+[source-location]
+base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/arrow-cuda-glib"
+
+[extra]
+content_base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/doc/"
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/c_glib/doc/arrow-dataset-glib.toml.in b/c_glib/doc/arrow-dataset-glib.toml.in
new file mode 100644
index 0000000000000..1e76bab4db30f
--- /dev/null
+++ b/c_glib/doc/arrow-dataset-glib.toml.in
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[library]
+name = "Apache Arrow Dataset GLib"
+version = "@VERSION@"
+browse_url = "https://github.com/apache/arrow/tree/@SOURCE_REFERENCE@/c_glib/arrow-dataset-glib/"
+repository_url = "https://github.com/apache/arrow.git"
+website_url = "https://arrow.apache.org/docs/c_glib/arrow-dataset-glib/"
+authors = "The Apache Software Foundation"
+license = "Apache-2.0"
+description = "Apache Arrow Dataset GLib API"
+dependencies = ["Arrow-1.0"]
+related = ["Gio-2.0", "GObject-2.0"]
+search_index = true
+
+[dependencies."Arrow-1.0"]
+name = "Arrow"
+description = "Apache Arrow GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-glib/"
+
+[related."Gio-2.0"]
+name = "GIO"
+description = "GObject Interfaces and Objects, Networking, IPC, and I/O"
+docs_url = "https://docs.gtk.org/gio/"
+
+[related."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://docs.gtk.org/gobject/"
+
+[source-location]
+base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/arrow-dataset-glib"
+
+[extra]
+content_base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/doc/"
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/c_glib/doc/arrow-dataset-glib/arrow-dataset-glib-docs.xml b/c_glib/doc/arrow-dataset-glib/arrow-dataset-glib-docs.xml
deleted file mode 100644
index e6066379ceba3..0000000000000
--- a/c_glib/doc/arrow-dataset-glib/arrow-dataset-glib-docs.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
- %gtkdocentities;
-]>
-
-
- &package_name; Reference Manual
-
- for &package_string;.
-
-
-
-
-
- Data
-
- Partitioning
-
- Dataset
-
- Dataset factory
-
-
-
- Scan
-
- Fragment
-
- File format
-
-
-
-
-
- Object Hierarchy
-
-
-
- API Index
-
-
-
- Index of deprecated API
-
-
-
- Index of new symbols in 11.0.0
-
-
-
- Index of new symbols in 6.0.0
-
-
-
- Index of new symbols in 5.0.0
-
-
-
- Index of new symbols in 4.0.0
-
-
-
- Index of new symbols in 3.0.0
-
-
-
-
diff --git a/c_glib/doc/arrow-dataset-glib/entities.xml.in b/c_glib/doc/arrow-dataset-glib/entities.xml.in
deleted file mode 100644
index aa5addb4e8431..0000000000000
--- a/c_glib/doc/arrow-dataset-glib/entities.xml.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
diff --git a/c_glib/doc/arrow-dataset-glib/meson.build b/c_glib/doc/arrow-dataset-glib/meson.build
deleted file mode 100644
index ca037b7e36a2e..0000000000000
--- a/c_glib/doc/arrow-dataset-glib/meson.build
+++ /dev/null
@@ -1,83 +0,0 @@
-# -*- indent-tabs-mode: nil -*-
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-package_id = 'arrow-dataset-glib'
-package_name = 'Apache Arrow Dataset GLib'
-entities_conf = configuration_data()
-entities_conf.set('PACKAGE', package_id)
-entities_conf.set('PACKAGE_BUGREPORT',
- 'https://issues.apache.org/jira/browse/ARROW')
-entities_conf.set('PACKAGE_NAME', package_name)
-entities_conf.set('PACKAGE_STRING',
- ' '.join([package_id, version]))
-entities_conf.set('PACKAGE_URL', 'https://arrow.apache.org/')
-entities_conf.set('PACKAGE_VERSION', version)
-configure_file(input: 'entities.xml.in',
- output: 'entities.xml',
- configuration: entities_conf)
-
-private_headers = [
-]
-
-content_files = [
-]
-
-html_images = [
-]
-
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_doc_path = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
-arrow_glib_doc_path = join_paths(data_dir,
- 'gtk-doc',
- 'html',
- 'arrow-glib')
-doc_path = join_paths(data_dir, 'gtk-doc', 'html', package_id)
-
-source_directories = [
- join_paths(meson.source_root(), package_id),
- join_paths(meson.build_root(), package_id),
-]
-dependencies = [
- arrow_glib,
- arrow_dataset_glib,
-]
-ignore_headers = []
-gnome.gtkdoc(package_id,
- main_xml: package_id + '-docs.xml',
- src_dir: source_directories,
- dependencies: dependencies,
- ignore_headers: ignore_headers,
- gobject_typesfile: package_id + '.types',
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GARROW_DISABLE_DEPRECATED',
- ],
- mkdb_args: [
- '--output-format=xml',
- '--name-space=gadataset',
- '--source-suffixes=c,cpp,h',
- ],
- fixxref_args: [
- '--html-dir=' + doc_path,
- '--extra-dir=' + join_paths(glib_doc_path, 'glib'),
- '--extra-dir=' + join_paths(glib_doc_path, 'gobject'),
- '--extra-dir=' + arrow_glib_doc_path,
- ],
- html_assets: html_images,
- install: true)
diff --git a/c_glib/doc/arrow-flight-glib.toml.in b/c_glib/doc/arrow-flight-glib.toml.in
new file mode 100644
index 0000000000000..9fef030f431f6
--- /dev/null
+++ b/c_glib/doc/arrow-flight-glib.toml.in
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[library]
+name = "Apache Arrow Flight GLib"
+version = "@VERSION@"
+browse_url = "https://github.com/apache/arrow/tree/@SOURCE_REFERENCE@/c_glib/arrow-flight-glib/"
+repository_url = "https://github.com/apache/arrow.git"
+website_url = "https://arrow.apache.org/docs/c_glib/arrow-flight-glib/"
+authors = "The Apache Software Foundation"
+license = "Apache-2.0"
+description = "Apache Arrow Flight GLib API"
+dependencies = ["Arrow-1.0"]
+related = ["Gio-2.0", "GObject-2.0"]
+search_index = true
+
+[dependencies."Arrow-1.0"]
+name = "Arrow"
+description = "Apache Arrow GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-glib/"
+
+[related."Gio-2.0"]
+name = "GIO"
+description = "GObject Interfaces and Objects, Networking, IPC, and I/O"
+docs_url = "https://docs.gtk.org/gio/"
+
+[related."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://docs.gtk.org/gobject/"
+
+[source-location]
+base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/arrow-flight-glib"
+
+[extra]
+content_base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/doc/"
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/c_glib/doc/arrow-flight-glib/arrow-flight-glib-docs.xml b/c_glib/doc/arrow-flight-glib/arrow-flight-glib-docs.xml
deleted file mode 100644
index e58ff375c5964..0000000000000
--- a/c_glib/doc/arrow-flight-glib/arrow-flight-glib-docs.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
- %gtkdocentities;
-]>
-
-
- &package_name; Reference Manual
-
- for &package_string;.
-
-
-
-
-
- RPC
-
-
-
-
-
-
- Object Hierarchy
-
-
-
- API Index
-
-
-
- Index of deprecated API
-
-
-
- Index of new symbols in 14.0.0
-
-
-
- Index of new symbols in 12.0.0
-
-
-
- Index of new symbols in 6.0.0
-
-
-
- Index of new symbols in 5.0.0
-
-
-
-
diff --git a/c_glib/doc/arrow-flight-glib/entities.xml.in b/c_glib/doc/arrow-flight-glib/entities.xml.in
deleted file mode 100644
index aa5addb4e8431..0000000000000
--- a/c_glib/doc/arrow-flight-glib/entities.xml.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
diff --git a/c_glib/doc/arrow-flight-glib/meson.build b/c_glib/doc/arrow-flight-glib/meson.build
deleted file mode 100644
index 64524409c72df..0000000000000
--- a/c_glib/doc/arrow-flight-glib/meson.build
+++ /dev/null
@@ -1,83 +0,0 @@
-# -*- indent-tabs-mode: nil -*-
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-package_id = 'arrow-flight-glib'
-package_name = 'Apache Arrow Flight GLib'
-entities_conf = configuration_data()
-entities_conf.set('PACKAGE', package_id)
-entities_conf.set('PACKAGE_BUGREPORT',
- 'https://issues.apache.org/jira/browse/ARROW')
-entities_conf.set('PACKAGE_NAME', package_name)
-entities_conf.set('PACKAGE_STRING',
- ' '.join([package_id, version]))
-entities_conf.set('PACKAGE_URL', 'https://arrow.apache.org/')
-entities_conf.set('PACKAGE_VERSION', version)
-configure_file(input: 'entities.xml.in',
- output: 'entities.xml',
- configuration: entities_conf)
-
-private_headers = [
-]
-
-content_files = [
-]
-
-html_images = [
-]
-
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_doc_path = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
-arrow_glib_doc_path = join_paths(data_dir,
- 'gtk-doc',
- 'html',
- 'arrow-glib')
-doc_path = join_paths(data_dir, 'gtk-doc', 'html', package_id)
-
-source_directories = [
- join_paths(meson.source_root(), package_id),
- join_paths(meson.build_root(), package_id),
-]
-dependencies = [
- arrow_glib,
- arrow_flight_glib,
-]
-ignore_headers = []
-gnome.gtkdoc(package_id,
- main_xml: package_id + '-docs.xml',
- src_dir: source_directories,
- dependencies: dependencies,
- ignore_headers: ignore_headers,
- gobject_typesfile: package_id + '.types',
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GARROW_DISABLE_DEPRECATED',
- ],
- mkdb_args: [
- '--output-format=xml',
- '--name-space=gaflight',
- '--source-suffixes=c,cpp,h',
- ],
- fixxref_args: [
- '--html-dir=' + doc_path,
- '--extra-dir=' + join_paths(glib_doc_path, 'glib'),
- '--extra-dir=' + join_paths(glib_doc_path, 'gobject'),
- '--extra-dir=' + arrow_glib_doc_path,
- ],
- html_assets: html_images,
- install: true)
diff --git a/c_glib/doc/arrow-flight-sql-glib.toml.in b/c_glib/doc/arrow-flight-sql-glib.toml.in
new file mode 100644
index 0000000000000..e4b9c3a83aa33
--- /dev/null
+++ b/c_glib/doc/arrow-flight-sql-glib.toml.in
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[library]
+name = "Apache Arrow Flight SQL GLib"
+version = "@VERSION@"
+browse_url = "https://github.com/apache/arrow/tree/@SOURCE_REFERENCE@/c_glib/arrow-flight-sql-glib/"
+repository_url = "https://github.com/apache/arrow.git"
+website_url = "https://arrow.apache.org/docs/c_glib/arrow-flight-sql-glib/"
+authors = "The Apache Software Foundation"
+license = "Apache-2.0"
+description = "Apache Arrow Flight SQL GLib API"
+dependencies = ["ArrowFlight-1.0", "Arrow-1.0"]
+related = ["GObject-2.0"]
+search_index = true
+
+[dependencies."ArrowFlight-1.0"]
+name = "ArrowFlight"
+description = "Apache Arrow Flight GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-flight-glib/"
+
+[dependencies."Arrow-1.0"]
+name = "Arrow"
+description = "Apache Arrow GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-glib/"
+
+[related."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://docs.gtk.org/gobject/"
+
+[source-location]
+base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/arrow-flight-sql-glib"
+
+[extra]
+content_base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/doc/"
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/c_glib/doc/arrow-flight-sql-glib/arrow-flight-sql-glib-docs.xml b/c_glib/doc/arrow-flight-sql-glib/arrow-flight-sql-glib-docs.xml
deleted file mode 100644
index f87d657461140..0000000000000
--- a/c_glib/doc/arrow-flight-sql-glib/arrow-flight-sql-glib-docs.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
- %gtkdocentities;
-]>
-
-
- &package_name; Reference Manual
-
- for &package_string;.
-
-
-
-
-
- SQL
-
-
-
-
-
- Object Hierarchy
-
-
-
- API Index
-
-
-
- Index of deprecated API
-
-
-
- Index of new symbols in 14.0.0
-
-
-
- Index of new symbols in 13.0.0
-
-
-
- Index of new symbols in 9.0.0
-
-
-
-
diff --git a/c_glib/doc/arrow-flight-sql-glib/entities.xml.in b/c_glib/doc/arrow-flight-sql-glib/entities.xml.in
deleted file mode 100644
index aa5addb4e8431..0000000000000
--- a/c_glib/doc/arrow-flight-sql-glib/entities.xml.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
diff --git a/c_glib/doc/arrow-flight-sql-glib/meson.build b/c_glib/doc/arrow-flight-sql-glib/meson.build
deleted file mode 100644
index 46a7cc490595e..0000000000000
--- a/c_glib/doc/arrow-flight-sql-glib/meson.build
+++ /dev/null
@@ -1,89 +0,0 @@
-# -*- indent-tabs-mode: nil -*-
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-package_id = 'arrow-flight-sql-glib'
-package_name = 'Apache Arrow Flight SQL GLib'
-entities_conf = configuration_data()
-entities_conf.set('PACKAGE', package_id)
-entities_conf.set('PACKAGE_BUGREPORT',
- 'https://issues.apache.org/jira/browse/ARROW')
-entities_conf.set('PACKAGE_NAME', package_name)
-entities_conf.set('PACKAGE_STRING',
- ' '.join([package_id, version]))
-entities_conf.set('PACKAGE_URL', 'https://arrow.apache.org/')
-entities_conf.set('PACKAGE_VERSION', version)
-configure_file(input: 'entities.xml.in',
- output: 'entities.xml',
- configuration: entities_conf)
-
-private_headers = [
-]
-
-content_files = [
-]
-
-html_images = [
-]
-
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_doc_path = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
-arrow_glib_doc_path = join_paths(data_dir,
- 'gtk-doc',
- 'html',
- 'arrow-glib')
-arrow_flight_glib_doc_path = join_paths(data_dir,
- 'gtk-doc',
- 'html',
- 'arrow-flight-glib')
-doc_path = join_paths(data_dir, 'gtk-doc', 'html', package_id)
-
-source_directories = [
- join_paths(meson.source_root(), package_id),
- join_paths(meson.build_root(), package_id),
-]
-dependencies = [
- arrow_glib,
- arrow_flight_glib,
- arrow_flight_sql_glib,
-]
-ignore_headers = []
-gnome.gtkdoc(package_id,
- main_xml: package_id + '-docs.xml',
- src_dir: source_directories,
- dependencies: dependencies,
- ignore_headers: ignore_headers,
- gobject_typesfile: package_id + '.types',
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GARROW_DISABLE_DEPRECATED',
- ],
- mkdb_args: [
- '--output-format=xml',
- '--name-space=gaflightsql',
- '--source-suffixes=c,cpp,h',
- ],
- fixxref_args: [
- '--html-dir=' + doc_path,
- '--extra-dir=' + join_paths(glib_doc_path, 'glib'),
- '--extra-dir=' + join_paths(glib_doc_path, 'gobject'),
- '--extra-dir=' + arrow_glib_doc_path,
- '--extra-dir=' + arrow_flight_glib_doc_path,
- ],
- html_assets: html_images,
- install: true)
diff --git a/c_glib/doc/arrow-glib.toml.in b/c_glib/doc/arrow-glib.toml.in
new file mode 100644
index 0000000000000..28402310d500a
--- /dev/null
+++ b/c_glib/doc/arrow-glib.toml.in
@@ -0,0 +1,87 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[library]
+name = "Apache Arrow GLib"
+version = "@VERSION@"
+browse_url = "https://github.com/apache/arrow/tree/@SOURCE_REFERENCE@/c_glib/arrow-glib/"
+repository_url = "https://github.com/apache/arrow.git"
+website_url = "https://arrow.apache.org/docs/c_glib/arrow-glib/"
+authors = "The Apache Software Foundation"
+license = "Apache-2.0"
+description = "Apache Arrow GLib API"
+dependencies = ["Gio-2.0", "GObject-2.0"]
+related = [
+ "ArrowCUDA-1.0",
+ "ArrowData-1.0",
+ "ArrowFlight-1.0",
+ "ArrowFlightSQL-1.0",
+ "Gandiva-1.0",
+ "Parquet-1.0",
+]
+search_index = true
+
+[dependencies."Gio-2.0"]
+name = "Gio"
+description = "GObject Interfaces and Objects, Networking, IPC, and I/O"
+docs_url = "https://docs.gtk.org/gio/"
+
+[dependencies."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://docs.gtk.org/gobject/"
+
+[related."ArrowCUDA-1.0"]
+name = "Apache Arrow CUDA GLib"
+description = "Apache Arrow CUDA GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-cuda-glib/"
+
+[related."ArrowDataset-1.0"]
+name = "Apache Arrow Dataset GLib"
+description = "Apache Arrow Dataset GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-dataset-glib/"
+
+[related."ArrowFlight-1.0"]
+name = "Apache Arrow Flight GLib"
+description = "Apache Arrow Flight GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-flight-glib/"
+
+[related."ArrowFlightSQL-1.0"]
+name = "Apache Arrow FlightSQL GLib"
+description = "Apache Arrow FlightSQL GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-flight-sql-glib/"
+
+[related."Gandiva-1.0"]
+name = "Apache Gandiva GLib"
+description = "Apache Gandiva GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/gandiva-glib/"
+
+[related."Parquet-1.0"]
+name = "Apache Parquet GLib"
+description = "Apache Parquet GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-parquet-glib/"
+
+[source-location]
+base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/arrow-glib"
+
+[extra]
+content_base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/doc/"
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/c_glib/doc/arrow-glib/arrow-glib-docs.xml b/c_glib/doc/arrow-glib/arrow-glib-docs.xml
deleted file mode 100644
index e92eb955675ed..0000000000000
--- a/c_glib/doc/arrow-glib/arrow-glib-docs.xml
+++ /dev/null
@@ -1,313 +0,0 @@
-
-
-
-
- %gtkdocentities;
-]>
-
-
- &package_name; Reference Manual
-
- for &package_string;.
-
-
-
-
-
- Data
-
- Array
-
-
-
-
- Array builder
-
-
-
- Tensor
-
-
-
- Value
-
-
-
-
- Scalar
-
-
-
- Type
-
-
-
-
-
- Schema
-
-
-
-
- Table
-
-
-
-
-
- Table builder
-
-
-
- Computation
-
-
-
-
-
- Buffer
-
-
-
- Codec
-
-
-
- Error
-
-
-
-
-
- File system API
-
- File system
-
-
-
- Local file system
-
-
-
-
-
- IO
-
- Mode
-
-
-
- Input
-
-
-
-
- Output
-
-
-
-
-
- Input and output
-
-
-
-
-
- IPC
-
- Metadata
-
-
-
- Options
-
-
-
- Reader
-
-
-
-
- Writer
-
-
-
-
-
- GPU
-
- CUDA
-
-
-
-
-
- Memory
-
- Memory pool
-
-
-
-
-
- Misc
-
- Version
-
-
-
-
-
- Object Hierarchy
-
-
-
- API Index
-
-
-
- Index of deprecated API
-
-
-
- Index of new symbols in 16.0.0
-
-
-
- Index of new symbols in 13.0.0
-
-
-
- Index of new symbols in 12.0.0
-
-
-
- Index of new symbols in 11.0.0
-
-
-
- Index of new symbols in 10.0.0
-
-
-
- Index of new symbols in 9.0.0
-
-
-
- Index of new symbols in 8.0.0
-
-
-
- Index of new symbols in 7.0.0
-
-
-
- Index of new symbols in 6.0.0
-
-
-
- Index of new symbols in 5.0.0
-
-
-
- Index of new symbols in 4.0.0
-
-
-
- Index of new symbols in 3.0.0
-
-
-
- Index of new symbols in 2.0.0
-
-
-
- Index of new symbols in 1.0.0
-
-
-
- Index of new symbols in 0.17.0
-
-
-
- Index of new symbols in 0.16.0
-
-
-
- Index of new symbols in 0.15.0
-
-
-
- Index of new symbols in 0.14.0
-
-
-
- Index of new symbols in 0.13.0
-
-
-
- Index of new symbols in 0.12.0
-
-
-
- Index of new symbols in 0.11.0
-
-
-
- Index of new symbols in 0.10.0
-
-
-
- Index of new symbols in 0.9.0
-
-
-
- Index of new symbols in 0.8.0
-
-
-
- Index of new symbols in 0.7.0
-
-
-
- Index of new symbols in 0.6.0
-
-
-
- Index of new symbols in 0.5.0
-
-
-
- Index of new symbols in 0.4.0
-
-
-
- Index of new symbols in 0.3.0
-
-
-
-
diff --git a/c_glib/doc/arrow-glib/entities.xml.in b/c_glib/doc/arrow-glib/entities.xml.in
deleted file mode 100644
index aa5addb4e8431..0000000000000
--- a/c_glib/doc/arrow-glib/entities.xml.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
diff --git a/c_glib/doc/arrow-glib/meson.build b/c_glib/doc/arrow-glib/meson.build
deleted file mode 100644
index eeb2fd85dad48..0000000000000
--- a/c_glib/doc/arrow-glib/meson.build
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- indent-tabs-mode: nil -*-
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-package_id = meson.project_name()
-package_name = 'Apache Arrow GLib'
-entities_conf = configuration_data()
-entities_conf.set('PACKAGE', package_id)
-entities_conf.set('PACKAGE_BUGREPORT',
- 'https://issues.apache.org/jira/browse/ARROW')
-entities_conf.set('PACKAGE_NAME', package_name)
-entities_conf.set('PACKAGE_STRING',
- ' '.join([package_name, version]))
-entities_conf.set('PACKAGE_URL', 'https://arrow.apache.org/')
-entities_conf.set('PACKAGE_VERSION', version)
-configure_file(input: 'entities.xml.in',
- output: 'entities.xml',
- configuration: entities_conf)
-
-private_headers = [
-]
-
-content_files = [
-]
-
-html_images = [
-]
-
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_doc_path = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
-doc_path = join_paths(data_dir, 'gtk-doc', 'html', package_id)
-
-source_directories = [
- join_paths(meson.source_root(), package_id),
- join_paths(meson.build_root(), package_id),
-]
-dependencies = [
- arrow_glib,
-]
-if arrow_cuda.found()
- source_directories += [
- join_paths(meson.source_root(), 'arrow-cuda-glib'),
- join_paths(meson.build_root(), 'arrow-cuda-glib'),
- ]
- dependencies += [
- arrow_cuda_glib,
- ]
-endif
-ignore_headers = [
- join_paths(meson.source_root(), 'arrow-glib', 'gobject-type.h'),
-]
-if not have_arrow_orc
- ignore_headers += [
- join_paths(meson.source_root(), 'arrow-glib', 'orc-file-reader.h'),
- ]
-endif
-gnome.gtkdoc(package_id,
- main_xml: package_id + '-docs.xml',
- src_dir: source_directories,
- dependencies: dependencies,
- ignore_headers: ignore_headers,
- gobject_typesfile: package_id + '.types',
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GARROW_DISABLE_DEPRECATED',
- ],
- mkdb_args: [
- '--output-format=xml',
- '--name-space=garrow',
- '--source-suffixes=c,cpp,h',
- ],
- fixxref_args: [
- '--html-dir=' + doc_path,
- '--extra-dir=' + join_paths(glib_doc_path, 'glib'),
- '--extra-dir=' + join_paths(glib_doc_path, 'gobject'),
- ],
- html_assets: html_images,
- install: true)
diff --git a/c_glib/doc/gandiva-glib.toml.in b/c_glib/doc/gandiva-glib.toml.in
new file mode 100644
index 0000000000000..56bf5b75d7f68
--- /dev/null
+++ b/c_glib/doc/gandiva-glib.toml.in
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[library]
+name = "Apache Arrow Gandiva GLib"
+version = "@VERSION@"
+browse_url = "https://github.com/apache/arrow/tree/@SOURCE_REFERENCE@/c_glib/gandiva-glib/"
+repository_url = "https://github.com/apache/arrow.git"
+website_url = "https://arrow.apache.org/docs/c_glib/gandiva-glib/"
+authors = "The Apache Software Foundation"
+license = "Apache-2.0"
+description = "Apache Arrow Gandiva GLib API"
+dependencies = ["Arrow-1.0"]
+related = ["Parquet-1.0", "GObject-2.0"]
+search_index = true
+
+[dependencies."Arrow-1.0"]
+name = "Arrow"
+description = "Apache Arrow GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-glib/"
+
+[related."Parquet-1.0"]
+name = "Apache Parquet GLib"
+description = "Apache Parquet GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-parquet-glib/"
+
+[related."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://docs.gtk.org/gobject/"
+
+[source-location]
+base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/gandiva-glib"
+
+[extra]
+content_base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/doc/"
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/c_glib/doc/gandiva-glib/entities.xml.in b/c_glib/doc/gandiva-glib/entities.xml.in
deleted file mode 100644
index aa5addb4e8431..0000000000000
--- a/c_glib/doc/gandiva-glib/entities.xml.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
diff --git a/c_glib/doc/gandiva-glib/gandiva-glib-docs.xml b/c_glib/doc/gandiva-glib/gandiva-glib-docs.xml
deleted file mode 100644
index a5c32f11337e8..0000000000000
--- a/c_glib/doc/gandiva-glib/gandiva-glib-docs.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
- %gtkdocentities;
-]>
-
-
- &package_name; Reference Manual
-
- for &package_string;.
-
-
-
-
-
- Evaluate Expression
-
- Expression
-
-
-
- Filter
-
-
-
- Selection vector
-
-
-
- Projector
-
-
-
-
-
- Expression Tree
-
- Node
-
-
-
-
-
- Function
-
- Registry
-
-
-
- Signature
-
-
-
- Native function
-
-
-
-
-
- Misc
-
- Version
-
-
-
-
-
- Object Hierarchy
-
-
-
- API Index
-
-
-
- Index of deprecated API
-
-
-
- Index of new symbols in 15.0.0
-
-
-
- Index of new symbols in 4.0.0
-
-
-
- Index of new symbols in 1.0.0
-
-
-
- Index of new symbols in 0.17.0
-
-
-
- Index of new symbols in 0.15.0
-
-
-
- Index of new symbols in 0.14.0
-
-
-
- Index of new symbols in 0.12.0
-
-
-
-
diff --git a/c_glib/doc/gandiva-glib/meson.build b/c_glib/doc/gandiva-glib/meson.build
deleted file mode 100644
index 7ff815f42a17a..0000000000000
--- a/c_glib/doc/gandiva-glib/meson.build
+++ /dev/null
@@ -1,83 +0,0 @@
-# -*- indent-tabs-mode: nil -*-
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-package_id = 'gandiva-glib'
-package_name = 'Gandiva GLib'
-entities_conf = configuration_data()
-entities_conf.set('PACKAGE', package_id)
-entities_conf.set('PACKAGE_BUGREPORT',
- 'https://issues.apache.org/jira/browse/ARROW')
-entities_conf.set('PACKAGE_NAME', package_name)
-entities_conf.set('PACKAGE_STRING',
- ' '.join([package_name, version]))
-entities_conf.set('PACKAGE_URL', 'https://arrow.apache.org/')
-entities_conf.set('PACKAGE_VERSION', version)
-configure_file(input: 'entities.xml.in',
- output: 'entities.xml',
- configuration: entities_conf)
-
-private_headers = [
-]
-
-content_files = [
-]
-
-html_images = [
-]
-
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_doc_path = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
-arrow_glib_doc_path = join_paths(data_dir,
- 'gtk-doc',
- 'html',
- 'arrow-glib')
-doc_path = join_paths(data_dir, 'gtk-doc', 'html', package_id)
-
-source_directories = [
- join_paths(meson.source_root(), package_id),
- join_paths(meson.build_root(), package_id),
-]
-dependencies = [
- arrow_glib,
- gandiva_glib,
-]
-ignore_headers = []
-gnome.gtkdoc(package_id,
- main_xml: package_id + '-docs.xml',
- src_dir: source_directories,
- dependencies: dependencies,
- ignore_headers: ignore_headers,
- gobject_typesfile: package_id + '.types',
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GGANDIVA_DISABLE_DEPRECATED',
- ],
- mkdb_args: [
- '--output-format=xml',
- '--name-space=ggandiva',
- '--source-suffixes=c,cpp,h',
- ],
- fixxref_args: [
- '--html-dir=' + doc_path,
- '--extra-dir=' + join_paths(glib_doc_path, 'glib'),
- '--extra-dir=' + join_paths(glib_doc_path, 'gobject'),
- '--extra-dir=' + arrow_glib_doc_path,
- ],
- html_assets: html_images,
- install: true)
diff --git a/c_glib/doc/meson.build b/c_glib/doc/meson.build
new file mode 100644
index 0000000000000..8d0ac4229b2a6
--- /dev/null
+++ b/c_glib/doc/meson.build
@@ -0,0 +1,93 @@
+# -*- indent-tabs-mode: nil -*-
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+source_reference = get_option('source_reference')
+gi_docgen = find_program('gi-docgen')
+
+gi_docgen_toml_conf = configuration_data()
+gi_docgen_toml_conf.set('SOURCE_REFERENCE', source_reference)
+# We can't use "version.replace('-SNAPSHOT', '.dev')" here because
+# Ubuntu 20.04's Meson is < 0.58.0.
+if version_tag == ''
+ gi_docgen_version_tag = ''
+else
+ # GI-DocGen doesn't like MAJOR.MINOR.PATCH-SNAPSHOT format.
+ gi_docgen_version_tag = '.dev'
+endif
+gi_docgen_version = '@0@.@1@.@2@@3@'.format(version_major,
+ version_minor,
+ version_micro,
+ gi_docgen_version_tag)
+gi_docgen_toml_conf.set('VERSION', gi_docgen_version)
+
+gir_top_build_dir = meson.current_build_dir() / '..'
+arrow_glib_gir_dir = gir_top_build_dir / 'arrow-glib'
+arrow_flight_glib_gir_dir = gir_top_build_dir / 'arrow-flight-glib'
+entries = [['arrow-glib', arrow_glib_gir[0]]]
+if arrow_cuda.found()
+ entries += [['arrow-cuda-glib', arrow_cuda_glib_gir[0]]]
+endif
+if arrow_dataset.found()
+ entries += [['arrow-dataset-glib', arrow_dataset_glib_gir[0]]]
+endif
+if arrow_flight.found()
+ entries += [['arrow-flight-glib', arrow_flight_glib_gir[0]]]
+endif
+if arrow_flight_sql.found()
+ entries += [['arrow-flight-sql-glib', arrow_flight_sql_glib_gir[0]]]
+endif
+if gandiva.found()
+ entries += [['gandiva-glib', gandiva_glib_gir[0]]]
+endif
+if parquet.found()
+ entries += [['parquet-glib', parquet_glib_gir[0]]]
+endif
+foreach entry : entries
+ module_name = entry[0]
+ gir = entry[1]
+ gi_docgen_toml = configure_file(input: '@0@.toml.in'.format(module_name),
+ output: '@0@.toml'.format(module_name),
+ configuration: gi_docgen_toml_conf)
+ gir_dir = gir_top_build_dir / module_name
+ current_source_dir = meson.current_source_dir()
+ command = [
+ gi_docgen,
+ 'generate',
+ '--add-include-path=@0@'.format(arrow_flight_glib_gir_dir),
+ '--add-include-path=@0@'.format(arrow_glib_gir_dir),
+ '--add-include-path=@0@'.format(gir_dir),
+ '--config=@INPUT0@',
+ '--content-dir=@0@'.format(current_source_dir),
+ '--no-namespace-dir',
+ '--output-dir=@OUTPUT@',
+ '--quiet',
+ ]
+ if get_option('werror')
+ command += ['--fatal-warnings']
+ endif
+ command += ['@INPUT1@']
+ custom_target('@0@-doc'.format(module_name),
+ input: [gi_docgen_toml, gir],
+ depend_files: ['urlmap.js'],
+ output: module_name,
+ command: command,
+ build_by_default: true,
+ install: true,
+ install_dir: doc_dir)
+endforeach
diff --git a/c_glib/doc/parquet-glib.toml.in b/c_glib/doc/parquet-glib.toml.in
new file mode 100644
index 0000000000000..119ed0b563414
--- /dev/null
+++ b/c_glib/doc/parquet-glib.toml.in
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[library]
+name = "Apache Parquet GLib"
+version = "@VERSION@"
+browse_url = "https://github.com/apache/arrow/tree/@SOURCE_REFERENCE@/c_glib/parquet-glib/"
+repository_url = "https://github.com/apache/arrow.git"
+website_url = "https://arrow.apache.org/docs/c_glib/parquet-glib/"
+authors = "The Apache Software Foundation"
+license = "Apache-2.0"
+description = "Apache Parquet GLib API"
+dependencies = ["Arrow-1.0"]
+related = ["Gio-2.0", "GObject-2.0"]
+search_index = true
+
+[dependencies."Arrow-1.0"]
+name = "Arrow"
+description = "Apache Arrow GLib API"
+docs_url = "https://arrow.apache.org/docs/c_glib/arrow-glib/"
+
+[related."Gio-2.0"]
+name = "GIO"
+description = "GObject Interfaces and Objects, Networking, IPC, and I/O"
+docs_url = "https://docs.gtk.org/gio/"
+
+[related."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://docs.gtk.org/gobject/"
+
+[source-location]
+base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/parquet-glib"
+
+[extra]
+content_base_url = "https://github.com/apache/arrow/blob/@SOURCE_REFERENCE@/c_glib/doc/"
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/c_glib/doc/parquet-glib/entities.xml.in b/c_glib/doc/parquet-glib/entities.xml.in
deleted file mode 100644
index aa5addb4e8431..0000000000000
--- a/c_glib/doc/parquet-glib/entities.xml.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
diff --git a/c_glib/doc/parquet-glib/meson.build b/c_glib/doc/parquet-glib/meson.build
deleted file mode 100644
index f4ee794d05a1a..0000000000000
--- a/c_glib/doc/parquet-glib/meson.build
+++ /dev/null
@@ -1,83 +0,0 @@
-# -*- indent-tabs-mode: nil -*-
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-package_id = 'parquet-glib'
-package_name = 'Apache Parquet GLib'
-entities_conf = configuration_data()
-entities_conf.set('PACKAGE', package_id)
-entities_conf.set('PACKAGE_BUGREPORT',
- 'https://issues.apache.org/jira/browse/PARQUET')
-entities_conf.set('PACKAGE_NAME', package_name)
-entities_conf.set('PACKAGE_STRING',
- ' '.join([package_name, version]))
-entities_conf.set('PACKAGE_URL', 'https://arrow.apache.org/')
-entities_conf.set('PACKAGE_VERSION', version)
-configure_file(input: 'entities.xml.in',
- output: 'entities.xml',
- configuration: entities_conf)
-
-private_headers = [
-]
-
-content_files = [
-]
-
-html_images = [
-]
-
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_doc_path = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
-arrow_glib_doc_path = join_paths(data_dir,
- 'gtk-doc',
- 'html',
- 'arrow-glib')
-doc_path = join_paths(data_dir, 'gtk-doc', 'html', package_id)
-
-source_directories = [
- join_paths(meson.source_root(), package_id),
- join_paths(meson.build_root(), package_id),
-]
-dependencies = [
- parquet_glib,
- arrow_glib,
-]
-ignore_headers = []
-gnome.gtkdoc(package_id,
- main_xml: package_id + '-docs.xml',
- src_dir: source_directories,
- dependencies: dependencies,
- ignore_headers: ignore_headers,
- gobject_typesfile: package_id + '.types',
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GARROW_DISABLE_DEPRECATED',
- ],
- mkdb_args: [
- '--output-format=xml',
- '--name-space=gparquet',
- '--source-suffixes=c,cpp,h',
- ],
- fixxref_args: [
- '--html-dir=' + doc_path,
- '--extra-dir=' + join_paths(glib_doc_path, 'glib'),
- '--extra-dir=' + join_paths(glib_doc_path, 'gobject'),
- '--extra-dir=' + arrow_glib_doc_path,
- ],
- html_assets: html_images,
- install: true)
diff --git a/c_glib/doc/parquet-glib/parquet-glib-docs.xml b/c_glib/doc/parquet-glib/parquet-glib-docs.xml
deleted file mode 100644
index 05cfb74b64b4f..0000000000000
--- a/c_glib/doc/parquet-glib/parquet-glib-docs.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
- %gtkdocentities;
-]>
-
-
- &package_name; Reference Manual
-
- for &package_string;.
-
-
-
-
-
- Arrow
-
- IO
-
-
-
-
-
-
- Data
-
- Meta
-
-
-
-
-
-
- Object Hierarchy
-
-
-
- API Index
-
-
-
- Index of deprecated API
-
-
-
- Index of new symbols in 8.0.0
-
-
-
- Index of new symbols in 6.0.0
-
-
-
- Index of new symbols in 1.0.0
-
-
-
- Index of new symbols in 0.17.0
-
-
-
- Index of new symbols in 0.15.0
-
-
-
- Index of new symbols in 0.12.0
-
-
-
- Index of new symbols in 0.11.0
-
-
-
-
diff --git a/c_glib/doc/urlmap.js b/c_glib/doc/urlmap.js
new file mode 100644
index 0000000000000..4760a3ab04c05
--- /dev/null
+++ b/c_glib/doc/urlmap.js
@@ -0,0 +1,29 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+baseURLs = [
+ ["Arrow", "https://arrow.apache.org/docs/c_glib/arrow-glib/"],
+ ["ArrowCUDA", "https://arrow.apache.org/docs/c_glib/arrow-cuda-glib/"],
+ ["ArrowDataset", "https://arrow.apache.org/docs/c_glib/arrow-dataset-glib/"],
+ ["ArrowFlight", "https://arrow.apache.org/docs/c_glib/arrow-flight-glib/"],
+ ["ArrowFlightSQL", "https://arrow.apache.org/docs/c_glib/arrow-flight-sql-glib/"],
+ ["GIO", "https://docs.gtk.org/gio/"],
+ ["GLib", "https://docs.gtk.org/glib/"],
+ ["GObject", "https://docs.gtk.org/gobject/"],
+ ["Gandiva", "https://arrow.apache.org/docs/c_glib/gandiva-glib/"],
+ ["Parquet", "https://arrow.apache.org/docs/c_glib/parquet-glib/"],
+]
diff --git a/c_glib/example/vala/meson.build b/c_glib/example/vala/meson.build
index 42e40f692a25a..474f0b1e9a51a 100644
--- a/c_glib/example/vala/meson.build
+++ b/c_glib/example/vala/meson.build
@@ -20,8 +20,8 @@
if generate_vapi
vala_example_executable_kwargs = {
'c_args': [
- '-I' + meson.build_root(),
- '-I' + meson.source_root(),
+ '-I' + project_build_root,
+ '-I' + project_source_root,
],
'dependencies': [
arrow_glib_vapi,
diff --git a/c_glib/gandiva-glib/meson.build b/c_glib/gandiva-glib/meson.build
index 52729f64da007..d5cab109dcf89 100644
--- a/c_glib/gandiva-glib/meson.build
+++ b/c_glib/gandiva-glib/meson.build
@@ -111,15 +111,13 @@ if have_gi
'--warn-all',
'--include-uninstalled=./arrow-glib/Arrow-1.0.gir',
],
- fatal_warnings: gi_fatal_warnings,
header: 'gandiva-glib/gandiva-glib.h',
identifier_prefix: 'GGandiva',
includes: [
'Arrow-1.0'
],
- install: true,
+ kwargs: generate_gi_common_args,
namespace: 'Gandiva',
- nsversion: api_version,
sources: sources + c_headers + enums,
symbol_prefix: 'ggandiva')
diff --git a/c_glib/meson.build b/c_glib/meson.build
index ffd41d4d574a7..04d0129855b20 100644
--- a/c_glib/meson.build
+++ b/c_glib/meson.build
@@ -18,11 +18,24 @@
# under the License.
project('arrow-glib', 'c', 'cpp',
- license: 'Apache-2.0',
default_options: [
'c_std=c99',
'cpp_std=c++17',
- ])
+ ],
+ license: 'Apache-2.0',
+ # Debian:
+ # https://packages.debian.org/search?keywords=meson
+ #
+ # * bullseye: 0.56.2
+ # * bullseye-backports:1.0.0
+ # * bookworm: 1.0.0
+ #
+ # Ubuntu:
+ # https://packages.ubuntu.com/search?keywords=meson
+ #
+ # * 20.04: 0.53.2
+ # * 22.04: 0.61.2
+ meson_version: '>=0.53.2')
version = '16.0.0-SNAPSHOT'
if version.endswith('-SNAPSHOT')
@@ -41,9 +54,18 @@ so_version = version_major * 100 + version_minor
so_version_patch = version_micro
library_version = '@0@.@1@.@2@'.format(so_version, so_version_patch, 0)
+if meson.version().version_compare('>=0.56.0')
+ project_build_root = meson.project_build_root()
+ project_source_root = meson.project_source_root()
+else
+ project_build_root = meson.build_root()
+ project_source_root = meson.source_root()
+endif
+
prefix = get_option('prefix')
include_dir = join_paths(prefix, get_option('includedir'))
data_dir = join_paths(prefix, get_option('datadir'))
+doc_dir = join_paths(data_dir, 'doc')
gir_dir = join_paths(data_dir, 'gir-1.0')
vapi_dir = join_paths(data_dir, 'vala', 'vapi')
@@ -55,7 +77,13 @@ base_include_directories = [
include_directories('.')
]
-gi_fatal_warnings = (build_machine.system() != 'windows')
+generate_gi_common_args = {
+ 'install': true,
+ 'nsversion': api_version,
+}
+if get_option('werror') and meson.version().version_compare('>=0.55.0')
+ generate_gi_common_args += {'fatal_warnings': true}
+endif
have_gi = dependency('gobject-introspection-1.0', required: false).found()
if have_gi
pkgconfig_variables += ['girdir=@0@'.format(gir_dir)]
@@ -71,7 +99,7 @@ arrow_cpp_build_type = get_option('arrow_cpp_build_type')
if arrow_cpp_build_dir == ''
arrow_cpp_build_lib_dir = ''
else
- arrow_cpp_build_lib_dir = join_paths(meson.source_root(),
+ arrow_cpp_build_lib_dir = join_paths(project_source_root,
arrow_cpp_build_dir,
arrow_cpp_build_type.to_lower())
endif
@@ -166,36 +194,23 @@ if parquet.found()
endif
subdir('example')
-if get_option('gtk_doc')
- subdir('doc/arrow-glib')
- if arrow_dataset.found()
- subdir('doc/arrow-dataset-glib')
- endif
- if arrow_flight.found()
- subdir('doc/arrow-flight-glib')
- endif
- if arrow_flight_sql.found()
- subdir('doc/arrow-flight-sql-glib')
- endif
- if gandiva.found()
- subdir('doc/gandiva-glib')
- endif
- if parquet.found()
- subdir('doc/parquet-glib')
- endif
+if get_option('doc')
+ subdir('doc')
endif
install_data('../LICENSE.txt',
'README.md',
- install_dir: join_paths(data_dir, 'doc', meson.project_name()))
+ install_dir: data_dir / meson.project_name())
run_test = find_program('test/run-test.sh')
test('unit test',
run_test,
env: [
- 'ARROW_GLIB_TYPELIB_DIR=@0@/arrow-glib'.format(meson.build_root()),
- 'ARROW_CUDA_GLIB_TYPELIB_DIR=@0@/arrow-cuda-glib'.format(meson.build_root()),
- 'ARROW_DATASET_GLIB_TYPELIB_DIR=@0@/arrow-dataset-glib'.format(meson.build_root()),
- 'GANDIVA_GLIB_TYPELIB_DIR=@0@/gandiva-glib'.format(meson.build_root()),
- 'PARQUET_GLIB_TYPELIB_DIR=@0@/parquet-glib'.format(meson.build_root()),
+ 'ARROW_CUDA_GLIB_TYPELIB_DIR=@0@/arrow-cuda-glib'.format(project_build_root),
+ 'ARROW_DATASET_GLIB_TYPELIB_DIR=@0@/arrow-dataset-glib'.format(project_build_root),
+ 'ARROW_FLIGHT_GLIB_TYPELIB_DIR=@0@/arrow-flight-glib'.format(project_build_root),
+ 'ARROW_FLIGHT_SQL_GLIB_TYPELIB_DIR=@0@/arrow-flight-sql-glib'.format(project_build_root),
+ 'ARROW_GLIB_TYPELIB_DIR=@0@/arrow-glib'.format(project_build_root),
+ 'GANDIVA_GLIB_TYPELIB_DIR=@0@/gandiva-glib'.format(project_build_root),
+ 'PARQUET_GLIB_TYPELIB_DIR=@0@/parquet-glib'.format(project_build_root),
])
diff --git a/c_glib/meson_options.txt b/c_glib/meson_options.txt
index 6631fccf2d73e..e2aa74872d9e7 100644
--- a/c_glib/meson_options.txt
+++ b/c_glib/meson_options.txt
@@ -27,10 +27,22 @@ option('arrow_cpp_build_type',
value: 'release',
description: '-DCMAKE_BUILD_TYPE option value for Arrow C++')
+option('doc',
+ type: 'boolean',
+ value: false,
+ description: 'Build document')
+
option('gtk_doc',
type: 'boolean',
value: false,
- description: 'Build document by GTK-Doc')
+ # This requires Meson 0.63.0 or later
+ # deprecated: 'doc',
+ description: 'Build document')
+
+option('source_reference',
+ type: 'string',
+ value: 'main',
+ description: 'Source reference (revision/branch/tag/...) to refer source URL in documents generated by GI-DocGen')
option('vapi',
type: 'boolean',
diff --git a/c_glib/parquet-glib/meson.build b/c_glib/parquet-glib/meson.build
index 08288484bf9b4..67de0bf2d91fb 100644
--- a/c_glib/parquet-glib/meson.build
+++ b/c_glib/parquet-glib/meson.build
@@ -80,15 +80,13 @@ if have_gi
'--warn-all',
'--include-uninstalled=./arrow-glib/Arrow-1.0.gir',
],
- fatal_warnings: gi_fatal_warnings,
header: 'parquet-glib/parquet-glib.h',
identifier_prefix: 'GParquet',
includes: [
'Arrow-1.0',
],
- install: true,
+ kwargs: generate_gi_common_args,
namespace: 'Parquet',
- nsversion: api_version,
sources: sources + c_headers,
symbol_prefix: 'gparquet')
diff --git a/ci/docker/linux-apt-c-glib.dockerfile b/ci/docker/linux-apt-c-glib.dockerfile
index dd2e2ac438220..b89301bedafe4 100644
--- a/ci/docker/linux-apt-c-glib.dockerfile
+++ b/ci/docker/linux-apt-c-glib.dockerfile
@@ -20,7 +20,7 @@ FROM ${base}
RUN apt-get update -y -q && \
apt-get install -y -q \
- gtk-doc-tools \
+ gi-docgen \
libgirepository1.0-dev \
libglib2.0-doc \
lsb-release \
diff --git a/ci/docker/linux-apt-docs.dockerfile b/ci/docker/linux-apt-docs.dockerfile
index 3d102796b8c00..93412ca81cdd5 100644
--- a/ci/docker/linux-apt-docs.dockerfile
+++ b/ci/docker/linux-apt-docs.dockerfile
@@ -35,8 +35,8 @@ RUN apt-get update -y && \
automake \
curl \
doxygen \
+ gi-docgen \
gobject-introspection \
- gtk-doc-tools \
libcurl4-openssl-dev \
libfontconfig1-dev \
libfribidi-dev \
diff --git a/ci/scripts/c_glib_build.sh b/ci/scripts/c_glib_build.sh
index 6e3e33afb150a..c4d2c4fdb5617 100755
--- a/ci/scripts/c_glib_build.sh
+++ b/ci/scripts/c_glib_build.sh
@@ -26,7 +26,7 @@ build_root=${2}
: ${ARROW_GLIB_WERROR:=false}
: ${ARROW_GLIB_VAPI:=true}
: ${BUILD_DOCS_C_GLIB:=OFF}
-with_gtk_doc=$([ "${BUILD_DOCS_C_GLIB}" == "ON" ] && echo "true" || echo "false")
+with_doc=$([ "${BUILD_DOCS_C_GLIB}" == "ON" ] && echo "true" || echo "false")
export PKG_CONFIG_PATH=${ARROW_HOME}/lib/pkgconfig
@@ -39,7 +39,7 @@ mkdir -p ${build_dir}
meson setup \
--prefix=$ARROW_HOME \
--libdir=lib \
- -Dgtk_doc=${with_gtk_doc} \
+ -Ddoc=${with_doc} \
-Dvapi=${ARROW_GLIB_VAPI} \
-Dwerror=${ARROW_GLIB_WERROR} \
${build_dir} \
@@ -52,5 +52,5 @@ popd
if [ "${BUILD_DOCS_C_GLIB}" == "ON" ]; then
mkdir -p ${build_root}/docs/c_glib
- rsync -a ${ARROW_HOME}/share/gtk-doc/html/ ${build_root}/docs/c_glib
+ cp -a ${ARROW_HOME}/share/doc/*-glib/ ${build_root}/docs/c_glib/
fi
diff --git a/ci/scripts/msys2_setup.sh b/ci/scripts/msys2_setup.sh
index 8bd36328ec607..155522342eb9f 100755
--- a/ci/scripts/msys2_setup.sh
+++ b/ci/scripts/msys2_setup.sh
@@ -68,7 +68,6 @@ esac
case "${target}" in
c_glib|ruby)
packages+=(${MINGW_PACKAGE_PREFIX}-gobject-introspection)
- packages+=(${MINGW_PACKAGE_PREFIX}-gtk-doc)
packages+=(${MINGW_PACKAGE_PREFIX}-meson)
packages+=(${MINGW_PACKAGE_PREFIX}-vala)
;;
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile
index 762bc909e1cc9..f7aa57848bd36 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile
@@ -42,8 +42,8 @@ RUN \
cmake \
debhelper \
devscripts \
+ gi-docgen \
git \
- gtk-doc-tools \
libboost-filesystem-dev \
libboost-system-dev \
libbrotli-dev \
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile
index 86cea77c14527..2edcd4d5ed216 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile
@@ -22,6 +22,10 @@ RUN \
echo "debconf debconf/frontend select Noninteractive" | \
debconf-set-selections
+RUN \
+ echo "deb http://deb.debian.org/debian bullseye-backports main" > \
+ /etc/apt/sources.list.d/backports.list
+
RUN \
echo 'APT::Install-Recommends "false";' > \
/etc/apt/apt.conf.d/disable-install-recommends
@@ -39,7 +43,6 @@ RUN \
debhelper \
devscripts \
git \
- gtk-doc-tools \
libboost-filesystem-dev \
libboost-system-dev \
libbrotli-dev \
@@ -63,7 +66,6 @@ RUN \
libzstd-dev \
llvm-dev \
lsb-release \
- meson \
ninja-build \
nlohmann-json3-dev \
pkg-config \
@@ -77,5 +79,9 @@ RUN \
if apt list | grep '^nvidia-cuda-toolkit/'; then \
apt install -y -V ${quiet} nvidia-cuda-toolkit; \
fi && \
+ apt install -y -V -t bullseye-backports ${quiet} \
+ meson && \
+ pip3 install gi-docgen && \
+ ln -fs /usr/local/bin/gi-docgen /usr/bin && \
apt clean && \
rm -rf /var/lib/apt/lists/*
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-trixie/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/debian-trixie/Dockerfile
index 70289e9af7ea0..8a6accbfc8b16 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/debian-trixie/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-trixie/Dockerfile
@@ -43,8 +43,8 @@ RUN \
cmake \
debhelper \
devscripts \
+ gi-docgen \
git \
- gtk-doc-tools \
libboost-filesystem-dev \
libboost-system-dev \
libbrotli-dev \
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile
index 63bafe11fe8e8..fdd0362680c5a 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile
@@ -37,7 +37,6 @@ RUN \
debhelper \
devscripts \
git \
- gtk-doc-tools \
libboost-filesystem-dev \
libboost-system-dev \
libbrotli-dev \
@@ -75,5 +74,7 @@ RUN \
if apt list | grep '^nvidia-cuda-toolkit/'; then \
apt install -y -V ${quiet} nvidia-cuda-toolkit; \
fi && \
+ pip3 install gi-docgen && \
+ ln -fs /usr/local/bin/gi-docgen /usr/bin && \
apt clean && \
rm -rf /var/lib/apt/lists/*
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile
index bbae48b0f2b3b..ad3db51252f87 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile
@@ -36,8 +36,8 @@ RUN \
cmake \
debhelper \
devscripts \
+ gi-docgen \
git \
- gtk-doc-tools \
libboost-filesystem-dev \
libboost-system-dev \
libbrotli-dev \
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-noble/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-noble/Dockerfile
index 33f2d9a35371b..386be00c37ed7 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-noble/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-noble/Dockerfile
@@ -37,8 +37,8 @@ RUN \
cmake \
debhelper \
devscripts \
+ gi-docgen \
git \
- gtk-doc-tools \
libboost-filesystem-dev \
libboost-system-dev \
libbrotli-dev \
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/control.in b/dev/tasks/linux-packages/apache-arrow/debian/control.in
index 5b8de89dcd67e..5258fa97f4b74 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/control.in
+++ b/dev/tasks/linux-packages/apache-arrow/debian/control.in
@@ -5,9 +5,10 @@ Maintainer: Apache Arrow Developers
Build-Depends:
cmake,
debhelper (>= 12),
+# TODO: Enable this after we drop support for Ubuntu 20.04.
+# gi-docgen,
git,
gobject-introspection,
- gtk-doc-tools,
libboost-filesystem-dev,
libboost-system-dev,
libbrotli-dev,
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.doc-base b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.doc-base
index 5ec8156b05d6c..9ce1079019553 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.doc-base
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.doc-base
@@ -5,5 +5,5 @@ Abstract: Apache Arrow Dataset GLib provides an API to read and write semantic d
Section: Programming
Format: HTML
-Index: /usr/share/gtk-doc/html/arrow-dataset-glib/index.html
-Files: /usr/share/gtk-doc/html/arrow-dataset-glib/*.html
+Index: /usr/share/doc/libarrow-dataset-glib-doc/arrow-dataset-glib/index.html
+Files: /usr/share/doc/libarrow-dataset-glib-doc/arrow-dataset-glib/*.html
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.install b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.install
index 523bc206e1e03..4d8e3e11942d9 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.install
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.install
@@ -1 +1 @@
-usr/share/gtk-doc/html/arrow-dataset-glib
+usr/share/doc/arrow-dataset-glib usr/share/doc/libarrow-dataset-glib-doc/
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.links b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.links
index 3d880362b5e9f..a7dd825ecac69 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.links
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.links
@@ -1,3 +1,5 @@
-usr/share/gtk-doc/html/arrow-dataset-glib usr/share/doc/libarrow-dataset-glib-doc/arrow-dataset-glib
+usr/share/doc/libarrow-dataset-glib-doc/arrow-dataset-glib usr/share/devhelp/books/arrow-dataset-glib
+usr/share/doc/libarrow-glib-doc/arrow-glib usr/share/doc/libarrow-dataset-glib-doc/arrow-glib
+usr/share/doc/libglib2.0-doc/gio usr/share/doc/libarrow-dataset-glib-doc/gio
usr/share/doc/libglib2.0-doc/glib usr/share/doc/libarrow-dataset-glib-doc/glib
usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libarrow-dataset-glib-doc/gobject
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.doc-base b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.doc-base
index 94b17c11b9d04..f2fd6f6bfef81 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.doc-base
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.doc-base
@@ -5,5 +5,5 @@ Abstract: Apache Arrow Flight GLib provides a general-purpose client-server fram
Section: Programming
Format: HTML
-Index: /usr/share/gtk-doc/html/arrow-flight-glib/index.html
-Files: /usr/share/gtk-doc/html/arrow-flight-glib/*.html
+Index: /usr/share/doc/libarrow-flight-glib-doc/arrow-flight-glib/index.html
+Files: /usr/share/doc/libarrow-flight-glib-doc/arrow-flight-glib/*.html
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.install b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.install
index 3c95f17ed771a..432b0f0b5d296 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.install
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.install
@@ -1 +1 @@
-usr/share/gtk-doc/html/arrow-flight-glib
+usr/share/doc/arrow-flight-glib usr/share/doc/libarrow-flight-glib-doc/
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.links b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.links
index d55c89a1b0809..5f9a15fc03db0 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.links
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.links
@@ -1,3 +1,5 @@
-usr/share/gtk-doc/html/arrow-flight-glib usr/share/doc/libarrow-flight-glib-doc/arrow-flight-glib
+usr/share/doc/libarrow-flight-glib-doc/arrow-flight-glib usr/share/devhelp/books/arrow-flight-glib
+usr/share/doc/libarrow-glib-doc/arrow-glib usr/share/doc/libarrow-flight-glib-doc/arrow-glib
+usr/share/doc/libglib2.0-doc/gio usr/share/doc/libarrow-flight-glib-doc/gio
usr/share/doc/libglib2.0-doc/glib usr/share/doc/libarrow-flight-glib-doc/glib
usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libarrow-flight-glib-doc/gobject
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.doc-base b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.doc-base
index 5569fa83ed5c5..60a8f18ddcfbd 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.doc-base
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.doc-base
@@ -5,5 +5,5 @@ Abstract: Apache Arrow Flight SQL GLib provides a client-server framework to int
Section: Programming
Format: HTML
-Index: /usr/share/gtk-doc/html/arrow-flight-sql-glib/index.html
-Files: /usr/share/gtk-doc/html/arrow-flight-sql-glib/*.html
+Index: /usr/share/doc/libarrow-flight-sql-glib-doc/arrow-flight-sql-glib/index.html
+Files: /usr/share/doc/libarrow-flight-sql-glib-doc/arrow-flight-sql-glib/*.html
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.install b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.install
index c069c0c67d80d..e1187d1a2c611 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.install
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.install
@@ -1 +1 @@
-usr/share/gtk-doc/html/arrow-flight-sql-glib
+usr/share/doc/arrow-flight-sql-glib usr/share/doc/libarrow-flight-sql-glib-doc/
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.links b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.links
index 96c26e3664d80..1555a20a71002 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.links
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.links
@@ -1,5 +1,6 @@
+usr/share/doc/libarrow-flight-glib-doc/arrow-glib usr/share/doc/libarrow-flight-sql-glib-doc/arrow-flight-glib
+usr/share/doc/libarrow-flight-sql-glib-doc/arrow-flight-sql-glib usr/share/devhelp/books/arrow-flight-sql-glib
+usr/share/doc/libarrow-glib-doc/arrow-glib usr/share/doc/libarrow-flight-sql-glib-doc/arrow-glib
+usr/share/doc/libglib2.0-doc/gio usr/share/doc/libarrow-flight-sql-glib-doc/gio
usr/share/doc/libglib2.0-doc/glib usr/share/doc/libarrow-flight-sql-glib-doc/glib
usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libarrow-flight-sql-glib-doc/gobject
-usr/share/gtk-doc/html/arrow-flight-glib usr/share/doc/libarrow-flight-glib-doc/arrow-flight-glib
-usr/share/gtk-doc/html/arrow-flight-sql-glib usr/share/doc/libarrow-flight-glib-doc/arrow-flight-sql-glib
-usr/share/gtk-doc/html/arrow-glib usr/share/doc/libarrow-flight-glib-doc/arrow-glib
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.doc-base b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.doc-base
index 8ae4ffb6ddaa5..4f0c5acc22240 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.doc-base
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.doc-base
@@ -5,5 +5,5 @@ Abstract: Apache Arrow GLib is a data processing library for analysis that uses
Section: Programming
Format: HTML
-Index: /usr/share/gtk-doc/html/arrow-glib/index.html
-Files: /usr/share/gtk-doc/html/arrow-glib/*.html
+Index: /usr/share/doc/libarrow-glib-doc/arrow-glib/index.html
+Files: /usr/share/doc/libarrow-glib-doc/arrow-glib/*.html
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.install b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.install
index 912a29c585084..f6d4e3cd9d82b 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.install
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.install
@@ -1,2 +1,3 @@
-usr/share/doc/arrow-glib/
-usr/share/gtk-doc/html/arrow-glib
+usr/share/arrow-glib/*.md
+usr/share/arrow-glib/*.txt
+usr/share/doc/arrow-glib usr/share/doc/libarrow-glib-doc/
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.links b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.links
index 556987d0a8065..10689c01e0abc 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.links
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.links
@@ -1,3 +1,4 @@
-usr/share/gtk-doc/html/arrow-glib usr/share/doc/libarrow-glib-doc/arrow-glib
+usr/share/doc/libarrow-glib-doc/arrow-glib usr/share/devhelp/books/arrow-glib
+usr/share/doc/libglib2.0-doc/gio usr/share/doc/libarrow-glib-doc/gio
usr/share/doc/libglib2.0-doc/glib usr/share/doc/libarrow-glib-doc/glib
usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libarrow-glib-doc/gobject
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.doc-base b/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.doc-base
index 2bf913062fb8c..24b1cb83b04d9 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.doc-base
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.doc-base
@@ -5,5 +5,5 @@ Abstract: Gandiva GLib is a toolset for compiling and evaluating expressions on
Section: Programming
Format: HTML
-Index: /usr/share/gtk-doc/html/gandiva-glib/index.html
-Files: /usr/share/gtk-doc/html/gandiva-glib/*.html
+Index: /usr/share/doc/libgandiva-glib-doc/gandiva-glib/index.html
+Files: /usr/share/doc/libgandiva-glib-doc/gandiva-glib/*.html
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.install b/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.install
index 358e4e5c768be..d96dd268c6715 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.install
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.install
@@ -1 +1 @@
-usr/share/gtk-doc/html/gandiva-glib
+usr/share/doc/gandiva-glib usr/share/doc/libgandiva-glib-doc/
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.links b/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.links
index 234794e232efb..2abd41c0bf29a 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.links
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.links
@@ -1,3 +1,4 @@
-usr/share/gtk-doc/html/gandiva-glib usr/share/doc/libgandiva-glib-doc/gandiva-glib
+usr/share/doc/libgandiva-glib-doc/gandiva-glib usr/share/devhelp/books/gandiva-glib
+usr/share/doc/libarrow-glib-doc/arrow-glib usr/share/doc/libgandiva-glib-doc/arrow-glib
usr/share/doc/libglib2.0-doc/glib usr/share/doc/libgandiva-glib-doc/glib
usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libgandiva-glib-doc/gobject
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.doc-base b/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.doc-base
index cc68e2df6c11f..199d9501871d3 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.doc-base
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.doc-base
@@ -5,5 +5,5 @@ Abstract: Apache Parquet GLib is a columnar storage format processing library th
Section: Programming
Format: HTML
-Index: /usr/share/gtk-doc/html/parquet-glib/index.html
-Files: /usr/share/gtk-doc/html/parquet-glib/*.html
+Index: /usr/share/doc/libparquet-glib-doc/parquet-glib/index.html
+Files: /usr/share/doc/libparquet-glib-doc/parquet-glib/*.html
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.install b/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.install
index 5843ea3dab8b3..3b4530cca1f53 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.install
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.install
@@ -1 +1 @@
-usr/share/gtk-doc/html/parquet-glib
+usr/share/doc/parquet-glib usr/share/doc/libparquet-glib-doc/
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.links b/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.links
index c31f346b174d6..e4d32da3b34fc 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.links
+++ b/dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.links
@@ -1,3 +1,5 @@
-usr/share/gtk-doc/html/parquet-glib usr/share/doc/libparquet-glib-doc/parquet-glib
+usr/share/doc/libparquet-glib-doc/parquet-glib usr/share/devhelp/books/parquet-glib
+usr/share/doc/libarrow-glib-doc/arrow-glib usr/share/doc/libparquet-glib-doc/arrow-glib
+usr/share/doc/libglib2.0-doc/gio usr/share/doc/libparquet-glib-doc/gio
usr/share/doc/libglib2.0-doc/glib usr/share/doc/libparquet-glib-doc/glib
usr/share/doc/libglib2.0-doc/gobject usr/share/doc/libparquet-glib-doc/gobject
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/rules b/dev/tasks/linux-packages/apache-arrow/debian/rules
index c5086950511b0..36c43cf0d5968 100755
--- a/dev/tasks/linux-packages/apache-arrow/debian/rules
+++ b/dev/tasks/linux-packages/apache-arrow/debian/rules
@@ -64,7 +64,7 @@ override_dh_auto_build:
-- \
-Darrow_cpp_build_type=$(BUILD_TYPE) \
-Darrow_cpp_build_dir=../cpp_build \
- -Dgtk_doc=true \
+ -Ddoc=true \
-Dvapi=true
env \
LD_LIBRARY_PATH=$(CURDIR)/cpp_build/$(BUILD_TYPE) \
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile
index 5a5fd903bfc36..d846915ab21de 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile
@@ -39,7 +39,6 @@ RUN \
git \
glog-devel \
gobject-introspection-devel \
- gtk-doc \
json-devel \
libarchive \
libzstd-devel \
@@ -61,5 +60,6 @@ RUN \
thrift-devel \
# utf8proc-devel \
vala \
+ which \
zlib-devel && \
dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9/Dockerfile
index f3ae6295dfb47..222ab1b58d34d 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9/Dockerfile
@@ -41,7 +41,6 @@ RUN \
gflags-devel \
git \
gobject-introspection-devel \
- gtk-doc \
json-devel \
libarchive \
libzstd-devel \
@@ -63,5 +62,6 @@ RUN \
thrift-devel \
utf8proc-devel \
vala \
+ which \
zlib-devel && \
dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2023/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2023/Dockerfile
index cc2c55545a07d..7f0f3e90a363a 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2023/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2023/Dockerfile
@@ -38,7 +38,6 @@ RUN \
gobject-introspection-devel \
grpc-devel \
grpc-plugins \
- gtk-doc \
libzstd-devel \
llvm-devel \
lz4-devel \
@@ -49,6 +48,7 @@ RUN \
pkg-config \
protobuf-compiler \
protobuf-devel \
+ python3-pip \
rapidjson-devel \
re2-devel \
rpmdevtools \
@@ -56,5 +56,6 @@ RUN \
tar \
utf8proc-devel \
vala \
+ which \
zlib-devel && \
dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in b/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
index bcdc3ed7d8a7f..4d78fbf3e81c7 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
+++ b/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
@@ -82,6 +82,8 @@
%define have_thrift (%{_rhel} >= 8)
%define have_utf8proc (%{_rhel} >= 9 || %{_amzn} >= 2023)
+%define enable_glib_doc (%{_rhel} >= 9 || %{is_amazon_linux})
+
Name: @PACKAGE@
Version: @VERSION@
Release: @RELEASE@%{?dist}
@@ -142,7 +144,6 @@ BuildRequires: ncurses-devel
%endif
BuildRequires: gobject-introspection-devel
-BuildRequires: gtk-doc
%if %{use_vala}
BuildRequires: vala
%endif
@@ -199,22 +200,25 @@ cd c_glib
%if %{_amzn} >= 2023
# Do nothing
%else
- %if (%{_rhel} >= 8 || "%{_arch}" != "aarch64")
- pip3 install meson
+ %if %{is_centos_7}
+ # Meson 0.62.0 or later requires Python 3.7 or later.
+ pip3 install 'meson<0.62.0'
%else
- # Meson 0.57.0 or later requires Ninja 1.8.2 or later but EPEL for
- # Amazon Linux 2 aarch64 provides Ninja 1.7.2. We can remove
- # '<0.57.0' once we drop support for Amazon Linux 2.
- pip3 install 'meson<0.57.0'
+ pip3 install meson
%endif
%endif
+%if %{enable_glib_doc}
+ pip3 install gi-docgen
+%endif
meson setup build \
--default-library=both \
--libdir=%{_libdir} \
--prefix=%{_prefix} \
-Darrow_cpp_build_dir=../cpp/%{arrow_cmake_builddir} \
-Darrow_cpp_build_type=$cpp_build_type \
- -Dgtk_doc=true \
+%if %{enable_glib_doc}
+ -Ddoc=true \
+%endif
%if %{use_vala}
-Dvapi=true
%endif
@@ -596,8 +600,11 @@ Documentation for Apache Arrow GLib.
%defattr(-,root,root,-)
%doc README.md
%license LICENSE.txt NOTICE.txt
+%{_datadir}/arrow-glib/*.txt
+%{_datadir}/arrow-glib/*.md
+%if %{enable_glib_doc}
%{_docdir}/arrow-glib/
-%{_datadir}/gtk-doc/html/arrow-glib/
+%endif
%package -n %{name}%{major_version}-dataset-glib-libs
Summary: Runtime libraries for Apache Arrow Dataset GLib
@@ -649,7 +656,9 @@ Documentation for Apache Arrow dataset GLib.
%defattr(-,root,root,-)
%doc README.md
%license LICENSE.txt NOTICE.txt
-%{_datadir}/gtk-doc/html/arrow-dataset-glib/
+%if %{enable_glib_doc}
+%{_docdir}/arrow-dataset-glib/
+%endif
%if %{use_flight}
%package -n %{name}%{major_version}-flight-glib-libs
@@ -702,7 +711,9 @@ Documentation for Apache Arrow Flight GLib.
%defattr(-,root,root,-)
%doc README.md
%license LICENSE.txt NOTICE.txt
-%{_datadir}/gtk-doc/html/arrow-flight-glib/
+%if %{enable_glib_doc}
+%{_docdir}/arrow-flight-glib/
+%endif
%package -n %{name}%{major_version}-flight-sql-glib-libs
Summary: Runtime libraries for Apache Arrow Flight SQL GLib
@@ -754,7 +765,9 @@ Documentation for Apache Arrow Flight SQL GLib.
%defattr(-,root,root,-)
%doc README.md
%license LICENSE.txt NOTICE.txt
-%{_datadir}/gtk-doc/html/arrow-flight-sql-glib/
+ %if %{enable_glib_doc}
+%{_docdir}/arrow-flight-sql-glib/
+ %endif
%endif
%if %{use_gandiva}
@@ -808,7 +821,9 @@ Documentation for Gandiva GLib.
%defattr(-,root,root,-)
%doc README.md
%license LICENSE.txt NOTICE.txt
-%{_datadir}/gtk-doc/html/gandiva-glib/
+ %if %{enable_glib_doc}
+%{_docdir}/gandiva-glib/
+ %endif
%endif
%package -n parquet%{major_version}-glib-libs
@@ -861,7 +876,9 @@ Documentation for Apache Parquet GLib.
%defattr(-,root,root,-)
%doc README.md
%license LICENSE.txt NOTICE.txt
-%{_datadir}/gtk-doc/html/parquet-glib/
+%if %{enable_glib_doc}
+%{_docdir}/parquet-glib/
+%endif
%changelog
* Fri Feb 23 2024 Raúl Cumplido - 15.0.1-1
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
index 1da8e0fb79621..3c52a5663f773 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
@@ -44,7 +44,6 @@ RUN \
git \
glog-devel \
gobject-introspection-devel \
- gtk-doc \
json-devel \
libzstd-devel \
lz4-devel \
@@ -58,6 +57,7 @@ RUN \
tar \
thrift-devel \
vala \
+ which \
zlib-devel && \
yum clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
index 5a23c5e04d645..acc29d3e3776c 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
@@ -39,7 +39,6 @@ RUN \
git \
glog-devel \
gobject-introspection-devel \
- gtk-doc \
json-devel \
libarchive \
libzstd-devel \
@@ -60,5 +59,6 @@ RUN \
tar \
thrift-devel \
vala \
+ which \
zlib-devel && \
dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/centos-9-stream/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/centos-9-stream/Dockerfile
index b1e1630103c34..9522d999af5b7 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/centos-9-stream/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/centos-9-stream/Dockerfile
@@ -38,7 +38,6 @@ RUN \
gflags-devel \
git \
gobject-introspection-devel \
- gtk-doc \
json-devel \
libarchive \
libzstd-devel \
@@ -59,5 +58,6 @@ RUN \
thrift-devel \
utf8proc-devel \
vala \
+ which \
zlib-devel && \
dnf clean ${quiet} all