diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 3e4bc644771..887df2c5d3d 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -184,6 +184,7 @@ dev-debug/strace dev-lang/duktape dev-lang/go-bootstrap dev-lang/lua +dev-lang/nasm dev-lang/perl dev-lang/python dev-lang/python-exec diff --git a/changelog/security/2024-07-08-nasm.md b/changelog/security/2024-07-08-nasm.md new file mode 100644 index 00000000000..05c6edf1545 --- /dev/null +++ b/changelog/security/2024-07-08-nasm.md @@ -0,0 +1 @@ +- nasm ([CVE-2019-6290](https://nvd.nist.gov/vuln/detail/CVE-2019-6290), [CVE-2019-6291](https://nvd.nist.gov/vuln/detail/CVE-2019-6291), [CVE-2019-8343](https://nvd.nist.gov/vuln/detail/CVE-2019-8343), [CVE-2020-21528](https://nvd.nist.gov/vuln/detail/CVE-2020-21528), [CVE-2021-33450](https://nvd.nist.gov/vuln/detail/CVE-2021-33450), [CVE-2021-33452](https://nvd.nist.gov/vuln/detail/CVE-2021-33452), [CVE-2022-44368](https://nvd.nist.gov/vuln/detail/CVE-2022-44368), [CVE-2022-44369](https://nvd.nist.gov/vuln/detail/CVE-2022-44369), [CVE-2022-44370](https://nvd.nist.gov/vuln/detail/CVE-2022-44370)) diff --git a/changelog/updates/2024-07-08-nasm.md b/changelog/updates/2024-07-08-nasm.md new file mode 100644 index 00000000000..08211f64609 --- /dev/null +++ b/changelog/updates/2024-07-08-nasm.md @@ -0,0 +1 @@ +- SDK: nasm ([2.16.01](https://github.com/netwide-assembler/nasm/releases/tag/nasm-2.16.01)) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index a27fec22482..d1cf1d76ed8 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -31,7 +31,6 @@ # Needed by arm64-native SDK. =dev-embedded/u-boot-tools-2021.04_rc2 ~arm64 -=dev-lang/nasm-2.15.05 ~arm64 # Keep versions on both arches in sync. =dev-lang/python-3.11.9 ~amd64 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 43b1e8d6cea..3c759667d31 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,3 @@ -DIST nasm-2.15.05.tar.xz 995732 BLAKE2B a41434965c2125577b762d907a0a3c251c75d9f9beac230fba4099182c7f7beb08c6d2c05c2432b0dc8ba829f24077f44c3096faea9bd0a533250e6dbbfaef35 SHA512 512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7 +DIST nasm-2.16.01.tar.xz 1017732 BLAKE2B 0f7e96648e3db6fa4a8e10a89885f61cab7d79af25adbcc9d4706b3af61206c3cae024b7f873d636f5c1b2cb34ce5e7fbecc16af9b59086e9a1f49fb37c59670 SHA512 51fccb5639ce019d9c423c0f279750ffbd74c64cd41dd3b185d1aa1a1aaed79c5d3cd8d4bebbc13ee249a375ed27457ea2abde1a4dbb24d354598fffd1254833 +DIST nasm-2.16.02.tar.xz 1044824 BLAKE2B daa3585e9aef3c388e3b577a52453b31aaa7f13942e621c21bbe6ec744ff30bf2692e853dda193b30006989cb10e40dcc1cf0107176e31fd5ee096baad28c7a1 SHA512 9ccafb4cd9064fb21f6551309d35ba7461de8da138b1239d76c2ea0c070a1a767f1019d5d705088375d625cfb73eebbfd9dfa3588107793b95354d89dcfd22c3 +DIST nasm-2.16.03.tar.xz 1032388 BLAKE2B 742cbf330341fde9f778d8ca13e8c06199f48796d47028ac973d39e3d9e434450cdfebe89f6ab248d372bdaeb0c88a25eb7153a39b66fc05e770523d4c9e11e9 SHA512 0c706e41a9c33e1ac3bad5056e8bf8cbcd51785b551a6e34ce7d0d723df8eaab8603a033e89b3dcda1004b558f9e9ef3196691500f10d8201bf47a323a516f84 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16-autoconf-macro-fixes.patch b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16-autoconf-macro-fixes.patch new file mode 100644 index 00000000000..c2efc5b2e2f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16-autoconf-macro-fixes.patch @@ -0,0 +1,241 @@ +From 5a2d629501d57301fe1d85fe6b2576e318f523d1 Mon Sep 17 00:00:00 2001 +From: "H. Peter Anvin" +Date: Sun, 19 Feb 2023 21:26:15 -0800 +Subject: [PATCH] autoconf: a much of macro fixes... not sure how this ever + worked? + +Exposed a bunch of problems with the autoconf m4 macro +library. Hopefulyy fix it, and tidy it up in the process. + +Signed-off-by: H. Peter Anvin +--- /dev/null ++++ b/autoconf/m4/pa_add_cppflags.m4 +@@ -0,0 +1,9 @@ ++dnl -------------------------------------------------------------------------- ++dnl PA_ADD_CPPFLAGS(variable, flag [,actual_flag [,success [,failure]]]]) ++dnl ++dnl Attempt to add the given option to xFLAGS, if it doesn't break ++dnl compilation. If the option to be tested is different than the ++dnl option that should actually be added, add the option to be ++dnl actually added as a second argument. ++dnl -------------------------------------------------------------------------- ++AC_DEFUN([PA_ADD_CPPFLAGS], [PA_ADD_FLAGS(CPPFLAGS, [$1], [$2], [$3], [$4])]) +--- a/autoconf/m4/pa_add_flags.m4 ++++ b/autoconf/m4/pa_add_flags.m4 +@@ -1,23 +1,39 @@ + dnl -------------------------------------------------------------------------- +-dnl PA_ADD_FLAGS(variable, flag [,actual_flag [,success [,failure]]]) ++dnl PA_ADD_FLAGS(flagvar, flags) + dnl +-dnl Attempt to add the given option to CPPFLAGS, if it doesn't break +-dnl compilation. If the option to be tested is different than the +-dnl option that should actually be added, add the option to be +-dnl actually added as a second argument. ++dnl Add [flags] to the variable [flagvar] if and only if it is accepted ++dnl by all languages affected by [flagvar], if those languages have ++dnl been previously seen in the script. + dnl -------------------------------------------------------------------------- + AC_DEFUN([PA_ADD_FLAGS], +-[AC_MSG_CHECKING([if $CC accepts $2]) +- pa_add_flags__old_flags="$$1" +- $1="$$1 $2" +- AC_LINK_IFELSE( +- [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], +- [printf("Hello, World!\n");])], +- [AC_MSG_RESULT([yes]) +- $1="$pa_add_flags__old_flags ifelse([$3],[],[$2],[$3])" +- AC_DEFINE(PA_SYM([$1_],[$2]), 1, +- [Define to 1 if compiled with the `$2' compiler flag]) ++[ ++ AS_VAR_PUSHDEF([old], [_$0_$1_orig]) ++ AS_VAR_PUSHDEF([ok], [_$0_$1_ok]) ++ AS_VAR_PUSHDEF([flags], [$1]) ++ ++ AS_VAR_COPY([old], [flags]) ++ AS_VAR_SET([flags], ["$flags $2"]) ++ AS_VAR_SET([ok], [yes]) ++ ++ PA_LANG_FOREACH(PA_FLAGS_LANGLIST($1), ++ [AS_VAR_IF([ok], [yes], ++ [AC_MSG_CHECKING([if $]_AC_CC[ accepts $2]) ++ PA_BUILD_IFELSE([], ++ [AC_MSG_RESULT([yes])], ++ [AC_MSG_RESULT([no]) ++ AS_VAR_SET([ok], [no])])]) ++ ]) ++ ++ AS_VAR_IF([ok], [yes], ++ [m4_ifnblank([$3],[AS_VAR_SET([flags], ["$old $3"])]) ++ m4_foreach_w([_pa_add_flags_flag], [m4_ifblank([$3],[$2],[$3])], ++ [AC_DEFINE(PA_SYM([$1_]_pa_add_flags_flag), 1, ++ [Define to 1 if compiled with the ]_pa_add_flags_flag[ compiler flag])]) + $4], +- [AC_MSG_RESULT([no]) +- $1="$pa_add_flags__old_flags" +- $5])]) ++ [AS_VAR_SET([flags], ["$old"]) ++ $5]) ++ ++ AS_VAR_POPDEF([flags]) ++ AS_VAR_POPDEF([ok]) ++ AS_VAR_POPDEF([old]) ++]) +--- /dev/null ++++ b/autoconf/m4/pa_build_ifelse.m4 +@@ -0,0 +1,16 @@ ++dnl -------------------------------------------------------------------------- ++dnl PA_BUILD_IFELSE(input [,success [,failure]]) ++dnl ++dnl Same as AC_LINK_IFELSE for languages where linking is applicable, ++dnl otherwise AC_COMPILE_IFELSE. ++dnl ++dnl If the first argument is empty, use _AC_LANG_IO_PROGRAM. ++dnl -------------------------------------------------------------------------- ++m4_defun([_PA_BUILD_IFELSE], ++[m4_case(_AC_LANG, ++ [Erlang], [AC_COMPILE_IFELSE($@)], ++ [AC_LINK_IFELSE($@)])]) ++ ++AC_DEFUN([PA_BUILD_IFELSE], ++[_PA_BUILD_IFELSE([m4_ifblank([$1],[AC_LANG_SOURCE(_AC_LANG_IO_PROGRAM)], ++ [$1])],[$2],[$3])]) +--- /dev/null ++++ b/autoconf/m4/pa_flags_langlist.m4 +@@ -0,0 +1,19 @@ ++dnl -------------------------------------------------------------------------- ++dnl PA_FLAGS_LANGLIST(flagvar) ++dnl ++dnl Return a list of languages affected by the variable flagvar. ++dnl If flagvar is unknown, assume it affects the current language. ++dnl -------------------------------------------------------------------------- ++AC_DEFUN([PA_FLAGS_LANGLIST], ++[m4_dquote(m4_case([$1], ++ [CPPFLAGS], [[C],[C++],[Objective C],[Objective C++]], ++ [CFLAGS], [[C]], ++ [CXXFLAGS], [[C++]], ++ [FFLAGS], [[Fortran 77]], ++ [FCFLAGS], [[Fortran]], ++ [ERLCFLAGS], [[Erlang]], ++ [OBJCFLAGS], [[Objective C]], ++ [OBJCXXFLAGS], [[Objective C++]], ++ [GOFLAGS], [[Go]], ++ [LDFLAGS], [[C],[C++],[Fortran 77],[Fortran],[Objective C],[Objective C++],[Go]], ++ m4_dquote(_AC_LANG)))]) +--- /dev/null ++++ b/autoconf/m4/pa_lang_foreach.m4 +@@ -0,0 +1,15 @@ ++dnl -------------------------------------------------------------------------- ++dnl PA_LANG_FOREACH(subset, body) ++dnl ++dnl Expand [body] for each language encountered in the configure script also ++dnl present in [subset], or all if [subset] is empty ++dnl -------------------------------------------------------------------------- ++AC_DEFUN([_PA_LANG_DO],dnl ++[AC_LANG([$2])dnl ++$1]) ++ ++AC_DEFUN([PA_LANG_FOREACH],dnl ++[m4_pushdef([_pa_lang_foreach_current],[_AC_LANG])dnl ++m4_map_args([m4_curry([_PA_LANG_DO],[$2])],m4_unquote(PA_LANG_SEEN_LIST($1)))dnl ++AC_LANG(_pa_lang_foreach_current)dnl ++m4_popdef([_pa_lang_foreach_current])]) +--- /dev/null ++++ b/autoconf/m4/pa_lang_seen_list.m4 +@@ -0,0 +1,20 @@ ++dnl -------------------------------------------------------------------------- ++dnl PA_LANG_SEEN_LIST(subset) ++dnl ++dnl List of the language lang has been used in the configuration ++dnl script so far, possibly subset by [subset]. ++dnl ++dnl This relies on overriding _AC_LANG_SET(from, to), ++dnl the internal implementation of _AC_LANG. ++dnl -------------------------------------------------------------------------- ++m4_ifndef([_PA_LANG_SET], ++[m4_rename([_AC_LANG_SET], [_PA_LANG_SET])dnl ++m4_defun([_AC_LANG_SET], [m4_set_add([_PA_LANG_SEEN_SET],[$2])dnl ++_PA_LANG_SET($@)])]) ++ ++AC_DEFUN([PA_LANG_SEEN_LIST], ++[m4_set_delete([_pa_lang_seen_subset])dnl ++m4_pushdef([_pa_lang_seen_subset_list],m4_ifnblank([$1],[$1],m4_dquote(m4_set_list([_PA_LANG_SEEN_SET]))))dnl ++m4_set_add_all([_pa_lang_seen_subset],_pa_lang_seen_subset_list)dnl ++m4_cdr(m4_set_intersection([_pa_lang_seen_subset],[_PA_LANG_SEEN_SET]))dnl ++m4_popdef([_pa_lang_seen_subset_list])]) +--- a/configure.ac ++++ b/configure.ac +@@ -12,9 +12,6 @@ dnl start; this is used to generate config/unconfig.h. + AH_BOTTOM([ + /* Begin unconfig.h */]) + +-dnl Save initial CFLAGS, to see if -g -O2 came from configure or not +-pa_init_cflags="$CFLAGS" +- + dnl This prevents us from running Wine and thinking we are not + dnl cross-compiling when in fact we are; running Wine here is at + dnl the best very slow and doesn't buy us a single thing at all. +@@ -27,35 +24,29 @@ AC_CANONICAL_HOST + dnl Enable any available C extensions + AC_PROG_CC + AC_USE_SYSTEM_EXTENSIONS +-AC_SYS_LARGEFILE +-PA_ADD_CFLAGS([-std=c17], [], [], +-[PA_ADD_CFLAGS([-std=c11], [], [], +- [PA_ADD_CFLAGS([-std=c99])])]) +- +-dnl If the user did not specify a CFLAGS default, change default +-dnl to -O0 for debugging +-PA_ARG_DISABLED([optimization], +- [compile without optimization (-O0) to help debugging], +- [pa_no_optimize=true]) ++PA_ADD_CPPFLAGS([-std=c17], [], [], ++[PA_ADD_CPPFLAGS([-std=c11], [], [], ++ [PA_ADD_CPPFLAGS([-std=c99])])]) + +-dnl Other programs +-pa_no_optimize=false +- +-dnl Compile and link with dwarf debug ++dnl Compile and link with gdb debug extensions + PA_ARG_ENABLED([gdb], +- [disable optimization and compile with extra debug information for GDB debugger], +- [PA_ADD_CFLAGS([-ggdb3]) +- pa_no_optimize=true]) ++ [compile with extra debug information for GDB debugger], ++ [PA_ADD_CFLAGS([-ggdb3])]) + +-AS_IF([$pa_no_optimize], +- [PA_ADD_CFLAGS([-O0]) +- PA_ADD_CFLAGS([-fno-omit-frame-pointer])]) ++dnl Disable optimization ++PA_ARG_DISABLED([optimization], ++ [compile without optimization (-O0) to help debugging], ++ [PA_ADD_CFLAGS([-O0]) ++ PA_ADD_CFLAGS([-fno-omit-frame-pointer])]) + + dnl Profiling + PA_ARG_ENABLED([profiling], + [compile with profiling (-pg option)], + [PA_ADD_CFLAGS([-pg])]) + ++dnl Large files ++AC_SYS_LARGEFILE ++ + dnl Abort on panic + PA_ARG_ENABLED([panic-abort], + [call abort() on panic to trap in the debugger], +@@ -104,10 +95,10 @@ AC_PROG_MAKE_SET + AC_PROG_INSTALL + AC_PROG_MKDIR_P + +-AC_CHECK_PROGS(NROFF, nroff, false) +-AC_CHECK_PROGS(ASCIIDOC, asciidoc, false) +-AC_CHECK_PROGS(XMLTO, xmlto, false) +-AC_CHECK_PROGS(XZ, xz, false) ++AC_CHECK_PROGS([NROFF], nroff, false) ++AC_CHECK_PROGS([ASCIIDOC], asciidoc, false) ++AC_CHECK_PROGS([XMLTO], xmlto, false) ++AC_CHECK_PROGS([XZ], xz, false) + + dnl Check for progs needed for manpage generation + MANPAGES=manpages diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16.02-unconfig.patch b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16.02-unconfig.patch new file mode 100644 index 00000000000..77478b7e68c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16.02-unconfig.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in 2024-04-05 07:51:48.394437050 -0000 ++++ b/Makefile.in 2024-04-05 07:52:38.731388961 -0000 +@@ -214,7 +214,7 @@ + INSDEP = x86/insns.dat x86/insns.pl x86/insns-iflags.ph x86/iflags.ph + + config/unconfig.h: config/config.h.in +- $(RUNPERL) $(tools)/unconfig.pl \ ++ $(RUNPERL) $(top_srcdir)/autoconf/unconfig.pl \ + '$(srcdir)' config/config.h.in config/unconfig.h + + x86/iflag.c: $(INSDEP) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.15.05.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.15.05.ebuild deleted file mode 100644 index 0e5a4eeeb37..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.15.05.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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 ~ia64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" -IUSE="doc" - -# [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-pro - virtual/perl-File-Spec - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.15-bsd-cp-doc.patch -) - -src_compile() { - default - use doc && emake doc -} - -src_install() { - default - emake DESTDIR="${D}" install_rdf $(usex doc install_doc '') -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.01-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.01-r1.ebuild new file mode 100644 index 00000000000..0f855d0d70e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.01-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2023 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 ~ia64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +IUSE="doc" + +QA_CONFIG_IMPL_DECL_SKIP=( + _BitScanReverse + _BitScanReverse64 + __cpu_to_le16 + __cpu_to_le32 + __cpu_to_le64 + _byteswap_uint64 + _byteswap_ulong + _byteswap_ushort + cpu_to_le16 + cpu_to_le32 + cpu_to_le64 +) + +# [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 + "${FILESDIR}"/${PN}-2.16-autoconf-macro-fixes.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_compile() { + default + use doc && emake doc +} + +src_install() { + default + emake DESTDIR="${D}" install $(usex doc install_doc '') +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.02.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.02.ebuild new file mode 100644 index 00000000000..bd26dd55026 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.02.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2024 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 ~ia64 ~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 + "${FILESDIR}"/${PN}-2.16.02-unconfig.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_compile() { + default + use doc && emake doc +} + +src_install() { + default + emake DESTDIR="${D}" install $(usex doc install_doc '') +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.03.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.03.ebuild new file mode 100644 index 00000000000..4c03189e21b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.03.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2024 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 ~ia64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="doc lto" + +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() { + local myconfargs=( + $(use_enable lto) + ) + econf "${myconfargs[@]}" +} + +src_compile() { + default + use doc && emake doc +} + +src_install() { + default + emake DESTDIR="${D}" install $(usex doc install_doc '') +}