macOS
brew install yasmprovider-native install command
brew / rank 1060
Modular BSD reimplementation of NASM. Version 1.3.0 via Homebrew; verified 2026-06-27.
install
brew install yasmprovider-native install command
overview
Modular BSD reimplementation of NASM
history
Yasm is a modular assembler for x86 and AMD64 that began as a BSD-licensed rewrite of NASM. Its package-manager identity is unusually clear: it exists because build systems needed a portable NASM-like assembler that could emit the object formats, debug formats, and 64-bit code used by Unix, Windows, and macOS projects.
The Yasm manual says the project started in 2001 as a rewrite of the Netwide Assembler under the BSD license. Rather than being a drop-in clone only, Yasm was designed around modules for assembler syntaxes, object formats, debug formats, and instruction sets, which let it support NASM syntax while also adding GNU as syntax, AMD64 support, and multiple platform object formats.
Yasm's public GitHub repository describes itself as the mainline development tree and was created there in 2011, after the project had already been established through its own site and release tarballs. The current manual still presents the core command as yasm, with vsyasm for Visual Studio integration and ytasm as part of the toolkit.
Yasm became a common build dependency during the period when multimedia and codec projects leaned heavily on hand-written x86 assembly. FFmpeg's own development log records a later switch of the default x86 assembler from Yasm to NASM while preserving an option to use Yasm, which is a good marker of how central Yasm had been to that ecosystem.
Its adoption was strongest where projects wanted NASM-style source compatibility plus portable output: ELF for Unix, Mach-O for macOS, COFF/Win32/Win64 for Windows, and debug information for platform debuggers. That combination made it show up in package managers less as an end-user tool and more as the thing that quietly made optimized native packages build.
Typical use is direct assembly of NASM- or GAS-style input into an object file, often from a larger configure or make build. Users select output formats with flags such as -f, target machines with -m, parser syntax with -p, and debug formats with -g.
In practical packaging, Yasm is important when a source tree contains x86 assembly tuned for codecs, emulators, runtimes, or low-level libraries. A build may not expose Yasm to the final user at all, but failure to find it can disable assembly optimizations or stop old release branches from building.
Yasm is package-nerd plumbing: a small command-line tool whose importance is measured by how many other packages used to need it. It is also a useful example of a compatibility tool that gained adoption by matching an existing language, NASM syntax, while being friendlier to license and portability requirements.
Its later displacement by newer NASM releases in some projects is part of the story. Package collections keep Yasm because old build systems still ask for it, while newer projects may prefer NASM; knowing which assembler a package wants can explain otherwise opaque native-build failures.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
vsyasm | executable | indexed executable | Discovered from the local executable index. |
yasm | executable | indexed executable | Discovered from the local executable index. |
ytasm | executable | indexed executable | Discovered from the local executable index. |
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.
install metadata
| Package key | brew:yasm |
|---|---|
| Version | 1.3.0 |
| Package manager | Homebrew |
| Homepage | https://www.tortall.net/projects/yasm/manual/html/ |
| Repository | https://github.com/yasm/yasm |
| Last updated | 2026-06-27T18:33:31-04:00 |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.