Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
UPDATE: nasm 3.01
To:
ports@openbsd.org
Cc:
jasper@openbsd.org
Date:
Wed, 25 Feb 2026 17:22:25 -0500

Download raw body.

Thread
  • Brad Smith:

    UPDATE: nasm 3.01

Here is an update to nasm 3.01.

https://www.nasm.us/docs/3.01/nasmac.html

Run through a bulk build on amd64 and i386.


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/nasm/Makefile,v
retrieving revision 1.54
diff -u -p -u -p -r1.54 Makefile
--- Makefile	26 Jul 2024 12:02:01 -0000	1.54
+++ Makefile	19 Feb 2026 02:36:53 -0000
@@ -1,6 +1,6 @@
 COMMENT=	general-purpose multi-platform x86 assembler
 
-VERSION=	2.16.03
+VERSION=	3.01
 DISTNAME=	nasm-${VERSION}
 CATEGORIES=	devel lang
 SITES=		${HOMEPAGE}/pub/nasm/releasebuilds/${VERSION}/
@@ -8,12 +8,12 @@ EXTRACT_SUFX=	.tar.xz
 
 HOMEPAGE=	https://www.nasm.us/
 
-MAINTAINER =	Jasper Lievisse Adriaanse <jasper@openbsd.org>
+MAINTAINER=	Jasper Lievisse Adriaanse <jasper@openbsd.org>
 
 # BSD
 PERMIT_PACKAGE=	Yes
 
-WANTLIB=	c
+WANTLIB=	c z
 
 USE_GMAKE=	Yes
 CONFIGURE_STYLE= gnu
@@ -25,6 +25,6 @@ INSTALL_TARGET=	install_everything
 
 NO_TEST=	Yes
 
-DEBUG_PACKAGES =${BUILD_PACKAGES}
+DEBUG_PACKAGES=	${BUILD_PACKAGES}
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/nasm/distinfo,v
retrieving revision 1.28
diff -u -p -u -p -r1.28 distinfo
--- distinfo	26 Jul 2024 12:02:01 -0000	1.28
+++ distinfo	19 Feb 2026 02:36:53 -0000
@@ -1,2 +1,2 @@
-SHA256 (nasm-2.16.03.tar.xz) = FBKhx2C70F2wJrbA0WV6/9ZjHNCmPN229zzG1KphYUg=
-SIZE (nasm-2.16.03.tar.xz) = 1032388
+SHA256 (nasm-3.01.tar.xz) = tzJMvobnZ7ZfJvRn7YsSrYDhJOPMuJB2hVyY5Dqe3dQ=
+SIZE (nasm-3.01.tar.xz) = 1499136
Index: patches/patch-doc_Makefile_in
===================================================================
RCS file: /cvs/ports/devel/nasm/patches/patch-doc_Makefile_in,v
retrieving revision 1.7
diff -u -p -u -p -r1.7 patch-doc_Makefile_in
--- patches/patch-doc_Makefile_in	26 Jul 2024 12:02:01 -0000	1.7
+++ patches/patch-doc_Makefile_in	19 Feb 2026 02:36:53 -0000
@@ -1,7 +1,7 @@
 Index: doc/Makefile.in
 --- doc/Makefile.in.orig
 +++ doc/Makefile.in
-@@ -28,7 +28,7 @@ MKDIR_P		= @MKDIR_P@
+@@ -42,7 +42,7 @@ MKDIR_P		= @MKDIR_P@
  RM_F		= rm -f
  RM_RF		= rm -rf
  CP_F		= cp -f
@@ -10,29 +10,25 @@ Index: doc/Makefile.in
  
  # Optional tools
  XZ		= @XZ@
-@@ -40,7 +40,7 @@ XZFILES         = @XZFILES@
- HTMLAUX		= nasmdoc.css local.css nasmlogw.png
+@@ -62,7 +62,7 @@ SRCS		= nasmdoc.src
+ # All input files (except auto-dependencies)
+ ALLSRCS		= $(SRCS) $(GENSRC)
  
- SRCS		= nasmdoc.src inslist.src changes.src warnings.src version.src
 -OUT		= html nasmdoc.txt nasmdoc.pdf $(XZFILES)
 +OUT		= html nasmdoc.txt # nasmdoc.pdf $(XZFILES)
  XZOUT           = nasmdoc.pdf.xz
  
- # Don't delete intermediate files
-@@ -109,7 +109,6 @@ nasmdoc.pdf.xz: nasmdoc-raw.pdf
- 	$(XZ) -9e < $< > $@
+ # Use "make install PDFZ=.xz" to install pdf.xz
+@@ -158,7 +158,11 @@ install_pdf: nasmdoc.pdf$(PDFZ)
+ 	$(MKDIR_P) $(DESTDIR)$(pdfdir)
+ 	$(INSTALL_DATA) nasmdoc.pdf$(PDFZ) $(DESTDIR)$(pdfdir)
  
- clean:
--	-$(RM_F) *.rtf *.hpj *.texi *.gid *.ipf *.dip
- 	-$(RM_F) *.aux *.cp *.fn *.ky *.pg *.log *.toc *.tp *.vr
- 	-$(RM_F) inslist.src version.src fontpath Fontmap
- 	-$(RM_F) nasmdoc*.ps nasmdoc-raw.pdf
-@@ -122,7 +121,7 @@ install: all
- 	$(MKDIR_P) $(DESTDIR)$(htmldir)
- 	$(INSTALL_DATA) html/* $(DESTDIR)$(htmldir)
- 	$(MKDIR_P) $(DESTDIR)$(docdir)
--	$(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir)
-+	$(INSTALL_DATA) internal.doc nasmdoc.txt $(DESTDIR)$(docdir)
+-install: install_html install_pdf
++install_doc: internal.doc
++	$(MKDIR_P) $(DESTDIR)$(docdir)
++	$(INSTALL_DATA) internal.doc $(DESTDIR)$(docdir)
++
++install: install_html install_doc
  
  #
  # Dummy rules that changes make behavior
Index: patches/patch-include_compiler_h
===================================================================
RCS file: patches/patch-include_compiler_h
diff -N patches/patch-include_compiler_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-include_compiler_h	19 Feb 2026 02:36:53 -0000
@@ -0,0 +1,62 @@
+- compiler.h: drop the stupid C++-style cast-to-bool hack
+  44e89ba9b650b5e1533bca43682e167f51a3511f
+- compiler.h: the test for "neither C++ nor C23" still wrong
+  746e7c9efa37cec9a44d84a1e96b8c38f385cc1f
+
+Index: include/compiler.h
+--- include/compiler.h.orig
++++ include/compiler.h
+@@ -181,19 +181,10 @@ size_t strlcpy(char *, const char *, size_t);
+ char * pure_func strrchrnul(const char *, int);
+ #endif
+ 
+-#if !defined(__cplusplus) || (__STDC_VERSION >= 202311L)
+ /* C++ and C23 have bool, false, and true as proper keywords */
++#if !defined(__cplusplus) && (__STDC_VERSION__ < 202311L)
+ # ifdef HAVE_STDBOOL_H
+-/* If <stdbool.h> exists, include it explicitly to prevent it from
+-   begin included later, causing the "bool" macro to be defined. */
+ #  include <stdbool.h>
+-#  ifdef bool
+-/* Force bool to be a typedef instead of a macro. What a "clever" hack
+-   this is... */
+-    typedef bool                /* The macro definition of bool */
+-#  undef bool
+-        bool;                   /* No longer the macro definition */
+-#  endif
+ # elif defined(HAVE___BOOL)
+    typedef _Bool bool;
+ #  define false 0
+@@ -201,14 +192,10 @@ char * pure_func strrchrnul(const char *, int);
+ # else
+ /* This is a bit dangerous, because casting to this ersatz bool
+    will not produce the same result as the standard (bool) cast.
+-   Instead, use the bool() constructor-style macro defined below. */
++   Instead, use the explicit construct !!x instead of relying on
++   implicit conversions or casts. */
+ typedef enum bool { false, true } bool;
+ # endif
+-/* This amounts to a C++-style conversion cast to bool.  This works
+-   because C ignores an argument-taking macro when used without an
+-   argument and because bool was redefined as a typedef if it previously
+-   was defined as a macro (see above.) */
+-# define bool(x) ((bool)!!(x))
+ #endif
+ 
+ /* Create a NULL pointer of the same type as the address of
+@@ -321,11 +308,11 @@ static inline void *mempset(void *dst, int c, size_t n
+  * less likely to be taken.
+  */
+ #ifdef HAVE___BUILTIN_EXPECT
+-# define likely(x)	__builtin_expect(bool(x), true)
+-# define unlikely(x)	__builtin_expect(bool(x), false)
++# define likely(x)	__builtin_expect(!!(x), true)
++# define unlikely(x)	__builtin_expect(!!(x), false)
+ #else
+-# define likely(x)	bool(x)
+-# define unlikely(x)	bool(x)
++# define likely(x)	(!!(x))
++# define unlikely(x)	(!!(x))
+ #endif
+ 
+ #ifdef HAVE___BUILTIN_PREFETCH
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/nasm/pkg/PLIST,v
retrieving revision 1.17
diff -u -p -u -p -r1.17 PLIST
--- pkg/PLIST	23 May 2023 09:56:52 -0000	1.17
+++ pkg/PLIST	19 Feb 2026 02:36:53 -0000
@@ -5,28 +5,31 @@
 share/doc/nasm/
 share/doc/nasm/html/
 share/doc/nasm/html/local.css
