kassane commented on issue #44515:
URL: https://github.com/apache/arrow/issues/44515#issuecomment-2435368712

   > It seems that there is a D tool for GObject Introspection: 
https://github.com/gtkd-developers/gir-to-d
   
   Works!
   
   ```bash
   # $PWD =  arrow/d
   $ girtod -g ../c_glib.build/arrow-glib/ -i Arrow-1.0.gir -o source
   $ girtod -g ../c_glib.build/arrow-glib/ -i 
../arrow-dataset-glib/ArrowDataset-1.0.gir -o source
   $ girtod -g ../c_glib.build/arrow-glib/ -i 
../arrow-flight-glib/ArrowFlight-1.0.gir -o source
   ```
   
   <details>
   <summary>tree-ls output</summary>
   
   ```bash
   $ tree .
   .
   ├── README.md
   ├── dub.sdl
   └── source
       ├── arrow
       │   ├── AggregateNodeOptions.d
       │   ├── Aggregation.d
       │   ├── Array.d
       │   ├── ArrayBuilder.d
       │   ├── ArrayDatum.d
       │   ├── ArraySortOptions.d
       │   ├── AzureFileSystem.d
       │   ├── BaseBinaryScalar.d
       │   ├── BaseListScalar.d
       │   ├── BinaryArray.d
       │   ├── BinaryArrayBuilder.d
       │   ├── BinaryDataType.d
       │   ├── BinaryDictionaryArrayBuilder.d
       │   ├── BinaryScalar.d
       │   ├── BooleanArray.d
       │   ├── BooleanArrayBuilder.d
       │   ├── BooleanDataType.d
       │   ├── BooleanScalar.d
       │   ├── Buffer.d
       │   ├── BufferInputStream.d
       │   ├── BufferOutputStream.d
       │   ├── CSVReadOptions.d
       │   ├── CSVReader.d
       │   ├── CallExpression.d
       │   ├── CastOptions.d
       │   ├── ChunkedArray.d
       │   ├── ChunkedArrayDatum.d
       │   ├── Codec.d
       │   ├── CompressedInputStream.d
       │   ├── CompressedOutputStream.d
       │   ├── CountOptions.d
       │   ├── DataType.d
       │   ├── Date32Array.d
       │   ├── Date32ArrayBuilder.d
       │   ├── Date32DataType.d
       │   ├── Date32Scalar.d
       │   ├── Date64Array.d
       │   ├── Date64ArrayBuilder.d
       │   ├── Date64DataType.d
       │   ├── Date64Scalar.d
       │   ├── Datum.d
       │   ├── DayMillisecond.d
       │   ├── DayTimeIntervalArray.d
       │   ├── DayTimeIntervalArrayBuilder.d
       │   ├── DayTimeIntervalDataType.d
       │   ├── DayTimeIntervalScalar.d
       │   ├── Decimal128.d
       │   ├── Decimal128Array.d
       │   ├── Decimal128ArrayBuilder.d
       │   ├── Decimal128DataType.d
       │   ├── Decimal128Scalar.d
       │   ├── Decimal256.d
       │   ├── Decimal256Array.d
       │   ├── Decimal256ArrayBuilder.d
       │   ├── Decimal256DataType.d
       │   ├── Decimal256Scalar.d
       │   ├── DecimalDataType.d
       │   ├── DenseUnionArray.d
       │   ├── DenseUnionArrayBuilder.d
       │   ├── DenseUnionDataType.d
       │   ├── DenseUnionScalar.d
       │   ├── DictionaryArray.d
       │   ├── DictionaryDataType.d
       │   ├── DoubleArray.d
       │   ├── DoubleArrayBuilder.d
       │   ├── DoubleDataType.d
       │   ├── DoubleScalar.d
       │   ├── EqualOptions.d
       │   ├── ExecuteContext.d
       │   ├── ExecuteNode.d
       │   ├── ExecuteNodeOptions.d
       │   ├── ExecutePlan.d
       │   ├── Expression.d
       │   ├── ExtensionArray.d
       │   ├── ExtensionDataType.d
       │   ├── ExtensionDataTypeRegistry.d
       │   ├── ExtensionScalar.d
       │   ├── FeatherFileReader.d
       │   ├── FeatherWriteProperties.d
       │   ├── Field.d
       │   ├── FieldExpression.d
       │   ├── FileIF.d
       │   ├── FileInfo.d
       │   ├── FileInputStream.d
       │   ├── FileOutputStream.d
       │   ├── FileSelector.d
       │   ├── FileSystem.d
       │   ├── FileT.d
       │   ├── FilterNodeOptions.d
       │   ├── FilterOptions.d
       │   ├── FixedSizeBinaryArray.d
       │   ├── FixedSizeBinaryArrayBuilder.d
       │   ├── FixedSizeBinaryDataType.d
       │   ├── FixedSizeBinaryScalar.d
       │   ├── FixedWidthDataType.d
       │   ├── FloatArray.d
       │   ├── FloatArrayBuilder.d
       │   ├── FloatDataType.d
       │   ├── FloatScalar.d
       │   ├── FloatingPointDataType.d
       │   ├── Function.d
       │   ├── FunctionDoc.d
       │   ├── FunctionOptions.d
       │   ├── GCSFileSystem.d
       │   ├── GIOInputStream.d
       │   ├── GIOOutputStream.d
       │   ├── HDFSFileSystem.d
       │   ├── HalfFloatArray.d
       │   ├── HalfFloatArrayBuilder.d
       │   ├── HalfFloatDataType.d
       │   ├── HalfFloatScalar.d
       │   ├── HashJoinNodeOptions.d
       │   ├── ISO8601TimestampParser.d
       │   ├── IndexOptions.d
       │   ├── InputStream.d
       │   ├── Int16Array.d
       │   ├── Int16ArrayBuilder.d
       │   ├── Int16DataType.d
       │   ├── Int16Scalar.d
       │   ├── Int32Array.d
       │   ├── Int32ArrayBuilder.d
       │   ├── Int32DataType.d
       │   ├── Int32Scalar.d
       │   ├── Int64Array.d
       │   ├── Int64ArrayBuilder.d
       │   ├── Int64DataType.d
       │   ├── Int64Scalar.d
       │   ├── Int8Array.d
       │   ├── Int8ArrayBuilder.d
       │   ├── Int8DataType.d
       │   ├── Int8Scalar.d
       │   ├── IntArrayBuilder.d
       │   ├── IntegerDataType.d
       │   ├── IntervalDataType.d
       │   ├── JSONReadOptions.d
       │   ├── JSONReader.d
       │   ├── LargeBinaryArray.d
       │   ├── LargeBinaryArrayBuilder.d
       │   ├── LargeBinaryDataType.d
       │   ├── LargeBinaryScalar.d
       │   ├── LargeListArray.d
       │   ├── LargeListArrayBuilder.d
       │   ├── LargeListDataType.d
       │   ├── LargeListScalar.d
       │   ├── LargeStringArray.d
       │   ├── LargeStringArrayBuilder.d
       │   ├── LargeStringDataType.d
       │   ├── LargeStringScalar.d
       │   ├── ListArray.d
       │   ├── ListArrayBuilder.d
       │   ├── ListDataType.d
       │   ├── ListScalar.d
       │   ├── LiteralExpression.d
       │   ├── LocalFileSystem.d
       │   ├── LocalFileSystemOptions.d
       │   ├── MapArray.d
       │   ├── MapArrayBuilder.d
       │   ├── MapDataType.d
       │   ├── MapScalar.d
       │   ├── MatchSubstringOptions.d
       │   ├── MemoryMappedInputStream.d
       │   ├── MemoryPool.d
       │   ├── MockFileSystem.d
       │   ├── MonthDayNano.d
       │   ├── MonthDayNanoIntervalArray.d
       │   ├── MonthDayNanoIntervalArrayBuilder.d
       │   ├── MonthDayNanoIntervalDataType.d
       │   ├── MonthDayNanoIntervalScalar.d
       │   ├── MonthIntervalArray.d
       │   ├── MonthIntervalArrayBuilder.d
       │   ├── MonthIntervalDataType.d
       │   ├── MonthIntervalScalar.d
       │   ├── MutableBuffer.d
       │   ├── NullArray.d
       │   ├── NullArrayBuilder.d
       │   ├── NullDataType.d
       │   ├── NullScalar.d
       │   ├── NumericArray.d
       │   ├── NumericDataType.d
       │   ├── ORCFileReader.d
       │   ├── OutputStream.d
       │   ├── PrimitiveArray.d
       │   ├── ProjectNodeOptions.d
       │   ├── QuantileOptions.d
       │   ├── RankOptions.d
       │   ├── ReadOptions.d
       │   ├── ReadableIF.d
       │   ├── ReadableT.d
       │   ├── RecordBatch.d
       │   ├── RecordBatchBuilder.d
       │   ├── RecordBatchDatum.d
       │   ├── RecordBatchFileReader.d
       │   ├── RecordBatchFileWriter.d
       │   ├── RecordBatchIterator.d
       │   ├── RecordBatchReader.d
       │   ├── RecordBatchStreamReader.d
       │   ├── RecordBatchStreamWriter.d
       │   ├── RecordBatchWriter.d
       │   ├── ResizableBuffer.d
       │   ├── RoundOptions.d
       │   ├── RoundToMultipleOptions.d
       │   ├── RunEndEncodeOptions.d
       │   ├── RunEndEncodedArray.d
       │   ├── RunEndEncodedDataType.d
       │   ├── S3FileSystem.d
       │   ├── S3GlobalOptions.d
       │   ├── Scalar.d
       │   ├── ScalarAggregateOptions.d
       │   ├── ScalarDatum.d
       │   ├── Schema.d
       │   ├── SeekableInputStream.d
       │   ├── SetLookupOptions.d
       │   ├── SinkNodeOptions.d
       │   ├── SlowFileSystem.d
       │   ├── SortKey.d
       │   ├── SortOptions.d
       │   ├── SourceNodeOptions.d
       │   ├── SparseUnionArray.d
       │   ├── SparseUnionArrayBuilder.d
       │   ├── SparseUnionDataType.d
       │   ├── SparseUnionScalar.d
       │   ├── SplitPatternOptions.d
       │   ├── StreamDecoder.d
       │   ├── StreamListener.d
       │   ├── StrftimeOptions.d
       │   ├── StringArray.d
       │   ├── StringArrayBuilder.d
       │   ├── StringDataType.d
       │   ├── StringDictionaryArrayBuilder.d
       │   ├── StringScalar.d
       │   ├── StrptimeOptions.d
       │   ├── StrptimeTimestampParser.d
       │   ├── StructArray.d
       │   ├── StructArrayBuilder.d
       │   ├── StructDataType.d
       │   ├── StructFieldOptions.d
       │   ├── StructScalar.d
       │   ├── SubTreeFileSystem.d
       │   ├── Table.d
       │   ├── TableBatchReader.d
       │   ├── TableConcatenateOptions.d
       │   ├── TableDatum.d
       │   ├── TakeOptions.d
       │   ├── TemporalDataType.d
       │   ├── Tensor.d
       │   ├── Time32Array.d
       │   ├── Time32ArrayBuilder.d
       │   ├── Time32DataType.d
       │   ├── Time32Scalar.d
       │   ├── Time64Array.d
       │   ├── Time64ArrayBuilder.d
       │   ├── Time64DataType.d
       │   ├── Time64Scalar.d
       │   ├── TimeDataType.d
       │   ├── TimestampArray.d
       │   ├── TimestampArrayBuilder.d
       │   ├── TimestampDataType.d
       │   ├── TimestampParser.d
       │   ├── TimestampScalar.d
       │   ├── UInt16Array.d
       │   ├── UInt16ArrayBuilder.d
       │   ├── UInt16DataType.d
       │   ├── UInt16Scalar.d
       │   ├── UInt32Array.d
       │   ├── UInt32ArrayBuilder.d
       │   ├── UInt32DataType.d
       │   ├── UInt32Scalar.d
       │   ├── UInt64Array.d
       │   ├── UInt64ArrayBuilder.d
       │   ├── UInt64DataType.d
       │   ├── UInt64Scalar.d
       │   ├── UInt8Array.d
       │   ├── UInt8ArrayBuilder.d
       │   ├── UInt8DataType.d
       │   ├── UInt8Scalar.d
       │   ├── UIntArrayBuilder.d
       │   ├── UTF8NormalizeOptions.d
       │   ├── UnionArray.d
       │   ├── UnionArrayBuilder.d
       │   ├── UnionDataType.d
       │   ├── UnionScalar.d
       │   ├── VarianceOptions.d
       │   ├── WritableFileIF.d
       │   ├── WritableFileT.d
       │   ├── WritableIF.d
       │   ├── WritableT.d
       │   ├── WriteOptions.d
       │   └── c
       │       ├── functions.d
       │       └── types.d
       ├── arrowdataset
       │   ├── CSVFileFormat.d
       │   ├── Dataset.d
       │   ├── DatasetFactory.d
       │   ├── DirectoryPartitioning.d
       │   ├── FileFormat.d
       │   ├── FileSystemDataset.d
       │   ├── FileSystemDatasetFactory.d
       │   ├── FileSystemDatasetWriteOptions.d
       │   ├── FileWriteOptions.d
       │   ├── FileWriter.d
       │   ├── FinishOptions.d
       │   ├── Fragment.d
       │   ├── HivePartitioning.d
       │   ├── HivePartitioningOptions.d
       │   ├── IPCFileFormat.d
       │   ├── InMemoryFragment.d
       │   ├── KeyValuePartitioning.d
       │   ├── KeyValuePartitioningOptions.d
       │   ├── ParquetFileFormat.d
       │   ├── Partitioning.d
       │   ├── PartitioningFactoryOptions.d
       │   ├── Scanner.d
       │   ├── ScannerBuilder.d
       │   └── c
       │       ├── functions.d
       │       └── types.d
       └── arrowflight
           ├── CallOptions.d
           ├── Client.d
           ├── ClientOptions.d
           ├── CommandDescriptor.d
           ├── Criteria.d
           ├── DataStream.d
           ├── Descriptor.d
           ├── DoPutResult.d
           ├── Endpoint.d
           ├── Info.d
           ├── Location.d
           ├── MessageReader.d
           ├── MetadataReader.d
           ├── MetadataWriter.d
           ├── PathDescriptor.d
           ├── RecordBatchReader.d
           ├── RecordBatchStream.d
           ├── RecordBatchWriter.d
           ├── ServableIF.d
           ├── ServableT.d
           ├── Server.d
           ├── ServerAuthHandler.d
           ├── ServerAuthReader.d
           ├── ServerAuthSender.d
           ├── ServerCallContext.d
           ├── ServerCustomAuthHandler.d
           ├── ServerOptions.d
           ├── StreamChunk.d
           ├── StreamReader.d
           ├── StreamWriter.d
           ├── Ticket.d
           └── c
               ├── functions.d
               └── types.d
   
   8 directories, 349 files
   ```
   </details>


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

To unsubscribe, e-mail: [email protected]

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

Reply via email to