diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest index 0f491497c9..0c3cc661ad 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest @@ -1 +1,2 @@ DIST nasm-2.16.03.tar.xz 1032388 BLAKE2B 742cbf330341fde9f778d8ca13e8c06199f48796d47028ac973d39e3d9e434450cdfebe89f6ab248d372bdaeb0c88a25eb7153a39b66fc05e770523d4c9e11e9 SHA512 0c706e41a9c33e1ac3bad5056e8bf8cbcd51785b551a6e34ce7d0d723df8eaab8603a033e89b3dcda1004b558f9e9ef3196691500f10d8201bf47a323a516f84 +DIST nasm-3.01.tar.xz 1499136 BLAKE2B 182d908e949e8212ec29bfaa4b747312f7b57dd686195c9b44701f0055ced4b40555624e27d1e1183b356095da76ba1ac8b2a5aa84b2e0d2277106de8ca915d1 SHA512 ca9550ad3239cfaa9546a908e8de86e11a7c7dd9d6006f42d272d0b025b601cdb205e60b8b3929f31123ef450dd0f0403e1300328cadf0ffdfd459f443944482 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.01.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.01.ebuild new file mode 100644 index 0000000000..e15966772d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.01.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="groovy little assembler" +HOMEPAGE="https://www.nasm.us/" +SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz" +S=${WORKDIR}/${P/_} + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="doc" + +QA_CONFIG_IMPL_DECL_SKIP=( + # Windows. + _BitScanReverse + _BitScanReverse64 + + # Linux headers that are not included. + __cpu_to_le16 + __cpu_to_le32 + __cpu_to_le64 + _byteswap_uint64 + _byteswap_ulong + _byteswap_ushort + cpu_to_le16 + cpu_to_le32 + cpu_to_le64 + + # __typeof as gnu extensions are not enabled + typeof + + # musl doesn't define __bswap_N in endian.h (it's named _bswapN + # instead). could be fixed to call this instead, or to include + # musl's byteswap.h instead, but it is much easier to fall back on + # __builtin_bswapN. Bug #928848 + __bswap_16 + __bswap_32 + __bswap_64 +) + +# [fonts note] doc/psfonts.ph defines ordered list of font preference. +# Currently 'media-fonts/source-pro' is most preferred and is able to +# satisfy all 6 font flavours: tilt, chapter, head, etc. +BDEPEND=" + dev-lang/perl + doc? ( + app-text/ghostscript-gpl + dev-perl/Font-TTF + dev-perl/Sort-Versions + media-fonts/source-code-pro + media-fonts/source-sans:3 + virtual/perl-File-Spec + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.15-bsd-cp-doc.patch +) + +src_prepare() { + default + + # https://bugs.gentoo.org/870214 + # During the split of media-fonts/source-pro, the source-sans files + # were renamed. Currently depend on media-fonts/source-sans:3 which works + # with this sed. + sed -i 's/SourceSansPro/SourceSans3/g' doc/psfonts.ph || die + + AT_M4DIR="${S}/autoconf/m4" eautoreconf +} + +src_configure() { + # --enable-lto just appends -flto to *FLAGS + # so let users just use lto through normal make.conf *FLAGS + econf +} + +src_compile() { + default + use doc && emake doc +} + +src_install() { + default + emake DESTDIR="${D}" install $(usex doc install_doc '') +}