-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
GH-44515: [D] Add Initial Support #44536
Conversation
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename the pull request title in the following format?
or
In the case of PARQUET issues on JIRA the title also supports:
See also: |
|
Could you remove auto generated files? |
Ok.
It's possible, but is it viable? Note that it is possible to use meson to configure the build of D projects (officially supported). However, it may be interesting to make |
Now, base
Right now, I will review the issue of |
I'm not familiar with D but why do we need to create a D program just build the D bindings? Can we simplify this?
|
Like cargo (Rust), dub only get D files (all *.d in rootpath) by default.
Also is possible add specialized libraries like:
Yeah! |
Can we require users to install Apache Arrow GLib before they install the D bindings? FYI: We have the APT/Yum repositories for Apache Arrow GLib: https://arrow.apache.org/install/
Could you try this approach? |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
1149972
to
60e5734
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you rename this to linux-apt-d.dockerfile
and use ubuntu-c-glib
as the base image like ubuntu-ruby
does?
Lines 853 to 875 in 33e8cbb
ubuntu-ruby: | |
# Usage: | |
# docker compose build ubuntu-cpp | |
# docker compose build ubuntu-c-glib | |
# docker compose build ubuntu-ruby | |
# docker compose run --rm ubuntu-ruby | |
# Parameters: | |
# ARCH: amd64, arm64v8, ... | |
# UBUNTU: 20.04, 22.04 | |
image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-ruby | |
build: | |
context: . | |
dockerfile: ci/docker/linux-apt-ruby.dockerfile | |
cache_from: | |
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-ruby | |
args: | |
base: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-c-glib | |
shm_size: *shm-size | |
ulimits: *ulimits | |
environment: | |
<<: [*common, *ccache] | |
volumes: *ubuntu-volumes | |
command: *ruby-command |
d/dub.json
Outdated
} | ||
}, | ||
"preBuildCommands": [ | ||
"\"$DUB\" run girtod -- -i source -o source --use-runtime-linker" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use out-of-source build?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
generator tools replaced (gtk4 compat): https://github.com/Kymorphia/gidgen
Can we use out-of-source build?
Considerable. Maybe add packages
folder.
* use `gir-to-d` to generate D bindings (need arrow-c-glib)
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
What's report: https://github.com/Kymorphia/gidgen#summary Summary
full: report.txt |
External enhancement for Arrow support: GiD bindings |
Rationale for this change
Add Dlang support. Initial implementation based on
c_glib
, usinggir-to-d
generator.Tools used
What changes are included in this PR?
Add D implementation only. No modify any other language support.
Are these changes tested?
Unit tests will also be added during development.
Are there any user-facing changes?
It adds a new programming language alternative for attracting more users (the small D community).
References
OutputStream
matches conflicting symbols gtkd-developers/gir-to-d#45C++
C
cc: @kou