pkg.soopen package index

brew / rank 12711

Install dpp with Homebrew, Nix

Directly include C headers in D source code. Version 0.6.0 via Homebrew; verified 2026-06-13. Also installable with nix: nix profile install nixpkgs#dpp.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install dpp

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#dpp

nixpkgs package indexes · pkgs/by-name/dp/dpp/package.nix · source: api.github.com

overview

Package summary

Directly include C headers in D source code

Commands and aliases

  • d++

history

Project history and usage

dpp, invoked as d++, is a D-language interop tool that lets D source files directly include C and limited C++ headers, translating declarations through libclang and then compiling the generated D code.

Project history

The public GitHub repository was created in August 2017. Its README describes the goal as giving D files the same practical ease of use as C or C++ #include workflows, including macro-heavy C APIs, and notes that the work was supported by Symmetry Investments.

Adoption history

dpp's adoption has stayed centered on the D ecosystem rather than becoming a general-purpose systems tool. Its packaging in Homebrew and Nix makes it discoverable to D users who need C header interop without hand-maintaining bindings.

How it is used

Users write quasi-D .dpp files containing #include directives, then run d++ so the tool expands declarations and selected macros into D code before invoking a D compiler.

Why package nerds care

For package maintainers, dpp is a compact example of language-ecosystem tooling that depends on libclang and a host C preprocessor to bridge ABI-heavy native libraries into a less mainstream compiled language.

Timeline

  • 2017: atilaneves/dpp was created on GitHub.
  • 2017 onward: the project documented success translating headers for libraries such as curl, OpenSSL, libvirt, Python.h, and others.
  • 2024: the repository still showed maintenance activity, while remaining a niche D interop package.

Related projects

  • D language
  • libclang
  • dmd
  • dub

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.
  • Build metadata lists 3 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
d++cliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-04
manager version0.6.0
manager updated2026-06-13
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/atilaneves/dpp

install metadata

Package metadata

Package keybrew:dpp
Version0.6.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/dpp
Homepagehttps://github.com/atilaneves/dpp
Repositoryhttps://github.com/atilaneves/dpp
LicenseBSL-1.0
Source archivehttps://github.com/atilaneves/dpp.git
Last updated2026-06-13T01:24:10+02:00
Pulseupdated
Build dependenciesdtools, dub, ldc
Uses from macOSllvm
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namedpp
Version Scheme0
Revision1
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

dpp

nix profile install nixpkgs#dpp
  • normalized package name match
  • Matched by: Dpp
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/dp/dpp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment
  • pkg.so package database
  • pkgdb category and tag curation