# Install libdivecomputer with Homebrew, MacPorts, Nix

Library for communication with various dive computers. Version 0.9.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#libdivecomputer.

## Install

```sh
sudo av install brew:libdivecomputer
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libdivecomputer
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libdivecomputer
```

  Evidence: MacPorts ports tree: devel/libdivecomputer/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#libdivecomputer
```

  Evidence: nixpkgs package indexes: pkgs/by-name/li/libdivecomputer/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:libdivecomputer
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libdivecomputer>
- **Version:** 0.9.0
- **Source summary:** Library for communication with various dive computers
- **Homepage:** <https://www.libdivecomputer.org/>
- **Repository:** <https://github.com/libdivecomputer/libdivecomputer>
- **Upstream docs:** <https://www.libdivecomputer.org/>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://www.libdivecomputer.org/releases/libdivecomputer-0.9.0.tar.gz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- dctool (cli)
- dctool (alias)

## Dependencies

- libusb

## Build dependencies

- autoconf
- automake
- libtool
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 0.9.0
- Local data: ok
- Upstream repository: https://www.libdivecomputer.org/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

libdivecomputer is a cross-platform C library and utility set for talking to dive computers over serial, USB, USB HID, IrDA, Bluetooth Classic, and Bluetooth Low Energy transports. Its official site frames it as an open source compatibility layer across many dive-computer manufacturers rather than as an end-user dive log application.

### Project history

The project grew around the practical problem of extracting dive profiles from vendor-specific dive computers on Unix-like systems, Windows, mobile platforms, and BSDs. The repository README points to the libdivecomputer site and a SourceForge project page, reflecting the project's older open-source hosting history before GitHub became the main development surface.

The public tag history shows a 0.2.0 release in September 2012, followed by 0.3.0 in February 2013, 0.4.x in 2013-2014, 0.5.0 in September 2016, 0.6.0 in November 2017, 0.7.0 in May 2021, 0.8.0 in May 2023, and 0.9.0 in June 2025.

### Adoption history

libdivecomputer's adoption comes from being infrastructure: applications and scripts can use one library instead of maintaining per-device protocols for Aeris, Aqualung, Cressi, Mares, Oceanic, Shearwater, Suunto, Uwatec, and many other supported manufacturers. Homebrew, MacPorts, and Nix packaging make that hardware-support layer easy to install for developers and technically inclined divers.

### How it is used

The documentation describes a conventional autotools build on Unix platforms and points users to a manual, manpages, examples, backend status, driver notes, roadmap material, and old API design discussions. The packaged `dctool` utility is the command-line face of the library for testing communication and retrieving data.

### Why package nerds care

For package maintainers, libdivecomputer is interesting because it turns a messy hardware matrix into one LGPL library with optional platform transport details. It is the kind of package that quietly matters: most users meet it indirectly through dive-log software, but distribution packaging determines whether niche USB/Bluetooth dive-computer workflows work out of the box.

### Timeline

- 2012: v0.2.0 tag published on GitHub.
- 2013: v0.3.0 and v0.4.0 tags published.
- 2016: v0.5.0 tag published.
- 2017: v0.6.0 tag published.
- 2021: v0.7.0 tag published.
- 2023: v0.8.0 release published.
- 2025: v0.9.0 release published.

### Related projects

- The repository README identifies the older SourceForge project page as part of the project's public footprint. The documentation also points to bundled examples and manpages, while the official site lists the supported device families that drive the library's backend work.

### Sources

- <https://github.com/libdivecomputer/libdivecomputer>
- <https://github.com/libdivecomputer/libdivecomputer/releases>
- <https://github.com/libdivecomputer/libdivecomputer/tags>
- <https://www.libdivecomputer.org/>
- <https://www.libdivecomputer.org/documentation.html>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libdivecomputer
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - libdivecomputer: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libdivecomputer/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - libdivecomputer: normalized package name match | MacPorts ports tree: devel/libdivecomputer/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Scientific computing packages](https://pkg.so/scientific-computing-tools/) - Matched scientific computing metadata.
- [Homebrew utility packages](https://pkg.so/brew-utility-packages/) - Matched Homebrew package provider.
- [pkgconf](https://pkg.so/brew/pkgconf/) - Build dependency declared by Homebrew.
- [libtool](https://pkg.so/brew/libtool/) - Build dependency declared by Homebrew.
- [autoconf](https://pkg.so/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://pkg.so/brew/automake/) - Build dependency declared by Homebrew.
- [gts](https://pkg.so/brew/gts/) - Shares pkgdb curated category or tags: c-library, cli, science.
- [fftw](https://pkg.so/brew/fftw/) - Shares pkgdb curated category or tags: c-library, cli, science.
- [cfitsio](https://pkg.so/brew/cfitsio/) - Shares pkgdb curated category or tags: c-library, cli, science.
- [openslide](https://pkg.so/brew/openslide/) - Shares pkgdb curated category or tags: c-library, cli, science.
- [libdicom](https://pkg.so/brew/libdicom/) - Shares pkgdb curated category or tags: c-library, cli, science.
- [htslib](https://pkg.so/brew/htslib/) - Shares pkgdb curated category or tags: c-library, cli, science.
- [wxmaxima](https://pkg.so/brew/wxmaxima/) - Shares pkgdb curated category or tags: cli, cross-platform, science.
- [msolve](https://pkg.so/brew/msolve/) - Shares pkgdb curated category or tags: c-library, cli, science.
- [limesuite](https://pkg.so/brew/limesuite/) - Local package facts share a topical domain. Shared terms: cli, device, libusb, science.
- [seqkit](https://pkg.so/brew/seqkit/) - Local package facts share a topical domain. Shared terms: cli, cross, cross-platform, platform, science.

## Combined YAML source

View the package source record on GitHub. [combined/libdivecomputer.yml](https://github.com/mxcl/pkgdb/blob/main/combined/libdivecomputer.yml)


## Sources

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