Skip to content

nasm: update to 3.01.#57682

Open
Rutpiv wants to merge 7 commits intovoid-linux:masterfrom
Rutpiv:nasm
Open

nasm: update to 3.01.#57682
Rutpiv wants to merge 7 commits intovoid-linux:masterfrom
Rutpiv:nasm

Conversation

@Rutpiv
Copy link
Contributor

@Rutpiv Rutpiv commented Oct 27, 2025

Testing the changes

  • I tested the changes in this PR: briefly

Local build testing

  • I built this PR locally for my native architecture (x86_64)
  • I built this PR locally for these architectures using specific masterdirs:
    • x86_64-musl
    • i686
  • I built this PR locally for these architectures (crossbuilds):
    • aarch64
    • aarch64-musl
    • armv7l
    • armv7l-musl
    • armv6l
    • armv6l-musl

@classabbyamp
Copy link
Member

isn't this already in the google fonts package?

@Rutpiv
Copy link
Contributor Author

Rutpiv commented Oct 27, 2025

You're right, I didn’t realize it was already included in the google-fonts-ttf package.
The only issue is that adding this package as a dependency significantly increases the build time before compilation starts.

How should I proceed in this case? Should I still use google-fonts-ttf as a dependency, or would it be acceptable to include a smaller subset of fonts directly in this package to keep the build faster?

In parallel, I’m currently reviewing the dependent builds for nasm on x86, which should give a good overview of what might have broken.
Below is the list of packages I’ve tested so far; checked ones are building successfully, while the others are still pending or failing:

  • CPU-X
  • dav1d
  • dgen-sdl
  • e3
  • edk2-ovmf (broke after update)
  • ffmpeg
  • ffmpeg6
  • firefox
  • firefox-esr
  • handbrake
  • j
  • kodi
  • lame
  • libass
  • libretro-mupen64plus (broken before update)
  • libx86emu (broken before update)
  • limine (10.2.0)
  • lrzip
  • mupen64plus
  • openh264
  • pcsxr (broken before update)
  • rav1e
  • SDL2
  • SDL3
  • scummvm
  • silc-toolkit
  • srb2 (built on i686 masterdir)
  • stepmania (broken before update)
  • svt-av1
  • syslinux
  • thunderbird
  • vapoursynth
  • vmaf
  • x264
  • x265
  • xpar
  • xvidcore
  • zsnes (built on i686 masterdir)

I’ll continue checking the remaining ones and update the results as I go.

@Rutpiv
Copy link
Contributor Author

Rutpiv commented Oct 27, 2025

As an additional note, both patches 00-musl-bool-fix.patch and 01-musl-c23-test-fix.patch included in this PR have already been merged upstream into NASM’s master branch, but after the current 3.01 release.

They are still required at this point to ensure successful compilation on musl systems.

@sgn
Copy link
Member

sgn commented Oct 27, 2025

Merge font roboto-mono into roboto. Puts those fonts into /usr/share/fonts/roboto

@Rutpiv Rutpiv changed the title nasm: update to 3.01. (New package: fonts-roboto-mono-ttf-3.001) nasm: update to 3.01. (roboto fonts unified) Oct 28, 2025
@Rutpiv Rutpiv changed the title nasm: update to 3.01. (roboto fonts unified) nasm: update to 3.01. (fonts-roboto-ttf: include Roboto Mono fonts.) Oct 28, 2025
@Rutpiv
Copy link
Contributor Author

Rutpiv commented Oct 28, 2025

I finished merging the fonts into a single template and placed both font families under /usr/share/fonts/roboto.
For the Roboto Mono variant, I kept both the regular and wght versions to maintain compatibility.

Most dependent packages build successfully with the updated NASM, but a few issues were identified:

  • edk2-ovmf: Broke after the update — previously built fine, now fails with the new NASM version.
  • libretro-mupen64plus, libx86emu, pcsxr, and stepmania: Already broken before the update; unrelated to this change.

I’m currently looking into the edk2-ovmf issue to identify what caused the breakage after the update.
I found the related issue tianocore/edk2#11635, which includes a patch, but it’s currently failing to apply during the build.

How should I proceed with the packages that were already broken before this change?

@virtfunc
Copy link

virtfunc commented Oct 28, 2025

I’m currently looking into the edk2-ovmf issue to identify what caused the breakage after the update. I found the related issue tianocore/edk2#11635, which includes a patch, but it’s currently failing to apply during the build.

I think its just a whitespace issue if you are copy + pasting that patch, I was able to reproduce failing to apply when using git apply without --whitespace=fix. Added a direct download link in original post (https://github.com/user-attachments/files/23197854/fix_nasm_compile.patch)

@Rutpiv
Copy link
Contributor Author

Rutpiv commented Nov 1, 2025

You were right, the patch from your link applied perfectly and fixed the build. Thanks!

@Rutpiv
Copy link
Contributor Author

Rutpiv commented Nov 1, 2025

Before moving this PR to Ready to Review, I made the following adjustments:

  • Removed the libx86emu test suite, which was causing build issues.
  • Fixed edk2-ovmf using the patch provided by VirtFunc.
  • Marked the remaining problematic packages as broken, as their failures are unrelated to the NASM update.

All other dependent packages build correctly, and the update appears stable.

@Rutpiv Rutpiv marked this pull request as ready for review November 1, 2025 01:58
@Rutpiv Rutpiv force-pushed the nasm branch 2 times, most recently from eed2fe7 to 8dd74df Compare November 8, 2025 02:05
@Rutpiv Rutpiv changed the title nasm: update to 3.01. (fonts-roboto-ttf: include Roboto Mono fonts.) nasm: update to 3.01. Nov 8, 2025
@Rutpiv Rutpiv force-pushed the nasm branch 3 times, most recently from 8763f61 to b7ca2bd Compare December 22, 2025 08:14
@Rutpiv
Copy link
Contributor Author

Rutpiv commented Dec 22, 2025

Marking this PR as draft for now.
The previous edk2-ovmf release built successfully with a patch applied, but the newer version no longer builds (with nasm 3.01) on my side.
I’d prefer to keep this as draft until the regression in edk2-ovmf is properly understood and addressed.

@Rutpiv Rutpiv marked this pull request as draft December 22, 2025 08:15
@Rutpiv
Copy link
Contributor Author

Rutpiv commented Feb 26, 2026

This PR has been updated with the following changes:

  • fonts-roboto-ttf

    • Updated roboto-3-classic to 3.015.
    • Switched to the static TTF variant, matching NASM’s default font usage.
  • nasm

    • Updated to 3.01.
    • Simplified the template by removing the custom doc option; documentation now follows the standard build flow.
    • Disabled tests. The previous checks (enabled by me) regenerated golden files and compared them against locally generated outputs, which does not provide meaningful validation in the packaging context.
    • Removed the vsed adjustment, no longer needed after the Roboto update.
  • edk2-ovmf

    • Added upstream patch fixing the NASM 3.x compatibility issue.
    • A new upstream release including the fix is already available; the patch can be dropped when updating.
  • libx86emu

    • Disabled tests. The suite relies on strict golden output comparison. A few tests differ due to minor bit-level changes (no functional impact) and updated instruction behavior producing additional padding. Updating the golden references would require further validation.
  • stepmania, pcsxr, libretro-mupen64plus

    • Marked as broken.
    • Builds were already failing prior to the NASM update.

Marking as ready for review.

@Rutpiv Rutpiv marked this pull request as ready for review February 26, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants