Automic VaultAutomic Vault

brew

Install jasmin with Homebrew, Nix

Assembler for the Java Virtual Machine. Version 2.4 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install jasmin

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#jasmin

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

overview

Package summary

Assembler for the Java Virtual Machine

Commands and aliases

  • jasmin

history

Project history and usage

Jasmin is an assembler for the Java Virtual Machine that turns a textual, assembler-like description of a Java class into a binary .class file. Its importance comes from being one of the earliest practical ways to write, inspect, teach, and generate JVM bytecode outside the Java compiler.

Project history

Jasmin was created by Jon Meyer as a companion tool for the O'Reilly book "Java Virtual Machine" by Meyer and Troy Downing. The documentation dated July 1996 describes version 1.0 and presents the tool as a simple assembler that intentionally maps closely to Java class-file conventions rather than acting like a macro assembler.

The SourceForge project later hosted the continuing open-source code. Version 2 added JasminXT, defined by Daniel Reynaud, to expose lower-level bytecode control such as bytecode version directives, offsets, StackMap support, annotations, attributes, and newer JVM access flags.

Adoption history

The project homepage describes Jasmin as the de-facto standard Java assembly format, used in compiler classes and cloned or ported multiple times. That adoption reflects its niche: a readable interchange and teaching syntax for people who need to reason about JVM class files directly.

How it is used

Users write .j files containing class directives, field definitions, method bodies, labels, and JVM instructions, then run the jasmin executable or jar to emit .class files. The guide emphasizes direct control and compact syntax, while noting that Jasmin deliberately does little compile-time validation of referenced classes or type descriptors.

Why package nerds care

For package collectors, Jasmin is a small but historically dense JVM tool: it preserves an early Java-era bytecode workflow, predates many modern bytecode libraries, and remains useful for compiler courses, verifier tests, reverse-engineering experiments, and hand-crafted class-file examples.

Timeline

  • 1996: Jonathan Meyer's Jasmin user guide documents version 1.0.
  • 2004: The SourceForge homepage identifies Jasmin as continuing as an open-source project.
  • 2006: JasminXT documents the version 2.0 language extension for lower-level JVM control.
  • Jasmin 2.1-2.4: JasminXT gains invokedynamic, StackMapTable, Unicode escapes, diagnostics fixes, and dynamic compiler class creation.

Related projects

  • Jasmin is directly tied to the JVM class-file format and the O'Reilly "Java Virtual Machine" book. JasminXT was defined for the tinapoc Java reverse-engineering toolkit and extends the original assembler language for verifier and virtual-machine test cases.

security posture

Risk level: orange

infrastructure mutation or orchestration signal.

Risk classifier

orange risk · medium confidence · infrastructure

Why

  • infrastructure mutation or orchestration signal

Signals

  • text:virtual machine

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 1 runtime 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
jasmincliglobal 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 version2.4
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://jasmin.sourceforge.net/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://jasmin.sourceforge.net/none confidence

install metadata

Package metadata

Package keybrew:jasmin
Version2.4
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/jasmin
Homepagehttps://jasmin.sourceforge.net/
Repositoryhttps://sourceforge.net/p/jasmin/code
Upstream docshttps://jasmin.sourceforge.net/
LicenseBSD-4-Clause
Source archivehttps://downloads.sourceforge.net/project/jasmin/jasmin/jasmin-2.4/jasmin-2.4.zip
Dependenciesopenjdk
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namejasmin
Version Scheme0
Revision2
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%

jasmin

nix profile install nixpkgs#jasmin
  • normalized package name match
  • Matched by: Jasmin
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ja/jasmin/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
  • 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