Automic VaultAutomic Vault

brew

Install yasm with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, zypper

Modular BSD reimplementation of NASM. Version 1.3.0 via Homebrew; verified 2026-06-27.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install yasm

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install yasm

MacPorts ports tree · lang/yasm/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add yasm

Alpine Linux edge package indexes · yasm · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install yasm

Debian stable package indexes · yasm · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install yasm

Fedora Rawhide package metadata · yasm · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#yasm

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

Arch Linux pacmanverified · 92%
sudo pacman -S yasm

Arch Linux sync databases · yasm · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install yasm

openSUSE Tumbleweed package metadata · yasm · source: download.opensuse.org

overview

Package summary

Modular BSD reimplementation of NASM

Commands and aliases

  • vsyasm
  • yasm
  • ytasm

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2001: Yasm begins as a BSD-licensed rewrite of NASM.
  • 2006-2009: The Yasm user manual documents the modular assembler architecture and supported syntaxes, formats, and debug outputs.
  • 2011: The yasm/yasm GitHub repository is created as the mainline development tree.
  • 2017: FFmpeg changes its default x86 assembler preference from Yasm to NASM while keeping Yasm selectable.

Related projects

  • NASM is the assembler whose syntax and role Yasm originally reimplemented.
  • GNU as is another supported syntax target in Yasm's parser model.
  • FFmpeg is a prominent downstream multimedia project whose build history reflects Yasm's adoption and later partial replacement by NASM.

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 13 platform targets.

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
vsyasmcliglobal executable
yasmcliglobal executable
ytasmcliglobal 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-07-08
manager version1.3.0
manager updated2026-06-27
local dataok
upstreamnot checked
latest detectednot detected

https://www.tortall.net/projects/yasm/manual/html/

install metadata

Package metadata

Package keybrew:yasm
Version1.3.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/yasm
Homepagehttps://www.tortall.net/projects/yasm/manual/html/
Repositoryhttps://github.com/yasm/yasm
Upstream docshttps://www.tortall.net/projects/yasm/manual/html
LicenseBSD-2-Clause AND BSD-3-Clause AND LicenseRef-Homebrew-public-domain AND (Artistic-1.0-Perl OR GPL-2.0-or-later OR LGPL-2.0-or-later)
Source archivehttps://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
Last updated2026-06-27T18:33:31-04:00
Pulseupdated
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameyasm
Version Scheme0
Revision2
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • 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.

Debian apt95%

yasm 1.3.0-7

modular assembler with multiple syntaxes support

https://github.com/yasm/yasm/

sudo apt install yasm
  • Section: devel
  • Architecture: amd64
  • 1 dependencies
  • normalized package name match
  • Matched by: Yasm
Debian stable package indexes · deb.debian.org · Debian stable package indexes: yasm from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

yasm

nix profile install nixpkgs#yasm
  • normalized package name match
  • Matched by: Yasm
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ya/yasm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

yasm 1.3.0-4

modular assembler with multiple syntaxes support

http://www.tortall.net/projects/yasm/

sudo apt install yasm
  • Section: universe/devel
  • Architecture: amd64
  • 1 dependencies
  • normalized package name match
  • Matched by: Yasm
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: yasm from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

yasm 1.3.0-r4

A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.)

http://www.tortall.net/projects/yasm/

sudo apk add yasm
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: yasm
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Yasm
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: yasm from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

yasm-dev 1.3.0-r4

A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.) (development files)

http://www.tortall.net/projects/yasm/

sudo apk add yasm-dev
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: yasm
  • normalized package name match
  • Matched by: Yasm
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: yasm-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

yasm-doc 1.3.0-r4

A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.) (documentation)

http://www.tortall.net/projects/yasm/

sudo apk add yasm-doc
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: yasm
  • normalized package name match
  • Matched by: Yasm
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: yasm-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

yasm 1.3.0^20250625git121ab15-3.fc44

Modular Assembler

http://yasm.tortall.net/

sudo dnf install yasm
  • License: BSD-2-Clause AND BSD-3-Clause AND (GPL-1.0-or-later AND GPL-2.0-or-later OR Artistic-1.0-Perl OR LGPL-2.0-or-later)
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: yasm
  • 2 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Yasm
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: yasm from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

yasm-devel 1.3.0^20250625git121ab15-3.fc44

Header files and static libraries for the yasm Modular Assembler

http://yasm.tortall.net/

sudo dnf install yasm-devel
  • License: BSD-2-Clause AND BSD-3-Clause AND (GPL-1.0-or-later AND GPL-2.0-or-later OR Artistic-1.0-Perl OR LGPL-2.0-or-later)
  • Category: Unspecified
  • Architecture: i686
  • Source Package: yasm
  • 1 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Yasm
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: yasm-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

yasm 1.3.0-9

A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.)

https://github.com/yasm/yasm

sudo pacman -S yasm
  • License: BSD-2-Clause OR BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only AND Artistic-1.0-Perl
  • Architecture: x86_64
  • 1 dependencies
  • normalized package name match
  • Matched by: Yasm
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: yasm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

yasm 1.3.0-9.5

A complete rewrite of the NASM assembler

https://github.com/yasm/yasm

sudo zypper install yasm
  • License: Artistic-1.0 AND BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.0-or-later
  • Category: Development/Languages/Other
  • Architecture: x86_64
  • Source Package: yasm
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Yasm
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: yasm from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

yasm-devel 1.3.0-9.5

YASM development package

https://github.com/yasm/yasm

sudo zypper install yasm-devel
  • License: Artistic-1.0 AND BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.0-or-later
  • Category: Development/Languages/Other
  • Architecture: x86_64
  • Source Package: yasm
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Yasm
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: yasm-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

yasm

sudo port install yasm
  • normalized package name match
  • Matched by: Yasm
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/yasm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

yasm

choco install yasm
  • normalized package name match
  • Matched by: Yasm
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: yasm from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','wiztree'
Scoop95%

main/yasm

scoop install main/yasm
  • normalized package name match
  • Matched by: Yasm
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/yasm.json from https://api.github.com/repos/ScoopInstaller/Main/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
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment