# Install objfw with Homebrew, apk, apt, dnf, Nix

Portable, lightweight framework for the Objective-C language. Version 1.5.7 via Homebrew; verified 2026-07-04. Also installable with debian: sudo apt install libobjfw1.

## Install

```sh
sudo av install brew:objfw
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install objfw
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add objfw
```

  Evidence: Alpine Linux edge package indexes: objfw from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install objfw
```

  Evidence: Debian stable package indexes: objfw from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install objfw
```

  Evidence: Fedora Rawhide package metadata: objfw from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#objfw
```

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

## Package facts

- **Package key:** brew:objfw
- **Package manager:** Homebrew
- **Version:** 1.5.7
- **Source summary:** Portable, lightweight framework for the Objective-C language
- **Homepage:** <https://objfw.nil.im/>
- **Last updated:** 2026-07-04T02:31:18Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- objfw-compile (alias)
- objfw-config (alias)
- objfw-embed (alias)
- objfw-new (alias)
- ofarc (alias)
- ofdns (alias)
- ofgctester (alias)
- ofhash (alias)
- ofhttp (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.5.7
## Project history and usage

ObjFW is a portable Objective-C framework and runtime aimed at developers who want Objective-C without binding their application to Apple Foundation or GNUstep. Its own README describes the project as intentionally incompatible with Foundation so that ObjFW can provide consistent behavior across supported platforms rather than preserve Foundation quirks.

### Project history

The project reached its first stable API and ABI in ObjFW 1.0 on 2023-08-29 after a long pre-1.0 period; the ChangeLog notes that 1.0 followed nearly six years after the previous 0.90.2 release. Later 1.x releases continued to expand the runtime, TLS, archive, DNS, filesystem, terminal, Unicode, and platform-support surface.

### Adoption history

ObjFW is packaged in Homebrew and in several Unix-style distribution ecosystems under names such as objfw, libobjfw1, and libobjfw. Its package split in some distributions reflects the project structure: core framework, Objective-C runtime, TLS support, HID support, documentation, and small utilities built on top of the framework.

### How it is used

Developers use ObjFW either as a library framework or through its helper tools. The README documents objfw-new for creating an application skeleton, objfw-compile for compiling ObjFW applications without a larger build system, and objfw-config for obtaining compiler and linker flags for custom builds.

### Why package nerds care

ObjFW is interesting because it packages a non-Foundation Objective-C world: a framework, runtime, build helpers, and command-line utilities. For package indexers it is a reminder that Objective-C runtime support is not only an Apple-platform concern, and that one source project can publish both libraries and user-facing executables.

### Timeline

- 2017-08-01: ObjFW 0.90 added new classes and support for Nintendo 3DS and MorphOS.
- 2023-08-29: ObjFW 1.0 delivered the first stable API and ABI.
- 2024-04-14: ObjFW 1.1 changed the license to LGPL-3.0-only and added ObjFWTest, associated objects, DNS caching, Mbed TLS support, and more archive functionality.
- 2025-08-03: ObjFW 1.4 moved object memory management into the runtime and added runtime optimizations.
- 2026-02-22: ObjFW 1.5 added color-space and image support.

### Related projects

- ObjFW sits beside Foundation-compatible projects such as GNUstep rather than replacing them directly. The project explicitly chooses portability-through-ObjFW over Foundation compatibility, which makes it a distinct packaging target for Objective-C applications.

### Sources

- <https://formulae.brew.sh/formula/objfw>
- <https://github.com/ObjFW/ObjFW/>
- <https://github.com/ObjFW/ObjFW/blob/main/ChangeLog>
- <https://www.freshports.org/devel/objfw/>


## Security Notes

No matching local secret-handling manifest was found for objfw. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Other Package-Manager Records

- Debian apt - libobjfw1 - 1.3-1: normalized package name match | Debian stable package indexes: libobjfw1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | ObjFW library | https://objfw.nil.im/
- Debian apt - libobjfw1-dev - 1.3-1: normalized package name match | Debian stable package indexes: libobjfw1-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Header files, libraries and tools for libobjfw1 | https://objfw.nil.im/
- Debian apt - libobjfwhid1 - 1.3-1: normalized package name match | Debian stable package indexes: libobjfwhid1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | HID support for ObjFW | https://objfw.nil.im/
- Debian apt - libobjfwhid1-dev - 1.3-1: normalized package name match | Debian stable package indexes: libobjfwhid1-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Header files and libraries for libobjfwhid | https://objfw.nil.im/
- Debian apt - libobjfwrt1 - 1.3-1: normalized package name match | Debian stable package indexes: libobjfwrt1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | ObjFW Objective-C runtime library | https://objfw.nil.im/
- Debian apt - libobjfwrt1-dev - 1.3-1: normalized package name match | Debian stable package indexes: libobjfwrt1-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Header files and libraries for libobjfwrt | https://objfw.nil.im/
- Debian apt - libobjfwtls1 - 1.3-1: normalized package name match | Debian stable package indexes: libobjfwtls1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | TLS support for ObjFW | https://objfw.nil.im/
- Debian apt - libobjfwtls1-dev - 1.3-1: normalized package name match | Debian stable package indexes: libobjfwtls1-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Header files and libraries for libobjfwtls | https://objfw.nil.im/
- Debian apt - objfw - 1.3-1: normalized package name match | Debian stable package indexes: objfw from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Portable, lightweight framework for the Objective-C language | https://objfw.nil.im/
- Debian apt - ofarc - 1.3-1: normalized package name match | Debian stable package indexes: ofarc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Utility for handling ZIP, Tar and LHA archives | https://objfw.nil.im/
- Debian apt - ofdns - 1.3-1: normalized package name match | Debian stable package indexes: ofdns from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Utility for performing DNS requests on the command line | https://objfw.nil.im/
- Debian apt - ofhash - 1.3-1: normalized package name match | Debian stable package indexes: ofhash from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Utility to hash files with various cryptographic hash functions | https://objfw.nil.im/
- Debian apt - ofhttp - 1.3-1: normalized package name match | Debian stable package indexes: ofhttp from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Command line downloader for HTTP(S) | https://objfw.nil.im/
- Nix - objfw: normalized package name match | nixpkgs package indexes: pkgs/by-name/ob/objfw/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - libobjfw1 - 1.5.7-r0: normalized package name match | Alpine Linux edge package indexes: libobjfw1 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Library needed by programs using ObjFW | https://objfw.nil.im/
- apk - libobjfwhid1 - 1.5.7-r0: normalized package name match | Alpine Linux edge package indexes: libobjfwhid1 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Library for HID support for ObjFW | https://objfw.nil.im/


## Combined YAML source

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


## Sources

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