nasmGeneral-purpose multi-platform x86 and amd64 assembler
2.16.03,2develΣ=294 2.16.03,2Version of this port present on the latest quarterly branch.upstream: 3.02A newer version was found upstream by portscout, first on 2026-06-30.
The Netwide Assembler (NASM) is an x86 and amd64 (x86-64) assembler designed
for portability and modularity. It will output flat-form binary files, a.out
(Linux and *BSD), COFF, ELF32, ELF64, Mach-O, Microsoft OMF (OBJ), Win32,
Win64, as86 (Minix/Linux bin86 v0.3), LADsoft IEEE-695, Intel hex, Motorola
S-record, and a home-grown format called RDOFF. NASM syntax is similar to
Intel's, but is less complex. It supports Pentium, P6, MMX, 3DNow!, SSE,
SSE2, SSE3, SSE4.1, SSE4.2, XOP/FMA4/CVT16 (rev 3.03), and x64 opcodes, among
others. It has strong support for macro conventions.
The port also includes NDISASM, a binary file disassembler which uses the
same instruction set as NASM.
===> The following configuration options are available for nasm-2.16.03,2:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
devel/nasm: Update to 2.16.01 (second attempt)
- The first attempt to update devel/nasm to version 2.16.01 failed due
to a bug in tmpfs with updating timestamps using ": >". In particular,
the bug is reproduced in poudriere using default configuration due to
USE_TMPFS=all.
The bug in tmpfs is being fixed, starting with commit
860399eb86cc431412bfbce0ab76c6652e5b6c07 in the src repository. Until
the commit is merged in all officially supported FreeBSD versions, the
patch files/patch-Makefile.in is necessary: it is a workaround that
replaces ": >" with "touch" in Makefile.in [1].
- The file files/patch-d85890aa.c is being removed as it is now obsolete:
the commit from which the patch was taken is already included in the
(Only the first 15 lines of the commit message are shown above )
devel/nasm: Update to 2.16.01
The file files/patch-d85890aa.c is being removed as it is now obsolete:
the commit from which the patch was taken is already included in the
update.
Changes: https://nasm.us/doc/nasmdocc.html
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel/nasm: Style improvement, take maintainership
- Improve style according to portclippy and portfmt.
- Regenerate patch using 'make makepatch' as suggested by portlint.
Approved by: gerald (mentor)
devel/nasm: Update to 2.15.05
update devel/nasm to 2.15.05
Add upstream patch to fix circular dependency in make.
Add perl as a build time dependency, it is needed now.
Disable RDOFF in the default package, since it is going away upstream
devel/nasm: Update to 2.15.03
Update devel/nasm to 2.15.03
Add a patch to fix nasm's ELF_OSABI field when emitting object files [1]
Changelog:
https://nasm.us/doc/nasmdocc.html
PR: 245069 [1]
Submitted by: dim [1]
Reported by: unitrunker gmail com [1]
MFH: 2020Q3
devel/nasm: Update to 2.14.02
Update devel/nasm to 2.14.02, this is a quite big update with lots of
changes. For a complete changelog, see the nasm homepage:
https://nasm.us/doc/nasmdocc.html
Big thanks to Antoine for the exp-run!
PR: 234513 (exp-run)
Update devel/nasm to 2.13.03
Changelog:
* Added AVX and AVX512 VAES* and VPCLMULQDQ instructions.
* Fixed missing dwarf record in x32 ELF output format.
devel/nasm: unbreak with clang 4.0
checking for strspn... no
configure: error: NASM requires ANSI C (specifically, "strspn")
[...]
conftest.c:56:13: error: this function declaration is not a prototype
[-Werror,-Wstrict-prototypes]
char strspn ();
^
void
Regressed by: https://github.com/llvm-mirror/clang/commit/162749f9c543
Approved by: portmgr blanket
Add a patch, taken from the nasm repo, written by emaste, that fixes
alignment on 64-bit archs.
From emaste:
Essentially what happens is that nasm creates object files that have
section contents aligned to 16 bytes, but it only specifies that the
section requires 4 byte alignment. It seems that the GNU tools (strip
at least) silently correct this to 8, which is what it should be.
This fix only affects FreeBSD -CURRENT in combination with another
(not yet committed) fix to libtool. On stable/10 and earlier GNU ld
masks the nasm bug, and without the libtool fix we don't yet try to
strip debug info from object files in -CURRENT.
PORTREVISION bump for this.
Also, while here, rename two other patches to have proper separators
(_ instead of +).
And, donate this port back to ports@. It is used by many other ports
so it deserves to be maintained by the collective.
- Update to version 2.08.01
- Remove SF mirror now that it does not carry new distfiles any more
- Reformat (kill line wrapping) and sort MAN1 values
- Simplify PORTDOCS installation, canonicalize Makefile header
- Replace `x86-64' with FreeBSDish `amd64' in COMMENT
Approved by: krion (maintainer)
- Retire MASTER_SITE_SOURCEFORGE_EXTENDED, it's no longer needed - all mirrors
actually have all distfiles
- Merge all SF mirrors to MASTER_SITE_SOURCEFORGE, resort according to quick
download speed survey
- Fix MASTER_SITES for all port that have used SOURCEFORGE_EXTENTED
Approved by: portmgr (pav)
USE_BZ2 -> USE_BZIP2. The latter does not exists but this port was
still working properly because a .gz archive is also available.
Submitted by: Mark Linimon <linimon@lonesome.com>