-share/doc/nasm/html/nasmdo10.html
-share/doc/nasm/html/nasmdo11.html
-share/doc/nasm/html/nasmdo12.html
-share/doc/nasm/html/nasmdo13.html
+share/doc/nasm/html/nasm00.html
+share/doc/nasm/html/nasm01.html
+share/doc/nasm/html/nasm02.html
+share/doc/nasm/html/nasm03.html
+share/doc/nasm/html/nasm04.html
+share/doc/nasm/html/nasm05.html
+share/doc/nasm/html/nasm06.html
+share/doc/nasm/html/nasm07.html
+share/doc/nasm/html/nasm08.html
+share/doc/nasm/html/nasm09.html
+share/doc/nasm/html/nasm10.html
+share/doc/nasm/html/nasm11.html
+share/doc/nasm/html/nasm12.html
+share/doc/nasm/html/nasm13.html
+share/doc/nasm/html/nasm14.html
+share/doc/nasm/html/nasmaa.html
+share/doc/nasm/html/nasmab.html
+share/doc/nasm/html/nasmac.html
+share/doc/nasm/html/nasmad.html
+share/doc/nasm/html/nasmae.html
+share/doc/nasm/html/nasmaf.html
 share/doc/nasm/html/nasmdoc.css
-share/doc/nasm/html/nasmdoc0.html
-share/doc/nasm/html/nasmdoc1.html
-share/doc/nasm/html/nasmdoc2.html
-share/doc/nasm/html/nasmdoc3.html
-share/doc/nasm/html/nasmdoc4.html
-share/doc/nasm/html/nasmdoc5.html
-share/doc/nasm/html/nasmdoc6.html
-share/doc/nasm/html/nasmdoc7.html
-share/doc/nasm/html/nasmdoc8.html
-share/doc/nasm/html/nasmdoc9.html
-share/doc/nasm/html/nasmdoca.html
-share/doc/nasm/html/nasmdocb.html
-share/doc/nasm/html/nasmdocc.html
-share/doc/nasm/html/nasmdocd.html
-share/doc/nasm/html/nasmdoce.html
-share/doc/nasm/html/nasmdocf.html
-share/doc/nasm/html/nasmdoci.html
+share/doc/nasm/html/nasmix.html
 share/doc/nasm/html/nasmlogw.png
 share/doc/nasm/internal.doc
-share/doc/nasm/nasmdoc.txt
+share/nasm/
+share/nasm/nasmtok.el
+share/nasm/nasmtok.json