Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains
@ 2023-07-21 20:56 Johnnynator
  2023-07-21 21:15 ` [PR PATCH] [Updated] " Johnnynator
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-21 20:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 567 bytes --]

There is a new pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35




A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 29959 bytes --]

From 05e2f9fcc036655631edfe1240ccf57cc6c5ab07 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 1/4] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 000000000000..db38df3b010a
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 000000000000..20cdc42308dc
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 000000000000..232de555155f
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebba..fc97d56b88ae 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From de4fe0fb12f81fd6872dbc7af2b3633191e75df4 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 2/4] gcc: add riscv.

---
 srcpkgs/gcc/template | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae..790ba37bc34c 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -125,6 +125,7 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +144,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 462ccb58afb16c2534777d48b2e4df6c6a7af068 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 15 Jan 2023 22:27:27 +0100
Subject: [PATCH 3/4] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 srcpkgs/cross-vpkg-dummy/template        |  5 +++
 srcpkgs/gcc/template                     |  3 +-
 7 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 000000000000..02ef7f85f521
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 000000000000..18103d0bab5d
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95..2dfe48166446 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 000000000000..e8371ddf3e4d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 000000000000..2eb8a05eded1
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}
diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3..48474a042c10 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -75,4 +79,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 790ba37bc34c..2751c3d69282 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -4,7 +4,7 @@
 
 pkgname=gcc
 version=12.2.0
-revision=2
+revision=3
 _minorver="${version%.*}"
 _majorver="${_minorver%.*}"
 _gmp_version=6.2.1
@@ -125,6 +125,7 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
 	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in

From a371192bbdc48f91127aeaa6de6d3c09e582e9f4 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 17 Jul 2019 16:54:58 +0200
Subject: [PATCH 4/4] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 000000000000..29a94c9a7433
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 000000000000..4a8c831e615d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 000000000000..8f276dc05385
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 000000000000..33ccc9789f93
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 000000000000..64906d48ecbf
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 000000000000..c8b653748fe8
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 000000000000..d20751fd9fdb
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WiP] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
@ 2023-07-21 21:15 ` Johnnynator
  2023-07-21 21:17 ` Johnnynator
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-21 21:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 31697 bytes --]

From 05e2f9fcc036655631edfe1240ccf57cc6c5ab07 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 1/6] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From 3a62ddbd2e93f9d143375141fd3862c4a82261dc Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 2/6] gcc: add riscv.

---
 srcpkgs/gcc/template | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..2751c3d69282d 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -4,7 +4,7 @@
 
 pkgname=gcc
 version=12.2.0
-revision=2
+revision=3
 _minorver="${version%.*}"
 _majorver="${_minorver%.*}"
 _gmp_version=6.2.1
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 98c15e302a631d0c98a72b20cc66024b4b3ddbdb Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 3/6] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 0e208ed3a6be70ef4e9fea60164e9274f834ace5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 4/6] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95c..2dfe481664466 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From 11803ce76a9593c45311387ea42985d16be4eafc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 5/6] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..d20751fd9fdb6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From 9e7c0fd96d6449d2dd6777c12aa9e14b393a7dea Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 6/6] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..e1332e9d299a3 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WiP] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
  2023-07-21 21:15 ` [PR PATCH] [Updated] " Johnnynator
@ 2023-07-21 21:17 ` Johnnynator
  2023-07-21 22:06 ` Johnnynator
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-21 21:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 31533 bytes --]

From 05e2f9fcc036655631edfe1240ccf57cc6c5ab07 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 1/6] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From afa0e7b0f327b05c779a2ff95bb5fe7dd11df7a3 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 2/6] gcc: add riscv.

---
 srcpkgs/gcc/template | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..ff099b2be749a 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 038681b7c4e963553adacb4da09db445f99da380 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 3/6] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 8a1ed22d6c559f6c3cf6946e6922b9a3036e2ece Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 4/6] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95c..2dfe481664466 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From 29e02abd5a563079ac83a7131872df31404aeffb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 5/6] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..d20751fd9fdb6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From 42aebecd77e0376c6dc4225df79d1a506dc10eb0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 6/6] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..e1332e9d299a3 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WiP] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
  2023-07-21 21:15 ` [PR PATCH] [Updated] " Johnnynator
  2023-07-21 21:17 ` Johnnynator
@ 2023-07-21 22:06 ` Johnnynator
  2023-07-22  9:01 ` Johnnynator
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-21 22:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 32604 bytes --]

From 9c64f3b5637c31029af946357458fee3b3dc72c0 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 1/7] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 000000000000..db38df3b010a
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 000000000000..20cdc42308dc
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 000000000000..232de555155f
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebba..fc97d56b88ae 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From eecd30c83898f4ecb2dfe81a64fd66a7db031d6a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 2/7] gcc: add riscv.

---
 srcpkgs/gcc/template | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae..ff099b2be749 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 63141c463ce21615640264a74d6e2feabf898eed Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 3/7] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af..2c055324e852 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From d2426dedd7698a0dd01cd23d30819183d1d7aeb7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 4/7] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 000000000000..02ef7f85f521
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f555741..d7da998ba354 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 000000000000..18103d0bab5d
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95..2dfe48166446 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 000000000000..e8371ddf3e4d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 000000000000..2eb8a05eded1
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From 6764fd64b9cc91c481c5e6957889db1756257834 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 5/7] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 000000000000..29a94c9a7433
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 000000000000..4a8c831e615d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 000000000000..8f276dc05385
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 000000000000..33ccc9789f93
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 000000000000..64906d48ecbf
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 000000000000..c8b653748fe8
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 000000000000..d20751fd9fdb
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From fc2592a8f5fce12803422278d7962e0a3e6951d9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 6/7] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3..e1332e9d299a 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

From d1f801379a2d027e849c5b63ba17503edd3dee4c Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:16 +0100
Subject: [PATCH 7/7] build-style/void-cross.sh: adjustments for
 --enable-autolink-libatomic.

---
 common/build-style/void-cross.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index d7da998ba354..2e8ebb52ceaf 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libmudflap \
 		--disable-libssp \
 		--disable-libitm \
-		--disable-libatomic \
+		--disable-libatomic --disable-autolink-libatomic \
 		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
@@ -377,6 +377,10 @@ _void_cross_build_gcc() {
 
 	msg_normal "Building gcc for ${tgt}\n"
 
+	# GIANT HACK: create an empty libatomic.a so gcc cross-compile
+	# below works.
+	ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
+
 	mkdir -p ${wrksrc}/gcc_build
 	cd ${wrksrc}/gcc_build
 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WiP] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
                   ` (2 preceding siblings ...)
  2023-07-21 22:06 ` Johnnynator
@ 2023-07-22  9:01 ` Johnnynator
  2023-07-22 14:20 ` Johnnynator
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-22  9:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 35806 bytes --]

From 9c64f3b5637c31029af946357458fee3b3dc72c0 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 01/10] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From eecd30c83898f4ecb2dfe81a64fd66a7db031d6a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 02/10] gcc: add riscv.

---
 srcpkgs/gcc/template | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..ff099b2be749a 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 63141c463ce21615640264a74d6e2feabf898eed Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 03/10] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From d2426dedd7698a0dd01cd23d30819183d1d7aeb7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 04/10] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95c..2dfe481664466 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From 6764fd64b9cc91c481c5e6957889db1756257834 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 05/10] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..d20751fd9fdb6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From fc2592a8f5fce12803422278d7962e0a3e6951d9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 06/10] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..e1332e9d299a3 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

From d1f801379a2d027e849c5b63ba17503edd3dee4c Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:16 +0100
Subject: [PATCH 07/10] build-style/void-cross.sh: adjustments for
 --enable-autolink-libatomic.

---
 common/build-style/void-cross.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index d7da998ba354b..2e8ebb52ceaf9 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libmudflap \
 		--disable-libssp \
 		--disable-libitm \
-		--disable-libatomic \
+		--disable-libatomic --disable-autolink-libatomic \
 		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
@@ -377,6 +377,10 @@ _void_cross_build_gcc() {
 
 	msg_normal "Building gcc for ${tgt}\n"
 
+	# GIANT HACK: create an empty libatomic.a so gcc cross-compile
+	# below works.
+	ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
+
 	mkdir -p ${wrksrc}/gcc_build
 	cd ${wrksrc}/gcc_build
 

From dd5d7734b39aed69f489a5248a324f27c804c875 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:03 +0200
Subject: [PATCH 08/10] cross-arm-linux-gnueabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index dbb8d90c8c244..c11560ff2a223 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 3744c8c4dc00123b1749f82c71b49cf5b9dacf3a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:21 +0200
Subject: [PATCH 09/10] cross-arm-linux-musleabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 8b25e9f7c365e..35e03b44b4f9a 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From b2390d2e16ff4c3c9ba7576ef3201d33fa00062c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:27 +0200
Subject: [PATCH 10/10] cross-arm-linux-musleabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index d6dca4e920d5a..af1683f13df36 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WiP] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
                   ` (3 preceding siblings ...)
  2023-07-22  9:01 ` Johnnynator
@ 2023-07-22 14:20 ` Johnnynator
  2023-07-22 14:27 ` Johnnynator
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-22 14:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 133199 bytes --]

From f71e7a3e0d9edcf237fa059bb1706bad51057357 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 01/11] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From 773a1ffdee99c37cfd47fce3d084c9f06d9836b6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 02/11] gcc: add riscv.

---
 srcpkgs/gcc/template | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..459c83368c18c 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -55,7 +55,7 @@ else
 fi
 makedepends="zlib-devel libzstd-devel"
 depends="binutils libgcc-devel-${version}_${revision}
- libstdc++-devel-${version}_${revision}"
+ libstdc++-devel-${version}_${revision} libatomic-devel-${version}_${revision}"
 checkdepends="dejagnu"
 
 subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 63dacd68c815d6df81d06716b4e5e20269567194 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 03/11] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 73e0f541657fdc63270afef42c5903e78be69a24 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 04/11] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95c..2dfe481664466 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From c02ad4f66044ff852240f137a6ea9167ac0ed983 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 05/11] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..d20751fd9fdb6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From f78f498e0e7591b3229f5a78047870217eba87f9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 06/11] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..9325168acb4cd 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -1,7 +1,7 @@
 # Template file for 'cross-vpkg-dummy'
 pkgname=cross-vpkg-dummy
 version=0.39
-revision=4
+revision=5
 build_style=meta
 depends="base-files>=0.126"
 short_desc="Dummy meta-pkg for cross building packages with xbps-src"
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

From 8c983a60971f820c5b1246b6977a3223952558c4 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:16 +0100
Subject: [PATCH 07/11] build-style/void-cross.sh: adjustments for
 --enable-autolink-libatomic.

---
 common/build-style/void-cross.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index d7da998ba354b..2e8ebb52ceaf9 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libmudflap \
 		--disable-libssp \
 		--disable-libitm \
-		--disable-libatomic \
+		--disable-libatomic --disable-autolink-libatomic \
 		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
@@ -377,6 +377,10 @@ _void_cross_build_gcc() {
 
 	msg_normal "Building gcc for ${tgt}\n"
 
+	# GIANT HACK: create an empty libatomic.a so gcc cross-compile
+	# below works.
+	ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
+
 	mkdir -p ${wrksrc}/gcc_build
 	cd ${wrksrc}/gcc_build
 

From 928ed65a365a663da699560e47dc3a2a6e90e42d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:03 +0200
Subject: [PATCH 08/11] cross-arm-linux-gnueabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index dbb8d90c8c244..c11560ff2a223 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 986588472bc6ce7214894194c203b14c9df90f66 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:21 +0200
Subject: [PATCH 09/11] cross-arm-linux-musleabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 8b25e9f7c365e..35e03b44b4f9a 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 6ba446b9a219d93d0f01b866334d7165d323cce3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:27 +0200
Subject: [PATCH 10/11] cross-arm-linux-musleabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index d6dca4e920d5a..af1683f13df36 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 5ab33107ec900682258cf73a190ee307c6e8da4d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:20:09 +0200
Subject: [PATCH 11/11] bulk: remove libatomic-devel in dependency fields

---
 srcpkgs/ART/template                  |  2 +-
 srcpkgs/Aegisub/template              |  1 -
 srcpkgs/Carla/template                |  4 ----
 srcpkgs/Clipboard/template            |  1 -
 srcpkgs/CubicSDR/template             |  1 -
 srcpkgs/EternalTerminal/template      |  4 ----
 srcpkgs/FreeRADIUS/template           |  4 ----
 srcpkgs/LGOGDownloader/template       |  4 ----
 srcpkgs/LimeSuite/template            |  4 ----
 srcpkgs/MEGAcmd/template              |  1 -
 srcpkgs/OpenRCT2/template             |  1 -
 srcpkgs/OpenSubdiv/template           |  1 -
 srcpkgs/QMPlay2/template              |  1 -
 srcpkgs/SuiteSparse/template          |  4 ----
 srcpkgs/abseil-cpp/template           |  1 -
 srcpkgs/ahoviewer/template            |  4 ----
 srcpkgs/akonadi5/template             |  4 ----
 srcpkgs/alembic/template              | 10 ++++------
 srcpkgs/android-tools/template        |  1 -
 srcpkgs/apr-util/template             |  1 -
 srcpkgs/apr/template                  |  1 -
 srcpkgs/arcan/template                |  1 -
 srcpkgs/ardour/template               |  1 -
 srcpkgs/audacity/template             |  1 -
 srcpkgs/bacula-common/template        |  3 ---
 srcpkgs/bcc/template                  |  4 ----
 srcpkgs/bees/template                 |  1 -
 srcpkgs/bind/template                 |  2 +-
 srcpkgs/cabbage/template              |  1 -
 srcpkgs/capnproto/template            |  1 -
 srcpkgs/ccache/template               |  4 ----
 srcpkgs/ccls/template                 |  1 -
 srcpkgs/cereal/template               |  1 -
 srcpkgs/chatterino2/template          |  1 -
 srcpkgs/chromium/template             |  4 ++--
 srcpkgs/cjs/template                  |  1 -
 srcpkgs/cmus/template                 |  1 -
 srcpkgs/conduit/template              |  1 -
 srcpkgs/corectrl/template             |  1 -
 srcpkgs/dhcp/template                 |  4 ----
 srcpkgs/difftastic/template           |  1 -
 srcpkgs/digikam/template              |  1 -
 srcpkgs/dosbox-staging/template       |  1 -
 srcpkgs/duperemove/template           |  2 +-
 srcpkgs/edbrowse/template             |  1 -
 srcpkgs/electron19/template           |  4 ++--
 srcpkgs/electron24/template           |  4 ++--
 srcpkgs/encfs/template                |  1 -
 srcpkgs/fairy-stockfish/template      |  1 -
 srcpkgs/ffmpeg/template               |  1 -
 srcpkgs/ffms2/template                |  1 -
 srcpkgs/filezilla/template            |  4 ----
 srcpkgs/fio/template                  |  1 -
 srcpkgs/firefox-esr/template          |  2 +-
 srcpkgs/firefox/template              |  2 +-
 srcpkgs/fish-shell/template           |  4 ----
 srcpkgs/fplll/template                |  4 ----
 srcpkgs/fselect/template              |  1 -
 srcpkgs/fswatch/template              |  1 -
 srcpkgs/geonkick/template             |  1 -
 srcpkgs/giada/template                |  4 ----
 srcpkgs/gjs/template                  |  1 -
 srcpkgs/glirc/template                |  1 -
 srcpkgs/glog/template                 |  1 -
 srcpkgs/glslViewer/template           |  4 ----
 srcpkgs/gnunet/template               |  4 ----
 srcpkgs/gnuradio/template             |  1 -
 srcpkgs/goxel/template                |  4 ----
 srcpkgs/grpc/template                 |  1 -
 srcpkgs/gzdoom/template               |  1 -
 srcpkgs/haproxy/template              |  2 +-
 srcpkgs/hedgewars/template            |  4 ++--
 srcpkgs/highway/template              |  1 -
 srcpkgs/i2pd/template                 |  4 ++--
 srcpkgs/inkscape/template             |  4 ----
 srcpkgs/jack_capture/template         |  1 -
 srcpkgs/kdiff3/template               |  1 -
 srcpkgs/kismet/template               |  1 -
 srcpkgs/kiwix-lib/template            |  4 ----
 srcpkgs/kiwix-tools/template          |  1 -
 srcpkgs/kjsembed/template             |  4 ----
 srcpkgs/kodi/template                 |  1 -
 srcpkgs/krita/template                |  4 ----
 srcpkgs/kross/template                |  4 ----
 srcpkgs/kwin/template                 |  3 +--
 srcpkgs/lc0/template                  |  4 ----
 srcpkgs/libdex/template               |  2 +-
 srcpkgs/libfilezilla/template         |  1 -
 srcpkgs/libjxl/template               |  1 -
 srcpkgs/libogre/template              |  2 +-
 srcpkgs/libopenshot-audio/template    |  1 -
 srcpkgs/libplacebo/template           |  1 -
 srcpkgs/libreoffice/template          |  4 ----
 srcpkgs/libtd/template                |  1 -
 srcpkgs/libtorrent-rasterbar/template |  7 -------
 srcpkgs/llvm12/template               |  2 +-
 srcpkgs/llvm15/template               |  2 +-
 srcpkgs/lms/template                  |  1 -
 srcpkgs/mariadb/template              |  4 ++--
 srcpkgs/mesa/template                 |  2 +-
 srcpkgs/mgba/template                 |  1 -
 srcpkgs/mlt/template                  |  2 +-
 srcpkgs/mlt7/template                 |  2 +-
 srcpkgs/mozc/template                 |  4 ----
 srcpkgs/mozjs102/template             |  1 -
 srcpkgs/mozjs78/template              |  1 -
 srcpkgs/mpv/template                  |  4 ----
 srcpkgs/musikcube/template            |  4 ----
 srcpkgs/netdata/template              |  1 -
 srcpkgs/nix/template                  |  4 ----
 srcpkgs/nodejs/template               |  4 ++--
 srcpkgs/nushell/template              |  2 +-
 srcpkgs/opencv/template               |  4 ----
 srcpkgs/opendht/template              |  4 ----
 srcpkgs/openimageio/template          |  4 ----
 srcpkgs/openmpi/template              |  1 -
 srcpkgs/openmw/template               |  1 -
 srcpkgs/openttd/template              |  4 ----
 srcpkgs/openvdb/template              |  1 -
 srcpkgs/pipewire/template             |  1 -
 srcpkgs/plocate/template              |  1 -
 srcpkgs/poedit/template               |  1 -
 srcpkgs/polybar/template              |  1 -
 srcpkgs/primesieve/template           |  4 ----
 srcpkgs/prometheus-cpp/template       |  2 +-
 srcpkgs/protobuf/template             |  3 +--
 srcpkgs/python3-grpcio-tools/template |  1 -
 srcpkgs/python3-grpcio/template       |  4 ----
 srcpkgs/python3-pyqt6/template        |  4 ----
 srcpkgs/qpdf/template                 |  1 -
 srcpkgs/qt5-webengine/template        | 14 --------------
 srcpkgs/qt5-webkit/template           |  1 -
 srcpkgs/qt5/template                  |  7 -------
 srcpkgs/qt6-3d/template               |  3 +--
 srcpkgs/qt6-base/template             |  2 +-
 srcpkgs/qt6-tools/template            |  2 +-
 srcpkgs/qtcreator/template            |  1 -
 srcpkgs/qtox/template                 |  4 ----
 srcpkgs/quickjs/template              |  1 -
 srcpkgs/rawtherapee/template          |  2 +-
 srcpkgs/receivemidi/template          |  4 ----
 srcpkgs/redis/template                |  4 ----
 srcpkgs/renderdoc/template            |  1 -
 srcpkgs/retroshare/template           |  4 ----
 srcpkgs/rocksdb/template              |  1 -
 srcpkgs/rubberband/template           |  1 -
 srcpkgs/rust/template                 |  5 -----
 srcpkgs/sendmidi/template             |  4 ----
 srcpkgs/snapcast/template             |  4 ----
 srcpkgs/solvespace/template           |  1 -
 srcpkgs/sonic-visualiser/template     |  4 ----
 srcpkgs/squid/template                |  1 -
 srcpkgs/srt/template                  |  1 -
 srcpkgs/stockfish/template            |  1 -
 srcpkgs/supercollider/template        |  2 +-
 srcpkgs/supertuxkart/template         |  4 ----
 srcpkgs/swi-prolog/template           |  1 -
 srcpkgs/syntax-highlighting/template  |  3 +--
 srcpkgs/sysbench/template             |  4 ----
 srcpkgs/telegram-desktop/template     |  2 +-
 srcpkgs/thrift/template               |  4 ----
 srcpkgs/thunderbird/template          |  4 ----
 srcpkgs/tomahawk/template             |  4 ----
 srcpkgs/uhd/template                  |  1 -
 srcpkgs/vapoursynth/template          |  1 -
 srcpkgs/vkQuake/template              |  1 -
 srcpkgs/vtk/template                  |  4 ----
 srcpkgs/warzone2100/template          |  4 ----
 srcpkgs/watchexec/template            |  1 -
 srcpkgs/webkit2gtk/template           |  2 +-
 srcpkgs/wt/template                   |  1 -
 srcpkgs/xrootd/template               |  1 -
 srcpkgs/zfs/template                  |  4 ----
 173 files changed, 43 insertions(+), 373 deletions(-)

diff --git a/srcpkgs/ART/template b/srcpkgs/ART/template
index a15bf7a9bdd17..a86a304711e84 100644
--- a/srcpkgs/ART/template
+++ b/srcpkgs/ART/template
@@ -4,7 +4,7 @@ version=1.13
 revision=2
 build_style=cmake
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel exiv2-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Fork of RawTherapee with additional features"
diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index 671c74ca645a0..3744c3cc6529f 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -27,7 +27,6 @@ desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/Carla/template b/srcpkgs/Carla/template
index c383f7b3133eb..3f055ca1c8a2a 100644
--- a/srcpkgs/Carla/template
+++ b/srcpkgs/Carla/template
@@ -34,10 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	export LDFLAGS="-lfts"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$CROSS_BUILD" ]; then
 		vsed -i -e 's#\./carla-lv2-export#/usr/bin/carla-lv2-export#g' \
diff --git a/srcpkgs/Clipboard/template b/srcpkgs/Clipboard/template
index d6bb7e23f6970..c33fb45eb942e 100644
--- a/srcpkgs/Clipboard/template
+++ b/srcpkgs/Clipboard/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/Slackadays/Clipboard/archive/refs/tags/${version}.
 checksum=f7ceb2dbb76bc094ac8afbef97bdef0f1a9451ca7dd1a4a181f3b2a859a2f094
 
 if [ "${XBPS_TARGET_NO_ATOMIC8}" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index e5e26088e7f32..c224fc1379bf1 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -20,6 +20,5 @@ build_options="alsa pulseaudio jack"
 build_options_default="alsa pulseaudio"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 156eab6ce47ec..e738148fbe3f9 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv EternalTerminal-et-v${version} ${build_wrksrc}
 	mv sanitizers-cmake-${_sanitizers_gitrev}/* \
diff --git a/srcpkgs/FreeRADIUS/template b/srcpkgs/FreeRADIUS/template
index ee2059a373b46..13d2ef286e22c 100644
--- a/srcpkgs/FreeRADIUS/template
+++ b/srcpkgs/FreeRADIUS/template
@@ -15,10 +15,6 @@ nocross=yes # Not supported by upstream
 system_accounts="_freeradius"
 make_dirs="/etc/raddb 0750 _freeradius _freeradius"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_install() {
 	# FreeRADIUS uses 'R' instead of 'DESTDIR'
 	export R=${DESTDIR}
diff --git a/srcpkgs/LGOGDownloader/template b/srcpkgs/LGOGDownloader/template
index 37bb3b973594c..e749d635c5c29 100644
--- a/srcpkgs/LGOGDownloader/template
+++ b/srcpkgs/LGOGDownloader/template
@@ -19,10 +19,6 @@ checksum=01c9556287d5f49662c2219365b9d306482e8efadc805c3dbb9381d5110df719
 build_options="qt"
 desc_option_qt="Include QT WebEngine to support solving captchas"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ -z "$CROSS_BUILD" ]; then
 	hostmakedepends+=" help2man"
 fi
diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index 25a49c5ad71e4..fe963be85f860 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -45,10 +45,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 
diff --git a/srcpkgs/MEGAcmd/template b/srcpkgs/MEGAcmd/template
index e4e0e2ee13f6b..cd0dfaf6d5a1d 100644
--- a/srcpkgs/MEGAcmd/template
+++ b/srcpkgs/MEGAcmd/template
@@ -18,7 +18,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/OpenRCT2/template b/srcpkgs/OpenRCT2/template
index ceb69d829a39c..5866e44d12da9 100644
--- a/srcpkgs/OpenRCT2/template
+++ b/srcpkgs/OpenRCT2/template
@@ -77,7 +77,6 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/OpenSubdiv/template b/srcpkgs/OpenSubdiv/template
index ffc64637bd4d3..1ee7eead6dfe9 100644
--- a/srcpkgs/OpenSubdiv/template
+++ b/srcpkgs/OpenSubdiv/template
@@ -21,7 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/QMPlay2/template b/srcpkgs/QMPlay2/template
index 850df9d418b90..00a55417659f6 100644
--- a/srcpkgs/QMPlay2/template
+++ b/srcpkgs/QMPlay2/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/zaps166/QMPlay2/releases/download/${version}/QMPla
 checksum=dc57afc6e3299701508e5dbffa486d7956d6764420dcc0f22a0da8f7d07a2137
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index 3490f6f3fa7f2..73dabfa8950ee 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -23,10 +23,6 @@ case "$XBPS_TARGET_MACHINE" in
 	*) ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 do_build() {
 	make library \
 		JOBS=$XBPS_MAKEJOBS \
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index ea2fa2506873f..5fe16466deb2c 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -5,7 +5,6 @@ revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
 hostmakedepends="pkg-config"
-makedepends="libatomic-devel"
 short_desc="Abseil common libraries"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
diff --git a/srcpkgs/ahoviewer/template b/srcpkgs/ahoviewer/template
index 27aa75d2589fe..ebe27060b424a 100644
--- a/srcpkgs/ahoviewer/template
+++ b/srcpkgs/ahoviewer/template
@@ -17,10 +17,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=a14e32b4a8095c9f8b4b607c090a50cc8ac1076550e57b5a9303c54089068152
 nocross="https://travis-ci.org/void-linux/void-packages/jobs/490108528#L1022"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "ahoviewer_LDADD += -latomic" >> src/Makefile.am
diff --git a/srcpkgs/akonadi5/template b/srcpkgs/akonadi5/template
index b38d9fe0d6a70..9be306794db1f 100644
--- a/srcpkgs/akonadi5/template
+++ b/srcpkgs/akonadi5/template
@@ -20,10 +20,6 @@ homepage="https://community.kde.org/KDE_PIM/Akonadi"
 distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-${version}.tar.xz"
 checksum=5e91b86e895263b76d6f1f00cd9fcd8399d5a6c293581e629ab310fc72dfa6a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e "s;^\(target_link_libraries(.*\);\1 atomic;" -i src/server/CMakeLists.txt
diff --git a/srcpkgs/alembic/template b/srcpkgs/alembic/template
index 53ff7d48719f2..1fbc7b13fab88 100644
--- a/srcpkgs/alembic/template
+++ b/srcpkgs/alembic/template
@@ -18,13 +18,11 @@ case "$XBPS_TARGET_MACHINE" in
 	ppc*) broken="undefined reference to '__sync_bool_compare_and_swap_8'";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-
-	post_patch() {
+post_patch() {
+	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		printf '\ntarget_link_libraries(Alembic PRIVATE atomic)\n' >> lib/Alembic/CMakeLists.txt
-	}
-fi
+	fi
+}
 
 post_install() {
 	vlicense LICENSE.txt
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index b813474eace03..54012fa5e79b2 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -16,7 +16,6 @@ distfiles="https://github.com/nmeum/android-tools/releases/download/${version}/a
 checksum=60234ecbca19a17a7e2f46a4581960d645b7c55b870d924a21494c76a6f548ec
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/apr-util/template b/srcpkgs/apr-util/template
index f1cd4363365a8..17a94361cd32d 100644
--- a/srcpkgs/apr-util/template
+++ b/srcpkgs/apr-util/template
@@ -23,7 +23,6 @@ checksum=d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/apr/template b/srcpkgs/apr/template
index 6fb1fefd4f627..e546186592bd4 100644
--- a/srcpkgs/apr/template
+++ b/srcpkgs/apr/template
@@ -25,7 +25,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/arcan/template b/srcpkgs/arcan/template
index 7be9652eccf3c..853e16fcad391 100644
--- a/srcpkgs/arcan/template
+++ b/srcpkgs/arcan/template
@@ -46,7 +46,6 @@ if [ "$XBPS_TARGET_WORDSIZE" = "$XBPS_WORDSIZE" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/ardour/template b/srcpkgs/ardour/template
index f45d263565b46..ab16f26eedf4f 100644
--- a/srcpkgs/ardour/template
+++ b/srcpkgs/ardour/template
@@ -24,7 +24,6 @@ export PATH="/usr/libexec/chroot-git:$PATH"
 conf_files="/etc/ardour7/*"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index d509c0a894077..28e9c4a3528f1 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -24,7 +24,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/bacula-common/template b/srcpkgs/bacula-common/template
index 1be957d9ed668..a3d2f1da2d82e 100644
--- a/srcpkgs/bacula-common/template
+++ b/srcpkgs/bacula-common/template
@@ -17,9 +17,6 @@ checksum=a40d04d2c48135972cecb6578405e835c4b9d798c0950017de0fad40ca94e8a0
 alternatives="bacula-db-backend:/usr/lib/libbaccats-${version}.so:/usr/lib/libbaccats-sqlite3-${version}.so"
 shlib_provides="libbaccats-${version}.so"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
 CFLAGS="-Wno-narrowing"
 
 post_install() {
diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index ecedbd8e4bef6..d613acc78be95 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -15,10 +15,6 @@ distfiles="https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-
 checksum=65adcaf4cee17fa3a94d0bb96d3691ca7e5864244e7bd52df93f7ae6c004f23d
 python_version="3"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	sed -i '/tests/d' CMakeLists.txt  # break on musl
 	sed -i 's/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc
diff --git a/srcpkgs/bees/template b/srcpkgs/bees/template
index 5296bf7991378..423d9187e601e 100644
--- a/srcpkgs/bees/template
+++ b/srcpkgs/bees/template
@@ -23,7 +23,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/bind/template b/srcpkgs/bind/template
index 54493e5d9cf90..f16a7cb722b2c 100644
--- a/srcpkgs/bind/template
+++ b/srcpkgs/bind/template
@@ -10,7 +10,7 @@ configure_args="--disable-static --enable-largefile --with-libtool
  --with-libidn2 --disable-backtrace"
 hostmakedepends="automake libtool perl pkg-config"
 makedepends="openssl-devel libxml2-devel libcap-devel readline-devel mit-krb5-devel
- libatomic-devel libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
+  libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
 checkdepends="python3-pytest"
 short_desc="Berkeley Internet Name Domain server"
 maintainer="Randy McCaskill <randy@mccaskill.us>"
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index f8cb9a31c2d86..911af80be28d7 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -31,7 +31,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS=" -latomic"
 fi
 
diff --git a/srcpkgs/capnproto/template b/srcpkgs/capnproto/template
index 5ab6e0a62cdcf..77652040538be 100644
--- a/srcpkgs/capnproto/template
+++ b/srcpkgs/capnproto/template
@@ -16,7 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index bd6a537d7cb12..dd8d1e704ab6e 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -20,10 +20,6 @@ if [ -n "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DENABLE_TESTING=ON"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ccache-${version}/* .
 }
diff --git a/srcpkgs/ccls/template b/srcpkgs/ccls/template
index ecc9f3e38a5d8..ec0597c9f6d85 100644
--- a/srcpkgs/ccls/template
+++ b/srcpkgs/ccls/template
@@ -13,6 +13,5 @@ distfiles="https://github.com/MaskRay/ccls/archive/${version}.tar.gz"
 checksum=af19be36597c2a38b526ce7138c72a64c7fb63827830c4cff92256151fc7a6f4
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/cereal/template b/srcpkgs/cereal/template
index 32644ae3f39e4..a790d1f42b1c6 100644
--- a/srcpkgs/cereal/template
+++ b/srcpkgs/cereal/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/USCiLab/cereal/archive/v${version}.tar.gz"
 checksum=16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/chatterino2/template b/srcpkgs/chatterino2/template
index 977fa9771498e..32454a86e9d6e 100644
--- a/srcpkgs/chatterino2/template
+++ b/srcpkgs/chatterino2/template
@@ -34,7 +34,6 @@ checksum="f1fff3523f5a3f633430d44f7ca6c6c718a515258d50004a855e69e4aa989b4e
  f9cf386638f455c5d2e7a835b95941201387d2531b8682942d59827663b58341"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 3eb657ab23d28..284e15b03a0d6 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -7,13 +7,13 @@ archs="i686* x86_64* aarch64* armv7l*"
 hostmakedepends="
  $(vopt_if clang "clang lld llvm15")
  bison git gperf hwids ninja nodejs perl pkg-config python3
- libatomic-devel libepoxy-devel libevent-devel libglib-devel
+  libepoxy-devel libevent-devel libglib-devel
  rust"
 makedepends="
  alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel
  fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel
  libXcomposite-devel libXcursor-devel libXdamage-devel libXi-devel libXrandr-devel
- libatomic-devel libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
+  libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
  libexif-devel libflac-devel libgcrypt-devel libjpeg-turbo-devel libmtp-devel
  libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel
  libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel
diff --git a/srcpkgs/cjs/template b/srcpkgs/cjs/template
index b0fafe6603f8c..46bf5cb605166 100644
--- a/srcpkgs/cjs/template
+++ b/srcpkgs/cjs/template
@@ -23,7 +23,6 @@ checksum=212fa302f15ea955af6dc87fdba3898f751d078df91cb84b0e6615d5a2b84e15
 make_check=extended
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/cmus/template b/srcpkgs/cmus/template
index 0fcb424ce336c..0fdcec461c217 100644
--- a/srcpkgs/cmus/template
+++ b/srcpkgs/cmus/template
@@ -21,7 +21,6 @@ build_options_default="elogind"
 desc_option_elogind="Support MPRIS interface via elogind"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LDLIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/conduit/template b/srcpkgs/conduit/template
index 2f44e9d0f2e3d..1ab7a0df0d444 100644
--- a/srcpkgs/conduit/template
+++ b/srcpkgs/conduit/template
@@ -20,7 +20,6 @@ make_dirs="/var/lib/conduit 0700 _conduit _conduit
  /etc/conduit 755 _conduit _conduit"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/corectrl/template b/srcpkgs/corectrl/template
index b85385804faac..da0523eafb783 100644
--- a/srcpkgs/corectrl/template
+++ b/srcpkgs/corectrl/template
@@ -17,6 +17,5 @@ distfiles="${homepage}/-/archive/v${version}/corectrl-v${version}.tar.gz"
 checksum=6b8817ce1bb09257148e6d3f6196546724a8ea185fedfff70f302621ce36cc12
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
diff --git a/srcpkgs/dhcp/template b/srcpkgs/dhcp/template
index ca3423ce8833d..dee0043b9e67c 100644
--- a/srcpkgs/dhcp/template
+++ b/srcpkgs/dhcp/template
@@ -11,10 +11,6 @@ homepage="https://www.isc.org/downloads/dhcp"
 distfiles="http://ftp.isc.org/isc/dhcp/${version/P/-P}/dhcp-${version/P/-P}.tar.gz"
 checksum=b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 disable_parallel_build=yes
 conf_files="/etc/dhcpd.conf"
 
diff --git a/srcpkgs/difftastic/template b/srcpkgs/difftastic/template
index 2182ece1b6a76..769301f7b417b 100644
--- a/srcpkgs/difftastic/template
+++ b/srcpkgs/difftastic/template
@@ -12,7 +12,6 @@ distfiles="https://static.crates.io/crates/difftastic/difftastic-${version}.crat
 checksum=ff0b1d205396b2eb156bd56b4f361767c13a02a14db1b0c8c663e4ff16160f17
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 	if [ -z "$CROSS_BUILD" ]; then
 		broken="how is this supposed to even work"
diff --git a/srcpkgs/digikam/template b/srcpkgs/digikam/template
index 5c98ed64aada0..1cee24f3b60ef 100644
--- a/srcpkgs/digikam/template
+++ b/srcpkgs/digikam/template
@@ -35,7 +35,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
index 202f6a6911e22..f5483acab28a5 100644
--- a/srcpkgs/dosbox-staging/template
+++ b/srcpkgs/dosbox-staging/template
@@ -18,6 +18,5 @@ checksum=2ca69e65e6c181197b63388c60487a3bcea804232a28c44c37704e70d49a0392
 conflicts="dosbox"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/duperemove/template b/srcpkgs/duperemove/template
index d5ed8bea29fe4..03e02859cf62b 100644
--- a/srcpkgs/duperemove/template
+++ b/srcpkgs/duperemove/template
@@ -3,7 +3,7 @@ pkgname=duperemove
 version=0.11.2
 revision=1
 hostmakedepends="pkg-config"
-makedepends="sqlite-devel libglib-devel libgcrypt-devel libatomic-devel"
+makedepends="sqlite-devel libglib-devel libgcrypt-devel"
 short_desc="Tools for deduping file systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-only"
diff --git a/srcpkgs/edbrowse/template b/srcpkgs/edbrowse/template
index f5f78af47851f..947241eab2624 100644
--- a/srcpkgs/edbrowse/template
+++ b/srcpkgs/edbrowse/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/CMB/edbrowse/archive/v${version}.tar.gz"
 checksum=2c7f6a07e5897060527b6cc5c19c45106444e2c4d8c9799434973c352d9ce4e6
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	make_build_args+=" QUICKJS_LDFLAGS+=-latomic"
 fi
 
diff --git a/srcpkgs/electron19/template b/srcpkgs/electron19/template
index 32ce301e730cf..3093248588438 100644
--- a/srcpkgs/electron19/template
+++ b/srcpkgs/electron19/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/electron24/template b/srcpkgs/electron24/template
index bdaa56adc8a65..431ba6b0f8301 100644
--- a/srcpkgs/electron24/template
+++ b/srcpkgs/electron24/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/encfs/template b/srcpkgs/encfs/template
index d041dace80d3b..e3fb3539f650b 100644
--- a/srcpkgs/encfs/template
+++ b/srcpkgs/encfs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fairy-stockfish/template b/srcpkgs/fairy-stockfish/template
index e8df08b5afc70..7a3c512bc4364 100644
--- a/srcpkgs/fairy-stockfish/template
+++ b/srcpkgs/fairy-stockfish/template
@@ -36,7 +36,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index aa058aab9ca9f..200670610b6f3 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -52,7 +52,6 @@ if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 _apply_patch() {
diff --git a/srcpkgs/ffms2/template b/srcpkgs/ffms2/template
index 68e8a0c14bce3..bfeb9698ceb46 100644
--- a/srcpkgs/ffms2/template
+++ b/srcpkgs/ffms2/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index a8d1338d37e7f..c8d7feab7b4f5 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -21,10 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-gtk3-devel xdg-utils"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
diff --git a/srcpkgs/fio/template b/srcpkgs/fio/template
index 663bf2b08e3f4..5ca1157055e0c 100644
--- a/srcpkgs/fio/template
+++ b/srcpkgs/fio/template
@@ -20,7 +20,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/firefox-esr/template b/srcpkgs/firefox-esr/template
index 4d55e3ad54e77..2ddcc411b92eb 100644
--- a/srcpkgs/firefox-esr/template
+++ b/srcpkgs/firefox-esr/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template
index d29d5181a886b..875ca48580197 100644
--- a/srcpkgs/firefox/template
+++ b/srcpkgs/firefox/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/fish-shell/template b/srcpkgs/fish-shell/template
index 60f0f93412438..c5030d7b8d6d4 100644
--- a/srcpkgs/fish-shell/template
+++ b/srcpkgs/fish-shell/template
@@ -17,10 +17,6 @@ register_shell="/bin/fish /usr/bin/fish"
 # tests don't work as root
 make_check=ci-skip
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	# Starting with fish-3.0.0 this is a skeleton file with only comments
 	rm "${DESTDIR}/etc/fish/config.fish"
diff --git a/srcpkgs/fplll/template b/srcpkgs/fplll/template
index c53eee819b7b5..9843d46828414 100644
--- a/srcpkgs/fplll/template
+++ b/srcpkgs/fplll/template
@@ -12,10 +12,6 @@ changelog="https://github.com/fplll/fplll/releases"
 distfiles="https://github.com/fplll/fplll/releases/download/${version}/fplll-${version}.tar.gz"
 checksum=0fd9d378f04ff886d8864728baf5d90b8b0b82c1e541e92550644fb54f75691d
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 fplll-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/fselect/template b/srcpkgs/fselect/template
index 2aa8aa8bf435d..492c4b11d2720 100644
--- a/srcpkgs/fselect/template
+++ b/srcpkgs/fselect/template
@@ -19,7 +19,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fswatch/template b/srcpkgs/fswatch/template
index dfb86f7258195..d2f0039c6c379 100644
--- a/srcpkgs/fswatch/template
+++ b/srcpkgs/fswatch/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/emcrisostomo/fswatch/releases/download/${version}/
 checksum=c38e341c567f5f16bfa64b72fc48bba5e93873d8572522e670e6f320bbc2122f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/geonkick/template b/srcpkgs/geonkick/template
index 5f73484a3fb75..d7494a6ff5057 100644
--- a/srcpkgs/geonkick/template
+++ b/srcpkgs/geonkick/template
@@ -19,6 +19,5 @@ if [ ${CROSS_BUILD} ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS='-latomic'"
 fi
diff --git a/srcpkgs/giada/template b/srcpkgs/giada/template
index 558097e3a0e25..a7ac263ce2f3d 100644
--- a/srcpkgs/giada/template
+++ b/srcpkgs/giada/template
@@ -16,10 +16,6 @@ changelog="https://github.com/monocasual/giada/raw/master/ChangeLog"
 distfiles="https://github.com/monocasual/giada/archive/v${version}.tar.gz"
 checksum=b879f5ba7e9f34d7422aedd89d1d0baa91387b3528e057b4df25e1f2f8d661ef
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e '/list(APPEND LIBRARIES)/a list(APPEND LIBRARIES atomic)' -i CMakeLists.txt
diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index 8e8698e3388a2..571be2734c378 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -19,7 +19,6 @@ checksum=a63f156964b136053eab51ea013114e7d7c193b7518d28c040b6b02c3c933a6d
 make_check_pre="xvfb-run"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 if [ "$XBPS_CHECK_PKGS" ]; then
diff --git a/srcpkgs/glirc/template b/srcpkgs/glirc/template
index 98a677886ae1c..da205ec9810b9 100644
--- a/srcpkgs/glirc/template
+++ b/srcpkgs/glirc/template
@@ -16,7 +16,6 @@ nopie=yes	# ghc is currently built without PIE support
 _cabal_opts="-g"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	_cabal_opts+=" --ghc-option -latomic"
 fi
 
diff --git a/srcpkgs/glog/template b/srcpkgs/glog/template
index 441a149514fd8..07d7137bc77e1 100644
--- a/srcpkgs/glog/template
+++ b/srcpkgs/glog/template
@@ -18,7 +18,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/glslViewer/template b/srcpkgs/glslViewer/template
index e832b3df7b704..72707d14294fa 100644
--- a/srcpkgs/glslViewer/template
+++ b/srcpkgs/glslViewer/template
@@ -18,10 +18,6 @@ distfiles="https://github.com/patriciogonzalezvivo/glslViewer/archive/${version}
 checksum="4d8bac6a801fa61b81e472a8dabfe5469a43c44547d558849a078ed2c26c8034
  a71f149e84afdf12aa88555efef09d0e420c5d5c6ba9c2d67126ecc49fddaff0"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ${pkgname}-${version} ${build_wrksrc}
 	mv vera-${_vera_gitrev}/* ${build_wrksrc}/deps/vera
diff --git a/srcpkgs/gnunet/template b/srcpkgs/gnunet/template
index a8a6dabe66bab..1387a3cf6b37b 100644
--- a/srcpkgs/gnunet/template
+++ b/srcpkgs/gnunet/template
@@ -36,10 +36,6 @@ desc_option_jansson="Enable support for jansson"
 desc_option_opus="Enable support for opus"
 desc_option_zbar="Enable support for zbar"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	NOCONFIGURE=1 autoreconf -fi
 }
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 3308afa6e2c30..be803231f80d2 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -35,7 +35,6 @@ if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/goxel/template b/srcpkgs/goxel/template
index 636dd5f66a768..79268eaf8c1aa 100644
--- a/srcpkgs/goxel/template
+++ b/srcpkgs/goxel/template
@@ -13,10 +13,6 @@ homepage="https://guillaumechereau.github.io/goxel/"
 distfiles="https://github.com/guillaumechereau/goxel/archive/v${version}.tar.gz"
 checksum=e3825625e1af9f58593695b0129e39f68a8f3c7d5696c096b8ed2d8b9ac69430
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_build() {
 	if [ "$CROSS_BUILD" ];then
 		vsed -i SConstruct \
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 9c58c2509bee7..f5afad92794ed 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/gzdoom/template b/srcpkgs/gzdoom/template
index 781616f36a931..8991a8a415ce1 100644
--- a/srcpkgs/gzdoom/template
+++ b/srcpkgs/gzdoom/template
@@ -27,7 +27,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/haproxy/template b/srcpkgs/haproxy/template
index 635755fe4173d..c6578e0fc1dcf 100644
--- a/srcpkgs/haproxy/template
+++ b/srcpkgs/haproxy/template
@@ -5,7 +5,7 @@ revision=1
 build_style=gnu-makefile
 make_install_args="SBINDIR=${DESTDIR}/usr/bin DOCDIR=${DESTDIR}/usr/share/doc/${pkgname}"
 hostmakedepends="lua53-devel"
-makedepends="libatomic-devel openssl-devel lua53-devel pcre2-devel"
+makedepends="openssl-devel lua53-devel pcre2-devel"
 checkdepends="curl varnish"
 short_desc="Reliable, high performance TCP/HTTP load balancer"
 maintainer="Zach Dykstra <dykstra.zachary@gmail.com>"
diff --git a/srcpkgs/hedgewars/template b/srcpkgs/hedgewars/template
index 419f29b98b44d..15a1df6d8861d 100644
--- a/srcpkgs/hedgewars/template
+++ b/srcpkgs/hedgewars/template
@@ -35,8 +35,8 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ -n "$_use_c_engine" ]; then
-	hostmakedepends+=" glew-devel libatomic-devel ghc clang"
-	makedepends+=" glew-devel libatomic-devel"
+	hostmakedepends+=" glew-devel ghc clang"
+	makedepends+=" glew-devel"
 	configure_args+=" -DBUILD_ENGINE_C=1"
 	nopie_files+=" /usr/bin/hedgewars"
 fi
diff --git a/srcpkgs/highway/template b/srcpkgs/highway/template
index 47c51ec1d6165..4d6898b62c746 100644
--- a/srcpkgs/highway/template
+++ b/srcpkgs/highway/template
@@ -4,7 +4,6 @@ version=1.0.4
 revision=1
 build_style=cmake
 configure_args="-DHWY_SYSTEM_GTEST=ON -DHWY_ENABLE_EXAMPLES=OFF"
-makedepends="libatomic-devel"
 checkdepends="gtest-devel"
 short_desc="C++ library providing portable SIMD/vector intrinsics"
 maintainer="Joshua Krämer <joshua@kraemer.link>"
diff --git a/srcpkgs/i2pd/template b/srcpkgs/i2pd/template
index f4e21928b9dcc..6d835ad67c998 100644
--- a/srcpkgs/i2pd/template
+++ b/srcpkgs/i2pd/template
@@ -4,8 +4,8 @@ version=2.48.0
 revision=1
 build_style=gnu-makefile
 make_build_args="USE_UPNP=yes"
-makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel
- libatomic-devel"
+makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel"
+
 short_desc="Full-featured C++ implementation of I2P client"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/inkscape/template b/srcpkgs/inkscape/template
index aa1ab218a442c..49633b61fd861 100644
--- a/srcpkgs/inkscape/template
+++ b/srcpkgs/inkscape/template
@@ -24,10 +24,6 @@ distfiles="https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.
 checksum=a0c7fd0d03c0a21535e648ef301dcf80dd7cfc1f3545e51065fbf1ba3ee8a5c4
 python_version=3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_LIBC" = musl ]; then
 		# disable errors for missing sentinels in glib variadic functions,
diff --git a/srcpkgs/jack_capture/template b/srcpkgs/jack_capture/template
index 5b604fdb2ed50..b5c59179d8d15 100644
--- a/srcpkgs/jack_capture/template
+++ b/srcpkgs/jack_capture/template
@@ -14,7 +14,6 @@ checksum=21afb0257ed7437708cc9e5bec2f6299599461b7eec8bf66967d8ecadb0751de
 CFLAGS+=" -D__USE_GNU"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/kdiff3/template b/srcpkgs/kdiff3/template
index 7ca6d77c9de2d..439abb790839a 100644
--- a/srcpkgs/kdiff3/template
+++ b/srcpkgs/kdiff3/template
@@ -19,6 +19,5 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ $XBPS_TARGET_NO_ATOMIC8 ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 46cbf7b318116..5ede09fb77532 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -20,6 +20,5 @@ checksum=2149cceac5526508653f4d02dcf7a694e3da3dc000a2372a1ee4bf9988279781
 system_groups="kismet"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/kiwix-lib/template b/srcpkgs/kiwix-lib/template
index 6534f59384a53..4b8fa31866db7 100644
--- a/srcpkgs/kiwix-lib/template
+++ b/srcpkgs/kiwix-lib/template
@@ -14,10 +14,6 @@ changelog="https://github.com/kiwix/kiwix-lib/blob/${version}/ChangeLog"
 distfiles="https://sources.voidlinux-ppc.org/kiwix-lib-${version}/${version}.tar.gz"
 checksum=f76bfa90411c52d4d8c49ac5767928fc28d01ef26916d72df4856cf08b064202
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kiwix-lib-devel_package() {
 	short_desc+=" - development packages"
 	depends="pugixml-devel icu-devel xapian-core-devel libzim-devel
diff --git a/srcpkgs/kiwix-tools/template b/srcpkgs/kiwix-tools/template
index e9f0841b61aea..dfa8a817adaa6 100644
--- a/srcpkgs/kiwix-tools/template
+++ b/srcpkgs/kiwix-tools/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/kiwix/kiwix-tools/archive/${version}.tar.gz"
 checksum=86325ec31976d40357f08c520806cf223fa1b0a5edb02ad106c2a0d6746ca364
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/kjsembed/template b/srcpkgs/kjsembed/template
index 1dcfd1d8338e6..6c3b334e85942 100644
--- a/srcpkgs/kjsembed/template
+++ b/srcpkgs/kjsembed/template
@@ -16,10 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-host-tools qt5-qmake kdoctools"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kjsembed-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index 8057964d78a38..bd5433969db64 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -96,7 +96,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template
index 8280590f39efc..420783517167f 100644
--- a/srcpkgs/krita/template
+++ b/srcpkgs/krita/template
@@ -32,10 +32,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) makedepends+=" vc";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	# CMake won't search in those directories because of CMAKE_FIND_ROOT_PATH
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/kross/template b/srcpkgs/kross/template
index 49bc5f603ed85..0f287825f7ae6 100644
--- a/srcpkgs/kross/template
+++ b/srcpkgs/kross/template
@@ -15,10 +15,6 @@ homepage="https://invent.kde.org/frameworks/kross"
 distfiles="${KDE_SITE}/frameworks/${version%.*}/portingAids/${pkgname}-${version}.tar.xz"
 checksum=3f0eac7ceaf22fae6202efb66b73e192b781e5733566cbf3362d82be8e8cbe8e
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kross-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kwin/template b/srcpkgs/kwin/template
index c530ec5ea57d6..91a1176995720 100644
--- a/srcpkgs/kwin/template
+++ b/srcpkgs/kwin/template
@@ -13,8 +13,7 @@ makedepends="plasma-framework-devel kcmutils-devel knewstuff-devel
  kscreenlocker-devel kinit-devel xcb-util-cursor-devel qt5-multimedia-devel
  kdecoration-devel libxkbcommon-devel libinput-devel libSM-devel
  libICE-devel xcb-util-wm-devel qt5-sensors-devel lcms2-devel
- pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids
- libatomic-devel"
+ pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids"
 depends="breeze hicolor-icon-theme kinit qt5-core>=5.15.2<5.16.0
  hwids libcap-progs"
 short_desc="KDE Window manager"
diff --git a/srcpkgs/lc0/template b/srcpkgs/lc0/template
index 9e419aa99689a..01ad362471c70 100644
--- a/srcpkgs/lc0/template
+++ b/srcpkgs/lc0/template
@@ -27,10 +27,6 @@ if [ "$CROSS_BUILD" ] && [ "$build_option_openblas" ]; then
 	configure_args+=" -Dopenblas_include=${XBPS_CROSS_BASE}/usr/include/openblas/"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc*) export CXXFLAGS+=" -DNO_WARN_X86_INTRINSICS";;
 esac
diff --git a/srcpkgs/libdex/template b/srcpkgs/libdex/template
index 4c6f15150f4a4..06b6c90365726 100644
--- a/srcpkgs/libdex/template
+++ b/srcpkgs/libdex/template
@@ -10,7 +10,7 @@ configure_args="-Dexamples=false
  $(vopt_bool vala vapi)"
 hostmakedepends="pkg-config glib-devel gettext
  $(vopt_if vala vala) $(vopt_if gtk_doc gi-docgen)"
-makedepends="glib-devel libgirepository-devel libatomic-devel
+makedepends="glib-devel libgirepository-devel
  liburing-devel $(vopt_if vala 'vala vala-devel')"
 short_desc="Future-based programming for GLib-based applications"
 maintainer="oreo639 <oreo6391@gmail.com>"
diff --git a/srcpkgs/libfilezilla/template b/srcpkgs/libfilezilla/template
index 3f14afac2e55a..ada549cb23f35 100644
--- a/srcpkgs/libfilezilla/template
+++ b/srcpkgs/libfilezilla/template
@@ -16,7 +16,6 @@ distfiles="https://download.filezilla-project.org/${pkgname}/${pkgname}-${versio
 checksum=2a8f57a06b52f6413b47d6a5dfbe7e9e31c84cc0784076f2f7e395232b0bd461
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index 8aa7c970accbb..a32e13469a280 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -26,7 +26,6 @@ checksum="c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420
 skip_extraction="skcms-${_skcms_hash}.tar.gz"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/libogre/template b/srcpkgs/libogre/template
index aa04d72212472..38e9cb9d52c6c 100644
--- a/srcpkgs/libogre/template
+++ b/srcpkgs/libogre/template
@@ -8,7 +8,7 @@ configure_args="-DOGRE_INSTALL_SAMPLES=TRUE -DOGRE_INSTALL_DOCS=TRUE
 make_build_target="all OgreDoc"
 hostmakedepends="pkg-config graphviz doxygen dejavu-fonts-ttf"
 makedepends="boost-devel freetype-devel libXaw-devel libXrandr-devel
- MesaLib-devel zziplib-devel libcppunit-devel glu-devel libatomic-devel
+ MesaLib-devel zziplib-devel libcppunit-devel glu-devel
  freeimage-devel pugixml-devel python3-devel"
 short_desc="Scene-oriented, flexible 3D engine"
 maintainer="Enno Boland <gottox@voidlinux.org>"
diff --git a/srcpkgs/libopenshot-audio/template b/srcpkgs/libopenshot-audio/template
index 99ed64a757f4e..deeb6fae494e2 100644
--- a/srcpkgs/libopenshot-audio/template
+++ b/srcpkgs/libopenshot-audio/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/OpenShot/libopenshot-audio/archive/v${version}.tar
 checksum=007ba6ee812a58506341dd66055dba575b3907e5274a0e7416f99c2fbb80021c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/libplacebo/template b/srcpkgs/libplacebo/template
index b58d978095d1a..9258c184247d5 100644
--- a/srcpkgs/libplacebo/template
+++ b/srcpkgs/libplacebo/template
@@ -16,7 +16,6 @@ distfiles="https://code.videolan.org/videolan/libplacebo/-/archive/v${version}/l
 checksum=7b3c857934ee3d30f743e43d7f0606e10950806661ea0ea385f8a1f06cbab854
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template
index bf5d7af39190a..35c83414acaf1 100644
--- a/srcpkgs/libreoffice/template
+++ b/srcpkgs/libreoffice/template
@@ -170,10 +170,6 @@ case "$XBPS_TARGET_MACHINE" in
 		;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS+=" -DGLM_ENABLE_EXPERIMENTAL -DU_USING_ICU_NAMESPACE=1"
 
 # Move files listed in a <name>_list.txt into $PKGDESTDIR
diff --git a/srcpkgs/libtd/template b/srcpkgs/libtd/template
index a54fe851decf6..68f7106dfebcb 100644
--- a/srcpkgs/libtd/template
+++ b/srcpkgs/libtd/template
@@ -19,7 +19,6 @@ fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
-	makedepends+=" libatomic-devel"
 fi
 
 pre_configure() {
diff --git a/srcpkgs/libtorrent-rasterbar/template b/srcpkgs/libtorrent-rasterbar/template
index b34c92df1ee24..297239391080b 100644
--- a/srcpkgs/libtorrent-rasterbar/template
+++ b/srcpkgs/libtorrent-rasterbar/template
@@ -19,10 +19,6 @@ CXXFLAGS="-std=c++14"
 
 # TODO: The test_resume failed in CI for i686 but passed with xbps-uunshare
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i CMakeLists.txt -e "s;Threads::Threads;& atomic;"
@@ -51,9 +47,6 @@ libtorrent-rasterbar-python3_package() {
 
 libtorrent-rasterbar-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision} openssl-devel boost-devel geoip-devel"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index aea0b43cf573b..86e86bb96c63f 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -27,7 +27,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm12>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/llvm15/template b/srcpkgs/llvm15/template
index 7eaadb18b9d65..81571270b03c3 100644
--- a/srcpkgs/llvm15/template
+++ b/srcpkgs/llvm15/template
@@ -32,7 +32,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm15>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/lms/template b/srcpkgs/lms/template
index d20ae1ec1fc86..2df52c51dbfe6 100644
--- a/srcpkgs/lms/template
+++ b/srcpkgs/lms/template
@@ -18,7 +18,6 @@ _lms_homedir="/var/lms"
 make_dirs="/var/lms 755 _lms _lms"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template
index 95e5eeb77d527..f8987e06ed1c6 100644
--- a/srcpkgs/mariadb/template
+++ b/srcpkgs/mariadb/template
@@ -19,7 +19,7 @@ configure_args="-DBUILD_CONFIG=mysql_release
  -DWITH_READLINE=ON -DWITH_SYSTEMD=no -DWITH_PCRE=system"
 hostmakedepends="bison perl flex pkg-config"
 makedepends="ncurses-devel gnutls-devel libaio-devel boost-devel pam-devel zlib-devel
- pcre2-devel libatomic-devel"
+ pcre2-devel"
 depends="perl"
 checkdepends="perl"
 short_desc="Fast SQL database server, drop-in replacement for MySQL"
@@ -83,7 +83,7 @@ libmariadbclient_package() {
 }
 
 libmariadbclient-devel_package() {
-	depends="libmariadbclient>=${version}_${revision} libatomic-devel"
+	depends="libmariadbclient>=${version}_${revision}"
 	provides="libmysqlclient-devel-${version}_${revision}"
 	replaces="libmysqlclient-devel>=0"
 	short_desc+=" - client development files"
diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index b07f38864ea8e..df788fe3b0f00 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -11,7 +11,7 @@ configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
 hostmakedepends="gettext flex llvm pkg-config python3-Mako glslang
  $(vopt_if wayland 'wayland-protocols wayland-devel')"
 makedepends="elfutils-devel expat-devel libXdamage-devel
- libXxf86vm-devel libatomic-devel libdrm-devel libffi-devel libva-devel
+ libXxf86vm-devel libdrm-devel libffi-devel libva-devel
  libvdpau-devel libxshmfence-devel ncurses-devel zlib-devel
  $(vopt_if wayland 'wayland-devel wayland-protocols') llvm libsensors-devel
  libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua53-devel
diff --git a/srcpkgs/mgba/template b/srcpkgs/mgba/template
index ae0504311eee0..4af085188bf44 100644
--- a/srcpkgs/mgba/template
+++ b/srcpkgs/mgba/template
@@ -15,7 +15,6 @@ distfiles="https://github.com/mgba-emu/${pkgname}/archive/${version}.tar.gz"
 checksum="60afef8fb79ba1f7be565b737bae73c6604a790391c737f291482a7422d675ae"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/mlt/template b/srcpkgs/mlt/template
index 8933eb4e7bb9e..5ad199461e694 100644
--- a/srcpkgs/mlt/template
+++ b/srcpkgs/mlt/template
@@ -11,7 +11,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which"
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel"
+ libvidstab-devel"
 depends="mlt-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/mlt7/template b/srcpkgs/mlt7/template
index 9fb7f60d692e1..df3e2c559ad6c 100644
--- a/srcpkgs/mlt7/template
+++ b/srcpkgs/mlt7/template
@@ -9,7 +9,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel qt5-svg-devel"
+ libvidstab-devel qt5-svg-devel"
 depends="mlt7-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index e7735cb57f4fc..991c06425b436 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -40,10 +40,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="Does not build"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv mozc-* mozc
 
diff --git a/srcpkgs/mozjs102/template b/srcpkgs/mozjs102/template
index 4bbc084b5a44d..2bb2d3e7287a1 100644
--- a/srcpkgs/mozjs102/template
+++ b/srcpkgs/mozjs102/template
@@ -25,7 +25,6 @@ checksum=47f8f6243bce8c2ef51adf8c9626bbf643e1c225dcb9ba5653a055ed5e76ca48
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
index 10d9af44619f7..8e7175156669c 100644
--- a/srcpkgs/mozjs78/template
+++ b/srcpkgs/mozjs78/template
@@ -21,7 +21,6 @@ CXXFLAGS="-Wno-class-memaccess"
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mpv/template b/srcpkgs/mpv/template
index e163c496c6ebb..36b8343cb6ac6 100644
--- a/srcpkgs/mpv/template
+++ b/srcpkgs/mpv/template
@@ -43,10 +43,6 @@ changelog="https://github.com/mpv-player/mpv/releases"
 distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
 checksum=41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2
  sndio vapoursynth vdpau vulkan wayland x11"
 build_options_default="alsa jack lcms lua pulseaudio pipewire vdpau vulkan
diff --git a/srcpkgs/musikcube/template b/srcpkgs/musikcube/template
index 7c569303c0543..193cb06a5fadb 100644
--- a/srcpkgs/musikcube/template
+++ b/srcpkgs/musikcube/template
@@ -24,10 +24,6 @@ build_options_default="elogind"
 
 export CMAKE_GENERATOR="Unix Makefiles"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.txt
 }
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 176bcf26d8c53..2d670e5e284ed 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -37,7 +37,6 @@ system_accounts="_netdata"
 conf_files="/etc/${pkgname}/*.conf"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/nix/template b/srcpkgs/nix/template
index 20eb0d85fdaf4..06f34d6e9a0f1 100644
--- a/srcpkgs/nix/template
+++ b/srcpkgs/nix/template
@@ -62,10 +62,6 @@ make_dirs="
 	/nix/var/nix/db 0755 root root
 	/nix/store 1775 root nixbld"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	./bootstrap.sh
 }
diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template
index aa03b7f48c27e..31268b558f81b 100644
--- a/srcpkgs/nodejs/template
+++ b/srcpkgs/nodejs/template
@@ -3,10 +3,10 @@ pkgname=nodejs
 version=18.16.0
 revision=2
 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079
-hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel
+hostmakedepends="which pkg-config python3 zlib-devel
  $(vopt_if icu icu-devel) $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
-makedepends="libatomic-devel zlib-devel $(vopt_if icu icu-devel)
+makedepends="zlib-devel $(vopt_if icu icu-devel)
  $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
 checkdepends="procps-ng iana-etc"
diff --git a/srcpkgs/nushell/template b/srcpkgs/nushell/template
index c0ea4d3a94e0b..8bcb50e307c86 100644
--- a/srcpkgs/nushell/template
+++ b/srcpkgs/nushell/template
@@ -6,7 +6,7 @@ build_style=cargo
 configure_args="--features=extra"
 hostmakedepends="pkg-config python3 libgit2-devel"
 makedepends="openssl-devel libgit2-devel libX11-devel libxcb-devel
- libatomic-devel libcurl-devel libzstd-devel liblz4-devel zlib-devel
+ libcurl-devel libzstd-devel liblz4-devel zlib-devel
  nghttp2-devel bzip2-devel sqlite-devel"
 short_desc="Modern shell for the GitHub era"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 69c635b1ad2bc..62226978fa3e0 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -30,10 +30,6 @@ patch_args="-Np1 -d ${build_wrksrc}"
 # tests hang indenfinitely, even with test data included
 make_check=no
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
diff --git a/srcpkgs/opendht/template b/srcpkgs/opendht/template
index 2902fc6d4a701..25d74d1138c6b 100644
--- a/srcpkgs/opendht/template
+++ b/srcpkgs/opendht/template
@@ -14,10 +14,6 @@ homepage="https://github.com/savoirfairelinux/opendht"
 distfiles="https://github.com/savoirfairelinux/opendht/archive/refs/tags/v${version}.tar.gz"
 checksum=5144bc4456d396b527b59065064bbc31fbe0d2af5fd052506219a66895791e64
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 opendht-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision} gnutls-devel nettle-devel"
diff --git a/srcpkgs/openimageio/template b/srcpkgs/openimageio/template
index 0e9e22e9685d9..69a9e23786942 100644
--- a/srcpkgs/openimageio/template
+++ b/srcpkgs/openimageio/template
@@ -27,10 +27,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) configure_args+=" -DUSE_SIMD=sse2" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.md LICENSE
 }
diff --git a/srcpkgs/openmpi/template b/srcpkgs/openmpi/template
index 291225502c4f1..77038695442e7 100644
--- a/srcpkgs/openmpi/template
+++ b/srcpkgs/openmpi/template
@@ -28,7 +28,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/openmw/template b/srcpkgs/openmw/template
index e3771c7aaf1a3..ddaab54a2003d 100644
--- a/srcpkgs/openmw/template
+++ b/srcpkgs/openmw/template
@@ -30,7 +30,6 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/openttd/template b/srcpkgs/openttd/template
index 4bfb9a56c0768..40596ac750b28 100644
--- a/srcpkgs/openttd/template
+++ b/srcpkgs/openttd/template
@@ -34,10 +34,6 @@ checksum="aafa16d2fb67165134c73a888f79f7a5ed7da17a04cf6e9ecf672c9cb89e7192
  e0a218b7dd9438e701503b0f84c25a97c1c11b7c2f025323fb19d6db16ef3759
  5a4277a2e62d87f2952ea5020dc20fb2f6ffafdccf9913fbf35ad45ee30ec762"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	bsdtar xf opengfx-${_gfxver}.tar
 	bsdtar xf opensfx-${_sfxver}.tar
diff --git a/srcpkgs/openvdb/template b/srcpkgs/openvdb/template
index 0084a3cb85bae..30a61927059d9 100644
--- a/srcpkgs/openvdb/template
+++ b/srcpkgs/openvdb/template
@@ -23,7 +23,6 @@ if [ "$XBPS_WORDSIZE" -eq 32 ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 2fe3186babdf0..ad82aa160c82f 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -45,7 +45,6 @@ desc_option_ffado="Enable support for FireWire based audio devices"
 replaces="libpulseaudio-pipewire>=0"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/plocate/template b/srcpkgs/plocate/template
index bc37ca01e9740..32a64971a2699 100644
--- a/srcpkgs/plocate/template
+++ b/srcpkgs/plocate/template
@@ -26,7 +26,6 @@ alternatives="
  locate:updatedb.conf.5:/usr/share/man/man5/pupdatedb.conf.5"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index f27cb3e5dbeff..377183469ae74 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/polybar/template b/srcpkgs/polybar/template
index b59ed9cd039a8..10d3ffa4ba75f 100644
--- a/srcpkgs/polybar/template
+++ b/srcpkgs/polybar/template
@@ -38,7 +38,6 @@ desc_option_mpd="Enable support for MPD"
 desc_option_network="Enable support for network"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/primesieve/template b/srcpkgs/primesieve/template
index 84452b604d55f..eb8b48b9ad31f 100644
--- a/srcpkgs/primesieve/template
+++ b/srcpkgs/primesieve/template
@@ -12,10 +12,6 @@ changelog="https://raw.githubusercontent.com/kimwalisch/primesieve/master/Change
 distfiles="https://github.com/kimwalisch/primesieve/archive/refs/tags/v${version}.tar.gz"
 checksum=bab3bc4a1f3247f95b83dfc494ab0ce37a370a7b05379640f58e786d8d5fba61
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense COPYING
 }
diff --git a/srcpkgs/prometheus-cpp/template b/srcpkgs/prometheus-cpp/template
index 3012d53ef47a6..d0a4f97698010 100644
--- a/srcpkgs/prometheus-cpp/template
+++ b/srcpkgs/prometheus-cpp/template
@@ -8,7 +8,7 @@ _hash_civetweb=fbdee7440be24f904208c15a1fc9e2582b866049
 create_wrksrc=yes
 build_style=cmake
 hostmakedepends="telegraf protobuf"
-makedepends="protobuf-devel libatomic-devel"
+makedepends="protobuf-devel"
 short_desc="Prometheus Client Library in Modern C++"
 maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="MIT"
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 828c4b050fdca..a0bfce84c0c1f 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -8,8 +8,7 @@ configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
  -Dprotobuf_BUILD_TESTS=OFF"
 # XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
 hostmakedepends="pkg-config"
-makedepends="zlib-devel gtest-devel libatomic-devel
- abseil-cpp-devel"
+makedepends="zlib-devel gtest-devel abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/python3-grpcio-tools/template b/srcpkgs/python3-grpcio-tools/template
index e36b420967f64..17db7adf151ca 100644
--- a/srcpkgs/python3-grpcio-tools/template
+++ b/srcpkgs/python3-grpcio-tools/template
@@ -17,7 +17,6 @@ checksum=84cc64e5b46bad43d5d7bd2fd772b656eba0366961187a847e908e2cb735db91
 export GRPC_PYTHON_BUILD_WITH_CYTHON=1
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 pre_check() {
diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 25ea3fc346208..25662e963632e 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -14,10 +14,6 @@ homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
 checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
diff --git a/srcpkgs/python3-pyqt6/template b/srcpkgs/python3-pyqt6/template
index 2cf8da5e62b50..881668fd7a1f9 100644
--- a/srcpkgs/python3-pyqt6/template
+++ b/srcpkgs/python3-pyqt6/template
@@ -20,10 +20,6 @@ distfiles="$PYPI_SITE/P/PyQt6/PyQt6-$version.tar.gz"
 checksum=b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc
 lib32disabled=yes
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # Split like qt6, but keep qt6-core in main pkg
 
 python3-pyqt6-core-devel_package() {
diff --git a/srcpkgs/qpdf/template b/srcpkgs/qpdf/template
index 5e16b8b5d050a..46bddaf810736 100644
--- a/srcpkgs/qpdf/template
+++ b/srcpkgs/qpdf/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/qpdf/qpdf/archive/refs/tags/v${version}.tar.gz"
 checksum=0e15aaed511928a3d0f5a416e6521640a561a8ce522c574f93ef6472915151f3
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/qt5-webengine/template b/srcpkgs/qt5-webengine/template
index edeb07f1ab7a7..679d0fa2ad84b 100644
--- a/srcpkgs/qt5-webengine/template
+++ b/srcpkgs/qt5-webengine/template
@@ -60,24 +60,10 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 	broken="webengine only supports little endian"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
-# ppc64 still needs libatomic here, as does s390x but we don't have that
-case "$XBPS_MACHINE" in
-	ppc64*) hostmakedepends+=" libatomic-devel"
-esac
-
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
-case "$XBPS_TARGET_MACHINE" in
-	ppc64*) makedepends+=" libatomic-devel" ;;
-esac
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*-musl) makedepends+=" libucontext-devel" ;;
 esac
diff --git a/srcpkgs/qt5-webkit/template b/srcpkgs/qt5-webkit/template
index b66658071d43d..4ea5f11b1fc0a 100644
--- a/srcpkgs/qt5-webkit/template
+++ b/srcpkgs/qt5-webkit/template
@@ -41,7 +41,6 @@ esac
 
 # some platforms need libatomic
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index d3821efbe3784..86ea3ec2c11b9 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -49,10 +49,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" postgresql-libs-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _cleanup_wrksrc_leak() {
 	if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then
 		# Replace references to ${wrksrc} in cmake files
@@ -1075,9 +1071,6 @@ qt5-devel_package() {
 		qt5-network-${version}_${revision}
 		qt5-xml-${version}_${revision}
 		qt5-host-tools-${version}_${revision}"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - Development files"
 	# qt5-enginio-devel is gone
 	pkg_install() {
diff --git a/srcpkgs/qt6-3d/template b/srcpkgs/qt6-3d/template
index 4b7fbee0562e4..cce8faba43362 100644
--- a/srcpkgs/qt6-3d/template
+++ b/srcpkgs/qt6-3d/template
@@ -4,8 +4,7 @@ version=6.5.0
 revision=1
 build_style=cmake
 hostmakedepends="perl qt6-declarative-host-tools"
-makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel
- libatomic-devel"
+makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel"
 short_desc="Cross-platform application and UI framework - 3d"
 maintainer="John <me@johnnynator.dev>"
 license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
diff --git a/srcpkgs/qt6-base/template b/srcpkgs/qt6-base/template
index c2e526cf9c223..891d14580c73a 100644
--- a/srcpkgs/qt6-base/template
+++ b/srcpkgs/qt6-base/template
@@ -23,7 +23,7 @@ makedepends="zlib-devel libzstd-devel dbus-devel
  xcb-util-renderutil-devel xcb-util-wm-devel
  MesaLib-devel pcre2-devel icu-devel mtdev-devel harfbuzz-devel
  libpng-devel tslib-devel libinput-devel gtk+3-devel
- libmariadbclient-devel postgresql-libs-devel libatomic-devel
+ libmariadbclient-devel postgresql-libs-devel
  unixodbc-devel cups-devel libproxy-devel brotli-devel
  sqlite-devel Vulkan-Headers mit-krb5-devel vulkan-loader libb2-devel
  xcb-util-cursor-devel"
diff --git a/srcpkgs/qt6-tools/template b/srcpkgs/qt6-tools/template
index 2d13e8974409c..2166d4aa633ff 100644
--- a/srcpkgs/qt6-tools/template
+++ b/srcpkgs/qt6-tools/template
@@ -9,7 +9,7 @@ configure_args="-DEXTERNAL_GUMBO=ON -DLITEHTML_UTF8=ON -DUSE_ICU=ON
  -DQT_FEATURE_distancefieldgenerator=ON"
 hostmakedepends="qt6-base perl qt6-plugin-sqlite clang llvm clang-tools-extra
  qt6-declarative-host-tools"
-makedepends="qt6-base-devel libatomic-devel qt6-plugin-sqlite qt6-declarative-devel
+makedepends="qt6-base-devel qt6-plugin-sqlite qt6-declarative-devel
  gumbo-parser-devel icu-devel llvm clang-tools-extra"
 short_desc="Cross-platform application and UI framework (QT6) - qt6-tools component"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template
index 71beaceaf3b64..8438bb1229dd1 100644
--- a/srcpkgs/qtcreator/template
+++ b/srcpkgs/qtcreator/template
@@ -36,7 +36,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/qtox/template b/srcpkgs/qtox/template
index 16019d7eaec9e..39c643fecdb5a 100644
--- a/srcpkgs/qtox/template
+++ b/srcpkgs/qtox/template
@@ -23,7 +23,3 @@ checksum=cd0781241b4ea536da90ce8c72ad9f2aa9bbdf9fbae5d38ee645e30d790fa7f2
 build_options="snorenotify"
 build_options_default="snorenotify"
 desc_option_snorenotify="Enable support for desktop notifications"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
diff --git a/srcpkgs/quickjs/template b/srcpkgs/quickjs/template
index 562ca371bc5db..52e343d12ff81 100644
--- a/srcpkgs/quickjs/template
+++ b/srcpkgs/quickjs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export EXTRA_LIBS="-latomic"
 fi
diff --git a/srcpkgs/rawtherapee/template b/srcpkgs/rawtherapee/template
index 6745c96a109ae..463d9cfb3f127 100644
--- a/srcpkgs/rawtherapee/template
+++ b/srcpkgs/rawtherapee/template
@@ -5,7 +5,7 @@ revision=2
 build_style=cmake
 configure_args="-DCACHE_NAME_SUFFIX=\"\""
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Free RAW converter and digital photo processing software"
diff --git a/srcpkgs/receivemidi/template b/srcpkgs/receivemidi/template
index 7d83a46b3cb49..4f9a0b7566cd5 100644
--- a/srcpkgs/receivemidi/template
+++ b/srcpkgs/receivemidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/ReceiveMIDI/releases"
 distfiles="https://github.com/gbevin/ReceiveMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=54697ad1a723eea5e3f19ec3bf153795e765b278953dde8be7f350001637bc0a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/redis/template b/srcpkgs/redis/template
index 8e8ac83a965f7..39c45c443d30b 100644
--- a/srcpkgs/redis/template
+++ b/srcpkgs/redis/template
@@ -29,10 +29,6 @@ else
 	make_build_args+=" MALLOC=jemalloc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	vsed -i \
 		-e "s|^# bind 127.0.0.1|bind 127.0.0.1|" \
diff --git a/srcpkgs/renderdoc/template b/srcpkgs/renderdoc/template
index 39d51d2416770..b663608ce29ec 100644
--- a/srcpkgs/renderdoc/template
+++ b/srcpkgs/renderdoc/template
@@ -34,7 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DNEED_LIBATOMIC=ON"
 fi
 
diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template
index 8a0786c21a082..5fe0e45e4cb0b 100644
--- a/srcpkgs/retroshare/template
+++ b/srcpkgs/retroshare/template
@@ -20,10 +20,6 @@ checksum=c545b9249ac7dbfef72a2d636bc0f8b729c7ce05f21a54dd9284b2a387592d4a
 
 export CXXFLAGS="-std=c++14"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	for l in COPYING LICENSES/*; do
 		vlicense "$l"
diff --git a/srcpkgs/rocksdb/template b/srcpkgs/rocksdb/template
index 4da7dfcf0673f..5dab076e79394 100644
--- a/srcpkgs/rocksdb/template
+++ b/srcpkgs/rocksdb/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/facebook/rocksdb/archive/v${version}.tar.gz"
 checksum=886378093098a1b2521b824782db7f7dd86224c232cf9652fcaf88222420b292
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
diff --git a/srcpkgs/rubberband/template b/srcpkgs/rubberband/template
index 04e4d91c0f105..32f1f9f160794 100644
--- a/srcpkgs/rubberband/template
+++ b/srcpkgs/rubberband/template
@@ -17,7 +17,6 @@ distfiles="https://breakfastquay.com/files/releases/rubberband-${version}.tar.bz
 checksum=82edacd0c50bfe56a6a85db1fcd4ca3346940ffe02843fc50f8b92f99a97d172
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 3331675ac2509..0d955b4a8d146 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -41,11 +41,6 @@ else
 	hostmakedepends+=" rust-bootstrap"
 fi
 
-# see https://github.com/rust-lang/rust/commit/1db81713f6475bebd0ae689ac7139c53d2843c48
-case "$XBPS_TARGET_MACHINE" in
-	armv*) makedepends+=" libatomic-devel" ;;
-esac
-
 # we need this because cargo verifies checksums of all files in vendor
 # crates when it builds and gives us no way to override or update the
 # file sanely... so just clear out the file list
diff --git a/srcpkgs/sendmidi/template b/srcpkgs/sendmidi/template
index 95b1862e1a619..2b44c25e7247a 100644
--- a/srcpkgs/sendmidi/template
+++ b/srcpkgs/sendmidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/SendMIDI/releases"
 distfiles="https://github.com/gbevin/SendMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=3fb3d16ee14784e057e633b6e57fede33ac291d9af85942106fde8b431e15740
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/snapcast/template b/srcpkgs/snapcast/template
index 2440d44d8f513..399882ada2065 100644
--- a/srcpkgs/snapcast/template
+++ b/srcpkgs/snapcast/template
@@ -21,10 +21,6 @@ checksum=c662c6eafbaa42a4797a4ed6ba4a7602332abf99f6ba6ea88ff8ae59978a86ba
 build_options="avahi pulseaudio"
 build_options_default="avahi pulseaudio"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vdoc README.md
 	vdoc doc/player_setup.md
diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index c406f9c72c155..3a7a68fc13bf9 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -22,7 +22,6 @@ checksum="ab4b3a5fecb1800f8eab82a92138a70227e869d2066ee881441b1e13035786dc
 nocross="https://travis-ci.org/bobertlo/void-packages/jobs/487251265"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/sonic-visualiser/template b/srcpkgs/sonic-visualiser/template
index 0f70214f8570a..f563ad3d40a63 100644
--- a/srcpkgs/sonic-visualiser/template
+++ b/srcpkgs/sonic-visualiser/template
@@ -16,10 +16,6 @@ changelog="https://raw.githubusercontent.com/sonic-visualiser/sonic-visualiser/d
 distfiles="https://github.com/sonic-visualiser/sonic-visualiser/releases/download/sv_v${version}/sonic-visualiser-${version}.tar.gz"
 checksum=0816e1ba9e3f97af495ece2554186bccad1cf47090ff8a13f1d08322212db487
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i "s/^general_link_args = \[\]/general_link_args = \['-latomic'\]/" meson.build
diff --git a/srcpkgs/squid/template b/srcpkgs/squid/template
index 49b9eb9d7b916..ca758380e900d 100644
--- a/srcpkgs/squid/template
+++ b/srcpkgs/squid/template
@@ -60,7 +60,6 @@ system_accounts="squid"
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/srt/template b/srcpkgs/srt/template
index 76a4d1055c7c5..d8a2e909f5788 100644
--- a/srcpkgs/srt/template
+++ b/srcpkgs/srt/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/Haivision/srt/archive/refs/tags/v${version}.tar.gz
 checksum=463970a3f575446b3f55abb6f323d5476c963c77b3c975cd902e9c87cdd9a92c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 libsrt_package() {
diff --git a/srcpkgs/stockfish/template b/srcpkgs/stockfish/template
index 363603f83d5a3..5203abfa66774 100644
--- a/srcpkgs/stockfish/template
+++ b/srcpkgs/stockfish/template
@@ -35,7 +35,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/supercollider/template b/srcpkgs/supercollider/template
index 42b58d5b6e3e7..7c147c4a59e77 100644
--- a/srcpkgs/supercollider/template
+++ b/srcpkgs/supercollider/template
@@ -6,7 +6,7 @@ build_style=cmake
 make_cmd=make
 configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON"
 hostmakedepends="emacs pkg-config qt5-host-tools qt5-qmake"
-makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel libatomic-devel
+makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel
  libsndfile-devel libXt-devel qt5-declarative-devel qt5-location-devel
  qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite
  qt5-plugin-tds qt5-sensors-devel qt5-tools-devel qt5-svg-devel
diff --git a/srcpkgs/supertuxkart/template b/srcpkgs/supertuxkart/template
index 47a962d24824d..85b54d559a317 100644
--- a/srcpkgs/supertuxkart/template
+++ b/srcpkgs/supertuxkart/template
@@ -19,10 +19,6 @@ changelog="https://raw.githubusercontent.com/supertuxkart/stk-code/master/CHANGE
 distfiles="https://github.com/supertuxkart/stk-code/releases/download/${version}/SuperTuxKart-${version}-src.tar.xz"
 checksum=9890392419baf4715313f14d5ad60746f276eed36eb580636caf44e2532c0f03
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 supertuxkart-data_package() {
 	short_desc+=" - data files"
 	pkg_install() {
diff --git a/srcpkgs/swi-prolog/template b/srcpkgs/swi-prolog/template
index 674f1505bf0d0..cf4715b1b5457 100644
--- a/srcpkgs/swi-prolog/template
+++ b/srcpkgs/swi-prolog/template
@@ -18,6 +18,5 @@ distfiles="http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz
 checksum=feb2815a51d34fa81cb34e8149830405935a7e1d1c1950461239750baa8b49f0
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
diff --git a/srcpkgs/syntax-highlighting/template b/srcpkgs/syntax-highlighting/template
index 70375ffe0b848..a954c8c38ddff 100644
--- a/srcpkgs/syntax-highlighting/template
+++ b/srcpkgs/syntax-highlighting/template
@@ -6,8 +6,7 @@ build_style=cmake
 configure_args="-DKATEHIGHLIGHTINGINDEXER_EXECUTABLE=/usr/libexec/${pkgname}/katehighlightingindexer"
 hostmakedepends="kcoreaddons extra-cmake-modules perl qt5-host-tools
  qt5-qmake qt5-tools qt5-devel qt5-tools-devel"
-makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel
- libatomic-devel"
+makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel"
 short_desc="Syntax highlighting engine for structured text and code"
 maintainer="John <me@johnnynator.dev>"
 license="LGPL-2.1-or-later"
diff --git a/srcpkgs/sysbench/template b/srcpkgs/sysbench/template
index e2fe7be0cc8b0..45e6ab6adb0d8 100644
--- a/srcpkgs/sysbench/template
+++ b/srcpkgs/sysbench/template
@@ -18,10 +18,6 @@ homepage="https://github.com/akopytov/sysbench"
 distfiles="https://github.com/akopytov/sysbench/archive/${version}.tar.gz"
 checksum=e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	autoreconf -fi
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index 22e46e4e95e15..19a6722f4697b 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config qt6-base python3 clang extra-cmake-modules
 makedepends="alsa-lib-devel boost-devel fmt-devel ffmpeg-devel gobject-introspection libdbusmenu-glib-devel libopenal-devel
  minizip-devel opus-devel xxHash-devel pulseaudio-devel range-v3
  qt6-svg-devel libva-devel rapidjson liblz4-devel liblzma-devel gtk+3-devel
- MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel libatomic-devel
+ MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel
  xcb-util-keysyms-devel $(vopt_if spellcheck hunspell-devel) protobuf-devel
  glibmm2.68-devel tg_owt webkit2gtk-devel rnnoise-devel jemalloc-devel qt6-declarative-devel"
 depends="qt6-imageformats ttf-opensans"
diff --git a/srcpkgs/thrift/template b/srcpkgs/thrift/template
index 1912cfb7ed333..4e0fbc519e64b 100644
--- a/srcpkgs/thrift/template
+++ b/srcpkgs/thrift/template
@@ -19,10 +19,6 @@ homepage="https://thrift.apache.org/"
 distfiles="https://github.com/apache/thrift/archive/v${version}.tar.gz"
 checksum=9cea30b9700153329ae1926cc05a20bbe3e8451ae270b0c8c5c5fe9929924cb3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	configure_args+=" -DBUILD_TESTING=OFF -DBUILD_TUTORIALS=OFF"
 fi
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 551e968ce984f..d26f88c3d7e0e 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -35,10 +35,6 @@ case $XBPS_TARGET_MACHINE in
 	ppc*) broken="xptcall bitrot" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # try to minimize memory usage via debug symbols
 # 'LLVM ERROR: out of memory' while compiling gtkrust
 if [ "$XBPS_WORDSIZE" = "32" ]; then
diff --git a/srcpkgs/tomahawk/template b/srcpkgs/tomahawk/template
index 341645af8e44c..cb6b40de7e907 100644
--- a/srcpkgs/tomahawk/template
+++ b/srcpkgs/tomahawk/template
@@ -39,10 +39,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS="-Wno-deprecated-declarations"
 
 tomahawk-devel_package() {
diff --git a/srcpkgs/uhd/template b/srcpkgs/uhd/template
index 46731dcdaf032..8645921e88d6f 100644
--- a/srcpkgs/uhd/template
+++ b/srcpkgs/uhd/template
@@ -32,7 +32,6 @@ else
 fi
 
 if [ "$_use_libatomic" = "yes" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index f9d3905ace6cf..4ceda6e7724ff 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
 checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/vkQuake/template b/srcpkgs/vkQuake/template
index 28c2a8d66e37b..876281c079071 100644
--- a/srcpkgs/vkQuake/template
+++ b/srcpkgs/vkQuake/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=b88d3dfc869d89820766e2dd18bdadb9681adfc4c9d05e09cbbebcc17ef1d150
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/vtk/template b/srcpkgs/vtk/template
index a1d61de2d1420..867554b13ac89 100644
--- a/srcpkgs/vtk/template
+++ b/srcpkgs/vtk/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	LDFLAGS="-lexecinfo"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	[ "$XBPS_TARGET_NO_ATOMIC8" ] || return 0
 
diff --git a/srcpkgs/warzone2100/template b/srcpkgs/warzone2100/template
index baf48548dd4a6..f8f23952f3f8b 100644
--- a/srcpkgs/warzone2100/template
+++ b/srcpkgs/warzone2100/template
@@ -17,10 +17,6 @@ distfiles="https://github.com/Warzone2100/${pkgname}/releases/download/${version
 checksum=01d608f6f9638e14d7c857df40ad339c1bfc207a05daafe7157ad8652a3405c3
 nocross="fails to detect SDL2 when cross-compiling"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "target_link_libraries(warzone2100 atomic)" >> CMakeLists.txt
diff --git a/srcpkgs/watchexec/template b/srcpkgs/watchexec/template
index a2fdc6e7e0454..4b8cf746d8066 100644
--- a/srcpkgs/watchexec/template
+++ b/srcpkgs/watchexec/template
@@ -12,7 +12,6 @@ distfiles="https://github.com/watchexec/watchexec/archive/refs/tags/v${version}.
 checksum=698ed1dc178279594542f325b23f321c888c9c12c1960fe11c0ca48ba6edad76
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template
index 15e98aaca3b0d..421fa8b2d0c83 100644
--- a/srcpkgs/webkit2gtk/template
+++ b/srcpkgs/webkit2gtk/template
@@ -26,7 +26,7 @@ makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
  libsoup-devel libsoup3-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
  dbus-glib-devel libwebp-devel gtk+3-devel gtk4-devel libgudev-devel
  libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
- woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel libavif-devel
+ woff2-devel freetype-devel libopenjpeg2-devel libavif-devel
  qt5-devel libmanette-devel libwpe-devel wpebackend-fdo-devel
  libgcrypt-devel libnuspell-devel libpsl-devel $(vopt_if x11 libXt-devel)
  $(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
diff --git a/srcpkgs/wt/template b/srcpkgs/wt/template
index de480ebb7dc6e..33a48ed75ffea 100644
--- a/srcpkgs/wt/template
+++ b/srcpkgs/wt/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/emweb/wt/archive/refs/tags/${version}.tar.gz"
 checksum=7090023d4fc4b6594bf4cb11072d9d3d775269327aece9a8993c7bbe46decb9d
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
index 10ed861b1391b..8e9851575bca8 100644
--- a/srcpkgs/xrootd/template
+++ b/srcpkgs/xrootd/template
@@ -21,5 +21,4 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
-	makedepends+=" libatomic-devel"
 fi
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index e53f25d270844..a1a9ea8d16c83 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -23,10 +23,6 @@ dkms_modules="zfs ${version}"
 
 replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
 	autoreconf -fi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WiP] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
                   ` (4 preceding siblings ...)
  2023-07-22 14:20 ` Johnnynator
@ 2023-07-22 14:27 ` Johnnynator
  2023-07-22 14:29 ` Johnnynator
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-22 14:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 145927 bytes --]

From f71e7a3e0d9edcf237fa059bb1706bad51057357 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 01/23] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From 773a1ffdee99c37cfd47fce3d084c9f06d9836b6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 02/23] gcc: add riscv.

---
 srcpkgs/gcc/template | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..459c83368c18c 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -55,7 +55,7 @@ else
 fi
 makedepends="zlib-devel libzstd-devel"
 depends="binutils libgcc-devel-${version}_${revision}
- libstdc++-devel-${version}_${revision}"
+ libstdc++-devel-${version}_${revision} libatomic-devel-${version}_${revision}"
 checkdepends="dejagnu"
 
 subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 63dacd68c815d6df81d06716b4e5e20269567194 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 03/23] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 73e0f541657fdc63270afef42c5903e78be69a24 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 04/23] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95c..2dfe481664466 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From c02ad4f66044ff852240f137a6ea9167ac0ed983 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 05/23] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..d20751fd9fdb6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From f78f498e0e7591b3229f5a78047870217eba87f9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 06/23] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..9325168acb4cd 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -1,7 +1,7 @@
 # Template file for 'cross-vpkg-dummy'
 pkgname=cross-vpkg-dummy
 version=0.39
-revision=4
+revision=5
 build_style=meta
 depends="base-files>=0.126"
 short_desc="Dummy meta-pkg for cross building packages with xbps-src"
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

From 8c983a60971f820c5b1246b6977a3223952558c4 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:16 +0100
Subject: [PATCH 07/23] build-style/void-cross.sh: adjustments for
 --enable-autolink-libatomic.

---
 common/build-style/void-cross.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index d7da998ba354b..2e8ebb52ceaf9 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libmudflap \
 		--disable-libssp \
 		--disable-libitm \
-		--disable-libatomic \
+		--disable-libatomic --disable-autolink-libatomic \
 		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
@@ -377,6 +377,10 @@ _void_cross_build_gcc() {
 
 	msg_normal "Building gcc for ${tgt}\n"
 
+	# GIANT HACK: create an empty libatomic.a so gcc cross-compile
+	# below works.
+	ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
+
 	mkdir -p ${wrksrc}/gcc_build
 	cd ${wrksrc}/gcc_build
 

From 928ed65a365a663da699560e47dc3a2a6e90e42d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:03 +0200
Subject: [PATCH 08/23] cross-arm-linux-gnueabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index dbb8d90c8c244..c11560ff2a223 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 986588472bc6ce7214894194c203b14c9df90f66 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:21 +0200
Subject: [PATCH 09/23] cross-arm-linux-musleabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 8b25e9f7c365e..35e03b44b4f9a 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 6ba446b9a219d93d0f01b866334d7165d323cce3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:27 +0200
Subject: [PATCH 10/23] cross-arm-linux-musleabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index d6dca4e920d5a..af1683f13df36 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 4cc64b91ff9d32d842f40a48833913c9cfdc1407 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:20:09 +0200
Subject: [PATCH 11/23] bulk: remove libatomic-devel in dependency fields

---
 srcpkgs/ART/template                  |  2 +-
 srcpkgs/Aegisub/template              |  1 -
 srcpkgs/Carla/template                |  4 ----
 srcpkgs/Clipboard/template            |  1 -
 srcpkgs/CubicSDR/template             |  1 -
 srcpkgs/EternalTerminal/template      |  4 ----
 srcpkgs/FreeRADIUS/template           |  4 ----
 srcpkgs/LGOGDownloader/template       |  4 ----
 srcpkgs/LimeSuite/template            |  4 ----
 srcpkgs/MEGAcmd/template              |  1 -
 srcpkgs/OpenRCT2/template             |  1 -
 srcpkgs/OpenSubdiv/template           |  1 -
 srcpkgs/QMPlay2/template              |  1 -
 srcpkgs/SuiteSparse/template          |  4 ----
 srcpkgs/abseil-cpp/template           |  1 -
 srcpkgs/ahoviewer/template            |  4 ----
 srcpkgs/akonadi5/template             |  4 ----
 srcpkgs/alembic/template              | 10 ++++------
 srcpkgs/android-tools/template        |  1 -
 srcpkgs/apr-util/template             |  1 -
 srcpkgs/apr/template                  |  1 -
 srcpkgs/arcan/template                |  1 -
 srcpkgs/ardour/template               |  1 -
 srcpkgs/audacity/template             |  1 -
 srcpkgs/bacula-common/template        |  3 ---
 srcpkgs/bcc/template                  |  4 ----
 srcpkgs/bees/template                 |  1 -
 srcpkgs/bind/template                 |  2 +-
 srcpkgs/cabbage/template              |  1 -
 srcpkgs/capnproto/template            |  1 -
 srcpkgs/ccache/template               |  4 ----
 srcpkgs/ccls/template                 |  1 -
 srcpkgs/cereal/template               |  1 -
 srcpkgs/chatterino2/template          |  1 -
 srcpkgs/chromium/template             |  4 ++--
 srcpkgs/cjs/template                  |  1 -
 srcpkgs/cmus/template                 |  1 -
 srcpkgs/conduit/template              |  1 -
 srcpkgs/corectrl/template             |  1 -
 srcpkgs/dhcp/template                 |  4 ----
 srcpkgs/difftastic/template           |  1 -
 srcpkgs/digikam/template              |  1 -
 srcpkgs/dosbox-staging/template       |  1 -
 srcpkgs/duperemove/template           |  2 +-
 srcpkgs/edbrowse/template             |  1 -
 srcpkgs/electron19/template           |  4 ++--
 srcpkgs/electron24/template           |  4 ++--
 srcpkgs/encfs/template                |  1 -
 srcpkgs/fairy-stockfish/template      |  1 -
 srcpkgs/ffmpeg/template               |  1 -
 srcpkgs/ffms2/template                |  1 -
 srcpkgs/filezilla/template            |  4 ----
 srcpkgs/fio/template                  |  1 -
 srcpkgs/firefox-esr/template          |  2 +-
 srcpkgs/firefox/template              |  2 +-
 srcpkgs/fish-shell/template           |  4 ----
 srcpkgs/fplll/template                |  4 ----
 srcpkgs/fselect/template              |  1 -
 srcpkgs/fswatch/template              |  1 -
 srcpkgs/geonkick/template             |  1 -
 srcpkgs/giada/template                |  4 ----
 srcpkgs/gjs/template                  |  1 -
 srcpkgs/glirc/template                |  1 -
 srcpkgs/glog/template                 |  1 -
 srcpkgs/glslViewer/template           |  4 ----
 srcpkgs/gnunet/template               |  4 ----
 srcpkgs/gnuradio/template             |  1 -
 srcpkgs/goxel/template                |  4 ----
 srcpkgs/grpc/template                 |  1 -
 srcpkgs/gzdoom/template               |  1 -
 srcpkgs/haproxy/template              |  2 +-
 srcpkgs/hedgewars/template            |  4 ++--
 srcpkgs/highway/template              |  1 -
 srcpkgs/i2pd/template                 |  3 +--
 srcpkgs/inkscape/template             |  4 ----
 srcpkgs/jack_capture/template         |  1 -
 srcpkgs/kdiff3/template               |  1 -
 srcpkgs/kismet/template               |  1 -
 srcpkgs/kiwix-lib/template            |  4 ----
 srcpkgs/kiwix-tools/template          |  1 -
 srcpkgs/kjsembed/template             |  4 ----
 srcpkgs/kodi/template                 |  1 -
 srcpkgs/krita/template                |  4 ----
 srcpkgs/kross/template                |  4 ----
 srcpkgs/kwin/template                 |  3 +--
 srcpkgs/lc0/template                  |  4 ----
 srcpkgs/libdex/template               |  2 +-
 srcpkgs/libfilezilla/template         |  1 -
 srcpkgs/libjxl/template               |  1 -
 srcpkgs/libogre/template              |  2 +-
 srcpkgs/libopenshot-audio/template    |  1 -
 srcpkgs/libplacebo/template           |  1 -
 srcpkgs/libreoffice/template          |  4 ----
 srcpkgs/libtd/template                |  1 -
 srcpkgs/libtorrent-rasterbar/template |  7 -------
 srcpkgs/llvm12/template               |  2 +-
 srcpkgs/llvm15/template               |  2 +-
 srcpkgs/lms/template                  |  1 -
 srcpkgs/mariadb/template              |  4 ++--
 srcpkgs/mesa/template                 |  2 +-
 srcpkgs/mgba/template                 |  1 -
 srcpkgs/mlt/template                  |  2 +-
 srcpkgs/mlt7/template                 |  2 +-
 srcpkgs/mozc/template                 |  4 ----
 srcpkgs/mozjs102/template             |  1 -
 srcpkgs/mozjs78/template              |  1 -
 srcpkgs/mpv/template                  |  4 ----
 srcpkgs/musikcube/template            |  4 ----
 srcpkgs/netdata/template              |  1 -
 srcpkgs/nix/template                  |  4 ----
 srcpkgs/nodejs/template               |  4 ++--
 srcpkgs/nushell/template              |  2 +-
 srcpkgs/opencv/template               |  4 ----
 srcpkgs/opendht/template              |  4 ----
 srcpkgs/openimageio/template          |  4 ----
 srcpkgs/openmpi/template              |  1 -
 srcpkgs/openmw/template               |  1 -
 srcpkgs/openttd/template              |  4 ----
 srcpkgs/openvdb/template              |  1 -
 srcpkgs/pipewire/template             |  1 -
 srcpkgs/plocate/template              |  1 -
 srcpkgs/poedit/template               |  1 -
 srcpkgs/polybar/template              |  1 -
 srcpkgs/primesieve/template           |  4 ----
 srcpkgs/prometheus-cpp/template       |  2 +-
 srcpkgs/protobuf/template             |  3 +--
 srcpkgs/python3-grpcio-tools/template |  1 -
 srcpkgs/python3-grpcio/template       |  4 ----
 srcpkgs/python3-pyqt6/template        |  4 ----
 srcpkgs/qpdf/template                 |  1 -
 srcpkgs/qt5-webengine/template        | 14 --------------
 srcpkgs/qt5-webkit/template           |  1 -
 srcpkgs/qt5/template                  |  7 -------
 srcpkgs/qt6-3d/template               |  3 +--
 srcpkgs/qt6-base/template             |  2 +-
 srcpkgs/qt6-tools/template            |  2 +-
 srcpkgs/qtcreator/template            |  1 -
 srcpkgs/qtox/template                 |  4 ----
 srcpkgs/quickjs/template              |  1 -
 srcpkgs/rawtherapee/template          |  2 +-
 srcpkgs/receivemidi/template          |  4 ----
 srcpkgs/redis/template                |  4 ----
 srcpkgs/renderdoc/template            |  1 -
 srcpkgs/retroshare/template           |  4 ----
 srcpkgs/rocksdb/template              |  1 -
 srcpkgs/rubberband/template           |  1 -
 srcpkgs/rust/template                 |  5 -----
 srcpkgs/sendmidi/template             |  4 ----
 srcpkgs/snapcast/template             |  4 ----
 srcpkgs/solvespace/template           |  1 -
 srcpkgs/sonic-visualiser/template     |  4 ----
 srcpkgs/squid/template                |  1 -
 srcpkgs/srt/template                  |  1 -
 srcpkgs/stockfish/template            |  1 -
 srcpkgs/supercollider/template        |  2 +-
 srcpkgs/supertuxkart/template         |  4 ----
 srcpkgs/swi-prolog/template           |  1 -
 srcpkgs/syntax-highlighting/template  |  3 +--
 srcpkgs/sysbench/template             |  4 ----
 srcpkgs/telegram-desktop/template     |  2 +-
 srcpkgs/thrift/template               |  4 ----
 srcpkgs/thunderbird/template          |  4 ----
 srcpkgs/tomahawk/template             |  4 ----
 srcpkgs/uhd/template                  |  1 -
 srcpkgs/vapoursynth/template          |  1 -
 srcpkgs/vkQuake/template              |  1 -
 srcpkgs/vtk/template                  |  4 ----
 srcpkgs/warzone2100/template          |  4 ----
 srcpkgs/watchexec/template            |  1 -
 srcpkgs/webkit2gtk/template           |  2 +-
 srcpkgs/wt/template                   |  1 -
 srcpkgs/xrootd/template               |  1 -
 srcpkgs/zfs/template                  |  4 ----
 173 files changed, 42 insertions(+), 373 deletions(-)

diff --git a/srcpkgs/ART/template b/srcpkgs/ART/template
index a15bf7a9bdd17..a86a304711e84 100644
--- a/srcpkgs/ART/template
+++ b/srcpkgs/ART/template
@@ -4,7 +4,7 @@ version=1.13
 revision=2
 build_style=cmake
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel exiv2-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Fork of RawTherapee with additional features"
diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index 671c74ca645a0..3744c3cc6529f 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -27,7 +27,6 @@ desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/Carla/template b/srcpkgs/Carla/template
index c383f7b3133eb..3f055ca1c8a2a 100644
--- a/srcpkgs/Carla/template
+++ b/srcpkgs/Carla/template
@@ -34,10 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	export LDFLAGS="-lfts"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$CROSS_BUILD" ]; then
 		vsed -i -e 's#\./carla-lv2-export#/usr/bin/carla-lv2-export#g' \
diff --git a/srcpkgs/Clipboard/template b/srcpkgs/Clipboard/template
index d6bb7e23f6970..c33fb45eb942e 100644
--- a/srcpkgs/Clipboard/template
+++ b/srcpkgs/Clipboard/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/Slackadays/Clipboard/archive/refs/tags/${version}.
 checksum=f7ceb2dbb76bc094ac8afbef97bdef0f1a9451ca7dd1a4a181f3b2a859a2f094
 
 if [ "${XBPS_TARGET_NO_ATOMIC8}" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index e5e26088e7f32..c224fc1379bf1 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -20,6 +20,5 @@ build_options="alsa pulseaudio jack"
 build_options_default="alsa pulseaudio"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 156eab6ce47ec..e738148fbe3f9 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv EternalTerminal-et-v${version} ${build_wrksrc}
 	mv sanitizers-cmake-${_sanitizers_gitrev}/* \
diff --git a/srcpkgs/FreeRADIUS/template b/srcpkgs/FreeRADIUS/template
index ee2059a373b46..13d2ef286e22c 100644
--- a/srcpkgs/FreeRADIUS/template
+++ b/srcpkgs/FreeRADIUS/template
@@ -15,10 +15,6 @@ nocross=yes # Not supported by upstream
 system_accounts="_freeradius"
 make_dirs="/etc/raddb 0750 _freeradius _freeradius"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_install() {
 	# FreeRADIUS uses 'R' instead of 'DESTDIR'
 	export R=${DESTDIR}
diff --git a/srcpkgs/LGOGDownloader/template b/srcpkgs/LGOGDownloader/template
index 37bb3b973594c..e749d635c5c29 100644
--- a/srcpkgs/LGOGDownloader/template
+++ b/srcpkgs/LGOGDownloader/template
@@ -19,10 +19,6 @@ checksum=01c9556287d5f49662c2219365b9d306482e8efadc805c3dbb9381d5110df719
 build_options="qt"
 desc_option_qt="Include QT WebEngine to support solving captchas"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ -z "$CROSS_BUILD" ]; then
 	hostmakedepends+=" help2man"
 fi
diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index 25a49c5ad71e4..fe963be85f860 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -45,10 +45,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 
diff --git a/srcpkgs/MEGAcmd/template b/srcpkgs/MEGAcmd/template
index e4e0e2ee13f6b..cd0dfaf6d5a1d 100644
--- a/srcpkgs/MEGAcmd/template
+++ b/srcpkgs/MEGAcmd/template
@@ -18,7 +18,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/OpenRCT2/template b/srcpkgs/OpenRCT2/template
index ceb69d829a39c..5866e44d12da9 100644
--- a/srcpkgs/OpenRCT2/template
+++ b/srcpkgs/OpenRCT2/template
@@ -77,7 +77,6 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/OpenSubdiv/template b/srcpkgs/OpenSubdiv/template
index ffc64637bd4d3..1ee7eead6dfe9 100644
--- a/srcpkgs/OpenSubdiv/template
+++ b/srcpkgs/OpenSubdiv/template
@@ -21,7 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/QMPlay2/template b/srcpkgs/QMPlay2/template
index 850df9d418b90..00a55417659f6 100644
--- a/srcpkgs/QMPlay2/template
+++ b/srcpkgs/QMPlay2/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/zaps166/QMPlay2/releases/download/${version}/QMPla
 checksum=dc57afc6e3299701508e5dbffa486d7956d6764420dcc0f22a0da8f7d07a2137
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index 3490f6f3fa7f2..73dabfa8950ee 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -23,10 +23,6 @@ case "$XBPS_TARGET_MACHINE" in
 	*) ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 do_build() {
 	make library \
 		JOBS=$XBPS_MAKEJOBS \
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index ea2fa2506873f..5fe16466deb2c 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -5,7 +5,6 @@ revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
 hostmakedepends="pkg-config"
-makedepends="libatomic-devel"
 short_desc="Abseil common libraries"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
diff --git a/srcpkgs/ahoviewer/template b/srcpkgs/ahoviewer/template
index 27aa75d2589fe..ebe27060b424a 100644
--- a/srcpkgs/ahoviewer/template
+++ b/srcpkgs/ahoviewer/template
@@ -17,10 +17,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=a14e32b4a8095c9f8b4b607c090a50cc8ac1076550e57b5a9303c54089068152
 nocross="https://travis-ci.org/void-linux/void-packages/jobs/490108528#L1022"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "ahoviewer_LDADD += -latomic" >> src/Makefile.am
diff --git a/srcpkgs/akonadi5/template b/srcpkgs/akonadi5/template
index b38d9fe0d6a70..9be306794db1f 100644
--- a/srcpkgs/akonadi5/template
+++ b/srcpkgs/akonadi5/template
@@ -20,10 +20,6 @@ homepage="https://community.kde.org/KDE_PIM/Akonadi"
 distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-${version}.tar.xz"
 checksum=5e91b86e895263b76d6f1f00cd9fcd8399d5a6c293581e629ab310fc72dfa6a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e "s;^\(target_link_libraries(.*\);\1 atomic;" -i src/server/CMakeLists.txt
diff --git a/srcpkgs/alembic/template b/srcpkgs/alembic/template
index 53ff7d48719f2..1fbc7b13fab88 100644
--- a/srcpkgs/alembic/template
+++ b/srcpkgs/alembic/template
@@ -18,13 +18,11 @@ case "$XBPS_TARGET_MACHINE" in
 	ppc*) broken="undefined reference to '__sync_bool_compare_and_swap_8'";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-
-	post_patch() {
+post_patch() {
+	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		printf '\ntarget_link_libraries(Alembic PRIVATE atomic)\n' >> lib/Alembic/CMakeLists.txt
-	}
-fi
+	fi
+}
 
 post_install() {
 	vlicense LICENSE.txt
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index b813474eace03..54012fa5e79b2 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -16,7 +16,6 @@ distfiles="https://github.com/nmeum/android-tools/releases/download/${version}/a
 checksum=60234ecbca19a17a7e2f46a4581960d645b7c55b870d924a21494c76a6f548ec
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/apr-util/template b/srcpkgs/apr-util/template
index f1cd4363365a8..17a94361cd32d 100644
--- a/srcpkgs/apr-util/template
+++ b/srcpkgs/apr-util/template
@@ -23,7 +23,6 @@ checksum=d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/apr/template b/srcpkgs/apr/template
index 6fb1fefd4f627..e546186592bd4 100644
--- a/srcpkgs/apr/template
+++ b/srcpkgs/apr/template
@@ -25,7 +25,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/arcan/template b/srcpkgs/arcan/template
index 7be9652eccf3c..853e16fcad391 100644
--- a/srcpkgs/arcan/template
+++ b/srcpkgs/arcan/template
@@ -46,7 +46,6 @@ if [ "$XBPS_TARGET_WORDSIZE" = "$XBPS_WORDSIZE" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/ardour/template b/srcpkgs/ardour/template
index f45d263565b46..ab16f26eedf4f 100644
--- a/srcpkgs/ardour/template
+++ b/srcpkgs/ardour/template
@@ -24,7 +24,6 @@ export PATH="/usr/libexec/chroot-git:$PATH"
 conf_files="/etc/ardour7/*"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index d509c0a894077..28e9c4a3528f1 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -24,7 +24,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/bacula-common/template b/srcpkgs/bacula-common/template
index 1be957d9ed668..a3d2f1da2d82e 100644
--- a/srcpkgs/bacula-common/template
+++ b/srcpkgs/bacula-common/template
@@ -17,9 +17,6 @@ checksum=a40d04d2c48135972cecb6578405e835c4b9d798c0950017de0fad40ca94e8a0
 alternatives="bacula-db-backend:/usr/lib/libbaccats-${version}.so:/usr/lib/libbaccats-sqlite3-${version}.so"
 shlib_provides="libbaccats-${version}.so"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
 CFLAGS="-Wno-narrowing"
 
 post_install() {
diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index ecedbd8e4bef6..d613acc78be95 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -15,10 +15,6 @@ distfiles="https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-
 checksum=65adcaf4cee17fa3a94d0bb96d3691ca7e5864244e7bd52df93f7ae6c004f23d
 python_version="3"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	sed -i '/tests/d' CMakeLists.txt  # break on musl
 	sed -i 's/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc
diff --git a/srcpkgs/bees/template b/srcpkgs/bees/template
index 5296bf7991378..423d9187e601e 100644
--- a/srcpkgs/bees/template
+++ b/srcpkgs/bees/template
@@ -23,7 +23,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/bind/template b/srcpkgs/bind/template
index 54493e5d9cf90..ac720ac0e1b79 100644
--- a/srcpkgs/bind/template
+++ b/srcpkgs/bind/template
@@ -10,7 +10,7 @@ configure_args="--disable-static --enable-largefile --with-libtool
  --with-libidn2 --disable-backtrace"
 hostmakedepends="automake libtool perl pkg-config"
 makedepends="openssl-devel libxml2-devel libcap-devel readline-devel mit-krb5-devel
- libatomic-devel libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
+ libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
 checkdepends="python3-pytest"
 short_desc="Berkeley Internet Name Domain server"
 maintainer="Randy McCaskill <randy@mccaskill.us>"
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index f8cb9a31c2d86..911af80be28d7 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -31,7 +31,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS=" -latomic"
 fi
 
diff --git a/srcpkgs/capnproto/template b/srcpkgs/capnproto/template
index 5ab6e0a62cdcf..77652040538be 100644
--- a/srcpkgs/capnproto/template
+++ b/srcpkgs/capnproto/template
@@ -16,7 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index bd6a537d7cb12..dd8d1e704ab6e 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -20,10 +20,6 @@ if [ -n "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DENABLE_TESTING=ON"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ccache-${version}/* .
 }
diff --git a/srcpkgs/ccls/template b/srcpkgs/ccls/template
index ecc9f3e38a5d8..ec0597c9f6d85 100644
--- a/srcpkgs/ccls/template
+++ b/srcpkgs/ccls/template
@@ -13,6 +13,5 @@ distfiles="https://github.com/MaskRay/ccls/archive/${version}.tar.gz"
 checksum=af19be36597c2a38b526ce7138c72a64c7fb63827830c4cff92256151fc7a6f4
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/cereal/template b/srcpkgs/cereal/template
index 32644ae3f39e4..a790d1f42b1c6 100644
--- a/srcpkgs/cereal/template
+++ b/srcpkgs/cereal/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/USCiLab/cereal/archive/v${version}.tar.gz"
 checksum=16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/chatterino2/template b/srcpkgs/chatterino2/template
index 977fa9771498e..32454a86e9d6e 100644
--- a/srcpkgs/chatterino2/template
+++ b/srcpkgs/chatterino2/template
@@ -34,7 +34,6 @@ checksum="f1fff3523f5a3f633430d44f7ca6c6c718a515258d50004a855e69e4aa989b4e
  f9cf386638f455c5d2e7a835b95941201387d2531b8682942d59827663b58341"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 3eb657ab23d28..da966f5303796 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -7,13 +7,13 @@ archs="i686* x86_64* aarch64* armv7l*"
 hostmakedepends="
  $(vopt_if clang "clang lld llvm15")
  bison git gperf hwids ninja nodejs perl pkg-config python3
- libatomic-devel libepoxy-devel libevent-devel libglib-devel
+ libepoxy-devel libevent-devel libglib-devel
  rust"
 makedepends="
  alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel
  fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel
  libXcomposite-devel libXcursor-devel libXdamage-devel libXi-devel libXrandr-devel
- libatomic-devel libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
+ libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
  libexif-devel libflac-devel libgcrypt-devel libjpeg-turbo-devel libmtp-devel
  libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel
  libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel
diff --git a/srcpkgs/cjs/template b/srcpkgs/cjs/template
index b0fafe6603f8c..46bf5cb605166 100644
--- a/srcpkgs/cjs/template
+++ b/srcpkgs/cjs/template
@@ -23,7 +23,6 @@ checksum=212fa302f15ea955af6dc87fdba3898f751d078df91cb84b0e6615d5a2b84e15
 make_check=extended
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/cmus/template b/srcpkgs/cmus/template
index 0fcb424ce336c..0fdcec461c217 100644
--- a/srcpkgs/cmus/template
+++ b/srcpkgs/cmus/template
@@ -21,7 +21,6 @@ build_options_default="elogind"
 desc_option_elogind="Support MPRIS interface via elogind"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LDLIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/conduit/template b/srcpkgs/conduit/template
index 2f44e9d0f2e3d..1ab7a0df0d444 100644
--- a/srcpkgs/conduit/template
+++ b/srcpkgs/conduit/template
@@ -20,7 +20,6 @@ make_dirs="/var/lib/conduit 0700 _conduit _conduit
  /etc/conduit 755 _conduit _conduit"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/corectrl/template b/srcpkgs/corectrl/template
index b85385804faac..da0523eafb783 100644
--- a/srcpkgs/corectrl/template
+++ b/srcpkgs/corectrl/template
@@ -17,6 +17,5 @@ distfiles="${homepage}/-/archive/v${version}/corectrl-v${version}.tar.gz"
 checksum=6b8817ce1bb09257148e6d3f6196546724a8ea185fedfff70f302621ce36cc12
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
diff --git a/srcpkgs/dhcp/template b/srcpkgs/dhcp/template
index ca3423ce8833d..dee0043b9e67c 100644
--- a/srcpkgs/dhcp/template
+++ b/srcpkgs/dhcp/template
@@ -11,10 +11,6 @@ homepage="https://www.isc.org/downloads/dhcp"
 distfiles="http://ftp.isc.org/isc/dhcp/${version/P/-P}/dhcp-${version/P/-P}.tar.gz"
 checksum=b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 disable_parallel_build=yes
 conf_files="/etc/dhcpd.conf"
 
diff --git a/srcpkgs/difftastic/template b/srcpkgs/difftastic/template
index 2182ece1b6a76..769301f7b417b 100644
--- a/srcpkgs/difftastic/template
+++ b/srcpkgs/difftastic/template
@@ -12,7 +12,6 @@ distfiles="https://static.crates.io/crates/difftastic/difftastic-${version}.crat
 checksum=ff0b1d205396b2eb156bd56b4f361767c13a02a14db1b0c8c663e4ff16160f17
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 	if [ -z "$CROSS_BUILD" ]; then
 		broken="how is this supposed to even work"
diff --git a/srcpkgs/digikam/template b/srcpkgs/digikam/template
index 5c98ed64aada0..1cee24f3b60ef 100644
--- a/srcpkgs/digikam/template
+++ b/srcpkgs/digikam/template
@@ -35,7 +35,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
index 202f6a6911e22..f5483acab28a5 100644
--- a/srcpkgs/dosbox-staging/template
+++ b/srcpkgs/dosbox-staging/template
@@ -18,6 +18,5 @@ checksum=2ca69e65e6c181197b63388c60487a3bcea804232a28c44c37704e70d49a0392
 conflicts="dosbox"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/duperemove/template b/srcpkgs/duperemove/template
index d5ed8bea29fe4..03e02859cf62b 100644
--- a/srcpkgs/duperemove/template
+++ b/srcpkgs/duperemove/template
@@ -3,7 +3,7 @@ pkgname=duperemove
 version=0.11.2
 revision=1
 hostmakedepends="pkg-config"
-makedepends="sqlite-devel libglib-devel libgcrypt-devel libatomic-devel"
+makedepends="sqlite-devel libglib-devel libgcrypt-devel"
 short_desc="Tools for deduping file systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-only"
diff --git a/srcpkgs/edbrowse/template b/srcpkgs/edbrowse/template
index f5f78af47851f..947241eab2624 100644
--- a/srcpkgs/edbrowse/template
+++ b/srcpkgs/edbrowse/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/CMB/edbrowse/archive/v${version}.tar.gz"
 checksum=2c7f6a07e5897060527b6cc5c19c45106444e2c4d8c9799434973c352d9ce4e6
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	make_build_args+=" QUICKJS_LDFLAGS+=-latomic"
 fi
 
diff --git a/srcpkgs/electron19/template b/srcpkgs/electron19/template
index 32ce301e730cf..3093248588438 100644
--- a/srcpkgs/electron19/template
+++ b/srcpkgs/electron19/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/electron24/template b/srcpkgs/electron24/template
index bdaa56adc8a65..431ba6b0f8301 100644
--- a/srcpkgs/electron24/template
+++ b/srcpkgs/electron24/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/encfs/template b/srcpkgs/encfs/template
index d041dace80d3b..e3fb3539f650b 100644
--- a/srcpkgs/encfs/template
+++ b/srcpkgs/encfs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fairy-stockfish/template b/srcpkgs/fairy-stockfish/template
index e8df08b5afc70..7a3c512bc4364 100644
--- a/srcpkgs/fairy-stockfish/template
+++ b/srcpkgs/fairy-stockfish/template
@@ -36,7 +36,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index aa058aab9ca9f..200670610b6f3 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -52,7 +52,6 @@ if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 _apply_patch() {
diff --git a/srcpkgs/ffms2/template b/srcpkgs/ffms2/template
index 68e8a0c14bce3..bfeb9698ceb46 100644
--- a/srcpkgs/ffms2/template
+++ b/srcpkgs/ffms2/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index a8d1338d37e7f..c8d7feab7b4f5 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -21,10 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-gtk3-devel xdg-utils"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
diff --git a/srcpkgs/fio/template b/srcpkgs/fio/template
index 663bf2b08e3f4..5ca1157055e0c 100644
--- a/srcpkgs/fio/template
+++ b/srcpkgs/fio/template
@@ -20,7 +20,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/firefox-esr/template b/srcpkgs/firefox-esr/template
index 4d55e3ad54e77..2ddcc411b92eb 100644
--- a/srcpkgs/firefox-esr/template
+++ b/srcpkgs/firefox-esr/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template
index d29d5181a886b..875ca48580197 100644
--- a/srcpkgs/firefox/template
+++ b/srcpkgs/firefox/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/fish-shell/template b/srcpkgs/fish-shell/template
index 60f0f93412438..c5030d7b8d6d4 100644
--- a/srcpkgs/fish-shell/template
+++ b/srcpkgs/fish-shell/template
@@ -17,10 +17,6 @@ register_shell="/bin/fish /usr/bin/fish"
 # tests don't work as root
 make_check=ci-skip
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	# Starting with fish-3.0.0 this is a skeleton file with only comments
 	rm "${DESTDIR}/etc/fish/config.fish"
diff --git a/srcpkgs/fplll/template b/srcpkgs/fplll/template
index c53eee819b7b5..9843d46828414 100644
--- a/srcpkgs/fplll/template
+++ b/srcpkgs/fplll/template
@@ -12,10 +12,6 @@ changelog="https://github.com/fplll/fplll/releases"
 distfiles="https://github.com/fplll/fplll/releases/download/${version}/fplll-${version}.tar.gz"
 checksum=0fd9d378f04ff886d8864728baf5d90b8b0b82c1e541e92550644fb54f75691d
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 fplll-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/fselect/template b/srcpkgs/fselect/template
index 2aa8aa8bf435d..492c4b11d2720 100644
--- a/srcpkgs/fselect/template
+++ b/srcpkgs/fselect/template
@@ -19,7 +19,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fswatch/template b/srcpkgs/fswatch/template
index dfb86f7258195..d2f0039c6c379 100644
--- a/srcpkgs/fswatch/template
+++ b/srcpkgs/fswatch/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/emcrisostomo/fswatch/releases/download/${version}/
 checksum=c38e341c567f5f16bfa64b72fc48bba5e93873d8572522e670e6f320bbc2122f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/geonkick/template b/srcpkgs/geonkick/template
index 5f73484a3fb75..d7494a6ff5057 100644
--- a/srcpkgs/geonkick/template
+++ b/srcpkgs/geonkick/template
@@ -19,6 +19,5 @@ if [ ${CROSS_BUILD} ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS='-latomic'"
 fi
diff --git a/srcpkgs/giada/template b/srcpkgs/giada/template
index 558097e3a0e25..a7ac263ce2f3d 100644
--- a/srcpkgs/giada/template
+++ b/srcpkgs/giada/template
@@ -16,10 +16,6 @@ changelog="https://github.com/monocasual/giada/raw/master/ChangeLog"
 distfiles="https://github.com/monocasual/giada/archive/v${version}.tar.gz"
 checksum=b879f5ba7e9f34d7422aedd89d1d0baa91387b3528e057b4df25e1f2f8d661ef
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e '/list(APPEND LIBRARIES)/a list(APPEND LIBRARIES atomic)' -i CMakeLists.txt
diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index 8e8698e3388a2..571be2734c378 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -19,7 +19,6 @@ checksum=a63f156964b136053eab51ea013114e7d7c193b7518d28c040b6b02c3c933a6d
 make_check_pre="xvfb-run"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 if [ "$XBPS_CHECK_PKGS" ]; then
diff --git a/srcpkgs/glirc/template b/srcpkgs/glirc/template
index 98a677886ae1c..da205ec9810b9 100644
--- a/srcpkgs/glirc/template
+++ b/srcpkgs/glirc/template
@@ -16,7 +16,6 @@ nopie=yes	# ghc is currently built without PIE support
 _cabal_opts="-g"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	_cabal_opts+=" --ghc-option -latomic"
 fi
 
diff --git a/srcpkgs/glog/template b/srcpkgs/glog/template
index 441a149514fd8..07d7137bc77e1 100644
--- a/srcpkgs/glog/template
+++ b/srcpkgs/glog/template
@@ -18,7 +18,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/glslViewer/template b/srcpkgs/glslViewer/template
index e832b3df7b704..72707d14294fa 100644
--- a/srcpkgs/glslViewer/template
+++ b/srcpkgs/glslViewer/template
@@ -18,10 +18,6 @@ distfiles="https://github.com/patriciogonzalezvivo/glslViewer/archive/${version}
 checksum="4d8bac6a801fa61b81e472a8dabfe5469a43c44547d558849a078ed2c26c8034
  a71f149e84afdf12aa88555efef09d0e420c5d5c6ba9c2d67126ecc49fddaff0"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ${pkgname}-${version} ${build_wrksrc}
 	mv vera-${_vera_gitrev}/* ${build_wrksrc}/deps/vera
diff --git a/srcpkgs/gnunet/template b/srcpkgs/gnunet/template
index a8a6dabe66bab..1387a3cf6b37b 100644
--- a/srcpkgs/gnunet/template
+++ b/srcpkgs/gnunet/template
@@ -36,10 +36,6 @@ desc_option_jansson="Enable support for jansson"
 desc_option_opus="Enable support for opus"
 desc_option_zbar="Enable support for zbar"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	NOCONFIGURE=1 autoreconf -fi
 }
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 3308afa6e2c30..be803231f80d2 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -35,7 +35,6 @@ if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/goxel/template b/srcpkgs/goxel/template
index 636dd5f66a768..79268eaf8c1aa 100644
--- a/srcpkgs/goxel/template
+++ b/srcpkgs/goxel/template
@@ -13,10 +13,6 @@ homepage="https://guillaumechereau.github.io/goxel/"
 distfiles="https://github.com/guillaumechereau/goxel/archive/v${version}.tar.gz"
 checksum=e3825625e1af9f58593695b0129e39f68a8f3c7d5696c096b8ed2d8b9ac69430
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_build() {
 	if [ "$CROSS_BUILD" ];then
 		vsed -i SConstruct \
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 9c58c2509bee7..f5afad92794ed 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/gzdoom/template b/srcpkgs/gzdoom/template
index 781616f36a931..8991a8a415ce1 100644
--- a/srcpkgs/gzdoom/template
+++ b/srcpkgs/gzdoom/template
@@ -27,7 +27,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/haproxy/template b/srcpkgs/haproxy/template
index 635755fe4173d..c6578e0fc1dcf 100644
--- a/srcpkgs/haproxy/template
+++ b/srcpkgs/haproxy/template
@@ -5,7 +5,7 @@ revision=1
 build_style=gnu-makefile
 make_install_args="SBINDIR=${DESTDIR}/usr/bin DOCDIR=${DESTDIR}/usr/share/doc/${pkgname}"
 hostmakedepends="lua53-devel"
-makedepends="libatomic-devel openssl-devel lua53-devel pcre2-devel"
+makedepends="openssl-devel lua53-devel pcre2-devel"
 checkdepends="curl varnish"
 short_desc="Reliable, high performance TCP/HTTP load balancer"
 maintainer="Zach Dykstra <dykstra.zachary@gmail.com>"
diff --git a/srcpkgs/hedgewars/template b/srcpkgs/hedgewars/template
index 419f29b98b44d..15a1df6d8861d 100644
--- a/srcpkgs/hedgewars/template
+++ b/srcpkgs/hedgewars/template
@@ -35,8 +35,8 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ -n "$_use_c_engine" ]; then
-	hostmakedepends+=" glew-devel libatomic-devel ghc clang"
-	makedepends+=" glew-devel libatomic-devel"
+	hostmakedepends+=" glew-devel ghc clang"
+	makedepends+=" glew-devel"
 	configure_args+=" -DBUILD_ENGINE_C=1"
 	nopie_files+=" /usr/bin/hedgewars"
 fi
diff --git a/srcpkgs/highway/template b/srcpkgs/highway/template
index 47c51ec1d6165..4d6898b62c746 100644
--- a/srcpkgs/highway/template
+++ b/srcpkgs/highway/template
@@ -4,7 +4,6 @@ version=1.0.4
 revision=1
 build_style=cmake
 configure_args="-DHWY_SYSTEM_GTEST=ON -DHWY_ENABLE_EXAMPLES=OFF"
-makedepends="libatomic-devel"
 checkdepends="gtest-devel"
 short_desc="C++ library providing portable SIMD/vector intrinsics"
 maintainer="Joshua Krämer <joshua@kraemer.link>"
diff --git a/srcpkgs/i2pd/template b/srcpkgs/i2pd/template
index f4e21928b9dcc..8cfa4dd9a4954 100644
--- a/srcpkgs/i2pd/template
+++ b/srcpkgs/i2pd/template
@@ -4,8 +4,7 @@ version=2.48.0
 revision=1
 build_style=gnu-makefile
 make_build_args="USE_UPNP=yes"
-makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel
- libatomic-devel"
+makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel"
 short_desc="Full-featured C++ implementation of I2P client"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/inkscape/template b/srcpkgs/inkscape/template
index aa1ab218a442c..49633b61fd861 100644
--- a/srcpkgs/inkscape/template
+++ b/srcpkgs/inkscape/template
@@ -24,10 +24,6 @@ distfiles="https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.
 checksum=a0c7fd0d03c0a21535e648ef301dcf80dd7cfc1f3545e51065fbf1ba3ee8a5c4
 python_version=3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_LIBC" = musl ]; then
 		# disable errors for missing sentinels in glib variadic functions,
diff --git a/srcpkgs/jack_capture/template b/srcpkgs/jack_capture/template
index 5b604fdb2ed50..b5c59179d8d15 100644
--- a/srcpkgs/jack_capture/template
+++ b/srcpkgs/jack_capture/template
@@ -14,7 +14,6 @@ checksum=21afb0257ed7437708cc9e5bec2f6299599461b7eec8bf66967d8ecadb0751de
 CFLAGS+=" -D__USE_GNU"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/kdiff3/template b/srcpkgs/kdiff3/template
index 7ca6d77c9de2d..439abb790839a 100644
--- a/srcpkgs/kdiff3/template
+++ b/srcpkgs/kdiff3/template
@@ -19,6 +19,5 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ $XBPS_TARGET_NO_ATOMIC8 ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 46cbf7b318116..5ede09fb77532 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -20,6 +20,5 @@ checksum=2149cceac5526508653f4d02dcf7a694e3da3dc000a2372a1ee4bf9988279781
 system_groups="kismet"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/kiwix-lib/template b/srcpkgs/kiwix-lib/template
index 6534f59384a53..4b8fa31866db7 100644
--- a/srcpkgs/kiwix-lib/template
+++ b/srcpkgs/kiwix-lib/template
@@ -14,10 +14,6 @@ changelog="https://github.com/kiwix/kiwix-lib/blob/${version}/ChangeLog"
 distfiles="https://sources.voidlinux-ppc.org/kiwix-lib-${version}/${version}.tar.gz"
 checksum=f76bfa90411c52d4d8c49ac5767928fc28d01ef26916d72df4856cf08b064202
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kiwix-lib-devel_package() {
 	short_desc+=" - development packages"
 	depends="pugixml-devel icu-devel xapian-core-devel libzim-devel
diff --git a/srcpkgs/kiwix-tools/template b/srcpkgs/kiwix-tools/template
index e9f0841b61aea..dfa8a817adaa6 100644
--- a/srcpkgs/kiwix-tools/template
+++ b/srcpkgs/kiwix-tools/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/kiwix/kiwix-tools/archive/${version}.tar.gz"
 checksum=86325ec31976d40357f08c520806cf223fa1b0a5edb02ad106c2a0d6746ca364
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/kjsembed/template b/srcpkgs/kjsembed/template
index 1dcfd1d8338e6..6c3b334e85942 100644
--- a/srcpkgs/kjsembed/template
+++ b/srcpkgs/kjsembed/template
@@ -16,10 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-host-tools qt5-qmake kdoctools"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kjsembed-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index 8057964d78a38..bd5433969db64 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -96,7 +96,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template
index 8280590f39efc..420783517167f 100644
--- a/srcpkgs/krita/template
+++ b/srcpkgs/krita/template
@@ -32,10 +32,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) makedepends+=" vc";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	# CMake won't search in those directories because of CMAKE_FIND_ROOT_PATH
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/kross/template b/srcpkgs/kross/template
index 49bc5f603ed85..0f287825f7ae6 100644
--- a/srcpkgs/kross/template
+++ b/srcpkgs/kross/template
@@ -15,10 +15,6 @@ homepage="https://invent.kde.org/frameworks/kross"
 distfiles="${KDE_SITE}/frameworks/${version%.*}/portingAids/${pkgname}-${version}.tar.xz"
 checksum=3f0eac7ceaf22fae6202efb66b73e192b781e5733566cbf3362d82be8e8cbe8e
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kross-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kwin/template b/srcpkgs/kwin/template
index c530ec5ea57d6..91a1176995720 100644
--- a/srcpkgs/kwin/template
+++ b/srcpkgs/kwin/template
@@ -13,8 +13,7 @@ makedepends="plasma-framework-devel kcmutils-devel knewstuff-devel
  kscreenlocker-devel kinit-devel xcb-util-cursor-devel qt5-multimedia-devel
  kdecoration-devel libxkbcommon-devel libinput-devel libSM-devel
  libICE-devel xcb-util-wm-devel qt5-sensors-devel lcms2-devel
- pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids
- libatomic-devel"
+ pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids"
 depends="breeze hicolor-icon-theme kinit qt5-core>=5.15.2<5.16.0
  hwids libcap-progs"
 short_desc="KDE Window manager"
diff --git a/srcpkgs/lc0/template b/srcpkgs/lc0/template
index 9e419aa99689a..01ad362471c70 100644
--- a/srcpkgs/lc0/template
+++ b/srcpkgs/lc0/template
@@ -27,10 +27,6 @@ if [ "$CROSS_BUILD" ] && [ "$build_option_openblas" ]; then
 	configure_args+=" -Dopenblas_include=${XBPS_CROSS_BASE}/usr/include/openblas/"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc*) export CXXFLAGS+=" -DNO_WARN_X86_INTRINSICS";;
 esac
diff --git a/srcpkgs/libdex/template b/srcpkgs/libdex/template
index 4c6f15150f4a4..06b6c90365726 100644
--- a/srcpkgs/libdex/template
+++ b/srcpkgs/libdex/template
@@ -10,7 +10,7 @@ configure_args="-Dexamples=false
  $(vopt_bool vala vapi)"
 hostmakedepends="pkg-config glib-devel gettext
  $(vopt_if vala vala) $(vopt_if gtk_doc gi-docgen)"
-makedepends="glib-devel libgirepository-devel libatomic-devel
+makedepends="glib-devel libgirepository-devel
  liburing-devel $(vopt_if vala 'vala vala-devel')"
 short_desc="Future-based programming for GLib-based applications"
 maintainer="oreo639 <oreo6391@gmail.com>"
diff --git a/srcpkgs/libfilezilla/template b/srcpkgs/libfilezilla/template
index 3f14afac2e55a..ada549cb23f35 100644
--- a/srcpkgs/libfilezilla/template
+++ b/srcpkgs/libfilezilla/template
@@ -16,7 +16,6 @@ distfiles="https://download.filezilla-project.org/${pkgname}/${pkgname}-${versio
 checksum=2a8f57a06b52f6413b47d6a5dfbe7e9e31c84cc0784076f2f7e395232b0bd461
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index 8aa7c970accbb..a32e13469a280 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -26,7 +26,6 @@ checksum="c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420
 skip_extraction="skcms-${_skcms_hash}.tar.gz"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/libogre/template b/srcpkgs/libogre/template
index aa04d72212472..38e9cb9d52c6c 100644
--- a/srcpkgs/libogre/template
+++ b/srcpkgs/libogre/template
@@ -8,7 +8,7 @@ configure_args="-DOGRE_INSTALL_SAMPLES=TRUE -DOGRE_INSTALL_DOCS=TRUE
 make_build_target="all OgreDoc"
 hostmakedepends="pkg-config graphviz doxygen dejavu-fonts-ttf"
 makedepends="boost-devel freetype-devel libXaw-devel libXrandr-devel
- MesaLib-devel zziplib-devel libcppunit-devel glu-devel libatomic-devel
+ MesaLib-devel zziplib-devel libcppunit-devel glu-devel
  freeimage-devel pugixml-devel python3-devel"
 short_desc="Scene-oriented, flexible 3D engine"
 maintainer="Enno Boland <gottox@voidlinux.org>"
diff --git a/srcpkgs/libopenshot-audio/template b/srcpkgs/libopenshot-audio/template
index 99ed64a757f4e..deeb6fae494e2 100644
--- a/srcpkgs/libopenshot-audio/template
+++ b/srcpkgs/libopenshot-audio/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/OpenShot/libopenshot-audio/archive/v${version}.tar
 checksum=007ba6ee812a58506341dd66055dba575b3907e5274a0e7416f99c2fbb80021c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/libplacebo/template b/srcpkgs/libplacebo/template
index b58d978095d1a..9258c184247d5 100644
--- a/srcpkgs/libplacebo/template
+++ b/srcpkgs/libplacebo/template
@@ -16,7 +16,6 @@ distfiles="https://code.videolan.org/videolan/libplacebo/-/archive/v${version}/l
 checksum=7b3c857934ee3d30f743e43d7f0606e10950806661ea0ea385f8a1f06cbab854
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template
index bf5d7af39190a..35c83414acaf1 100644
--- a/srcpkgs/libreoffice/template
+++ b/srcpkgs/libreoffice/template
@@ -170,10 +170,6 @@ case "$XBPS_TARGET_MACHINE" in
 		;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS+=" -DGLM_ENABLE_EXPERIMENTAL -DU_USING_ICU_NAMESPACE=1"
 
 # Move files listed in a <name>_list.txt into $PKGDESTDIR
diff --git a/srcpkgs/libtd/template b/srcpkgs/libtd/template
index a54fe851decf6..68f7106dfebcb 100644
--- a/srcpkgs/libtd/template
+++ b/srcpkgs/libtd/template
@@ -19,7 +19,6 @@ fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
-	makedepends+=" libatomic-devel"
 fi
 
 pre_configure() {
diff --git a/srcpkgs/libtorrent-rasterbar/template b/srcpkgs/libtorrent-rasterbar/template
index b34c92df1ee24..297239391080b 100644
--- a/srcpkgs/libtorrent-rasterbar/template
+++ b/srcpkgs/libtorrent-rasterbar/template
@@ -19,10 +19,6 @@ CXXFLAGS="-std=c++14"
 
 # TODO: The test_resume failed in CI for i686 but passed with xbps-uunshare
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i CMakeLists.txt -e "s;Threads::Threads;& atomic;"
@@ -51,9 +47,6 @@ libtorrent-rasterbar-python3_package() {
 
 libtorrent-rasterbar-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision} openssl-devel boost-devel geoip-devel"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index aea0b43cf573b..86e86bb96c63f 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -27,7 +27,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm12>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/llvm15/template b/srcpkgs/llvm15/template
index 7eaadb18b9d65..81571270b03c3 100644
--- a/srcpkgs/llvm15/template
+++ b/srcpkgs/llvm15/template
@@ -32,7 +32,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm15>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/lms/template b/srcpkgs/lms/template
index d20ae1ec1fc86..2df52c51dbfe6 100644
--- a/srcpkgs/lms/template
+++ b/srcpkgs/lms/template
@@ -18,7 +18,6 @@ _lms_homedir="/var/lms"
 make_dirs="/var/lms 755 _lms _lms"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template
index 95e5eeb77d527..f8987e06ed1c6 100644
--- a/srcpkgs/mariadb/template
+++ b/srcpkgs/mariadb/template
@@ -19,7 +19,7 @@ configure_args="-DBUILD_CONFIG=mysql_release
  -DWITH_READLINE=ON -DWITH_SYSTEMD=no -DWITH_PCRE=system"
 hostmakedepends="bison perl flex pkg-config"
 makedepends="ncurses-devel gnutls-devel libaio-devel boost-devel pam-devel zlib-devel
- pcre2-devel libatomic-devel"
+ pcre2-devel"
 depends="perl"
 checkdepends="perl"
 short_desc="Fast SQL database server, drop-in replacement for MySQL"
@@ -83,7 +83,7 @@ libmariadbclient_package() {
 }
 
 libmariadbclient-devel_package() {
-	depends="libmariadbclient>=${version}_${revision} libatomic-devel"
+	depends="libmariadbclient>=${version}_${revision}"
 	provides="libmysqlclient-devel-${version}_${revision}"
 	replaces="libmysqlclient-devel>=0"
 	short_desc+=" - client development files"
diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index b07f38864ea8e..df788fe3b0f00 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -11,7 +11,7 @@ configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
 hostmakedepends="gettext flex llvm pkg-config python3-Mako glslang
  $(vopt_if wayland 'wayland-protocols wayland-devel')"
 makedepends="elfutils-devel expat-devel libXdamage-devel
- libXxf86vm-devel libatomic-devel libdrm-devel libffi-devel libva-devel
+ libXxf86vm-devel libdrm-devel libffi-devel libva-devel
  libvdpau-devel libxshmfence-devel ncurses-devel zlib-devel
  $(vopt_if wayland 'wayland-devel wayland-protocols') llvm libsensors-devel
  libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua53-devel
diff --git a/srcpkgs/mgba/template b/srcpkgs/mgba/template
index ae0504311eee0..4af085188bf44 100644
--- a/srcpkgs/mgba/template
+++ b/srcpkgs/mgba/template
@@ -15,7 +15,6 @@ distfiles="https://github.com/mgba-emu/${pkgname}/archive/${version}.tar.gz"
 checksum="60afef8fb79ba1f7be565b737bae73c6604a790391c737f291482a7422d675ae"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/mlt/template b/srcpkgs/mlt/template
index 8933eb4e7bb9e..5ad199461e694 100644
--- a/srcpkgs/mlt/template
+++ b/srcpkgs/mlt/template
@@ -11,7 +11,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which"
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel"
+ libvidstab-devel"
 depends="mlt-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/mlt7/template b/srcpkgs/mlt7/template
index 9fb7f60d692e1..df3e2c559ad6c 100644
--- a/srcpkgs/mlt7/template
+++ b/srcpkgs/mlt7/template
@@ -9,7 +9,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel qt5-svg-devel"
+ libvidstab-devel qt5-svg-devel"
 depends="mlt7-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index e7735cb57f4fc..991c06425b436 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -40,10 +40,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="Does not build"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv mozc-* mozc
 
diff --git a/srcpkgs/mozjs102/template b/srcpkgs/mozjs102/template
index 4bbc084b5a44d..2bb2d3e7287a1 100644
--- a/srcpkgs/mozjs102/template
+++ b/srcpkgs/mozjs102/template
@@ -25,7 +25,6 @@ checksum=47f8f6243bce8c2ef51adf8c9626bbf643e1c225dcb9ba5653a055ed5e76ca48
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
index 10d9af44619f7..8e7175156669c 100644
--- a/srcpkgs/mozjs78/template
+++ b/srcpkgs/mozjs78/template
@@ -21,7 +21,6 @@ CXXFLAGS="-Wno-class-memaccess"
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mpv/template b/srcpkgs/mpv/template
index e163c496c6ebb..36b8343cb6ac6 100644
--- a/srcpkgs/mpv/template
+++ b/srcpkgs/mpv/template
@@ -43,10 +43,6 @@ changelog="https://github.com/mpv-player/mpv/releases"
 distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
 checksum=41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2
  sndio vapoursynth vdpau vulkan wayland x11"
 build_options_default="alsa jack lcms lua pulseaudio pipewire vdpau vulkan
diff --git a/srcpkgs/musikcube/template b/srcpkgs/musikcube/template
index 7c569303c0543..193cb06a5fadb 100644
--- a/srcpkgs/musikcube/template
+++ b/srcpkgs/musikcube/template
@@ -24,10 +24,6 @@ build_options_default="elogind"
 
 export CMAKE_GENERATOR="Unix Makefiles"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.txt
 }
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 176bcf26d8c53..2d670e5e284ed 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -37,7 +37,6 @@ system_accounts="_netdata"
 conf_files="/etc/${pkgname}/*.conf"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/nix/template b/srcpkgs/nix/template
index 20eb0d85fdaf4..06f34d6e9a0f1 100644
--- a/srcpkgs/nix/template
+++ b/srcpkgs/nix/template
@@ -62,10 +62,6 @@ make_dirs="
 	/nix/var/nix/db 0755 root root
 	/nix/store 1775 root nixbld"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	./bootstrap.sh
 }
diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template
index aa03b7f48c27e..31268b558f81b 100644
--- a/srcpkgs/nodejs/template
+++ b/srcpkgs/nodejs/template
@@ -3,10 +3,10 @@ pkgname=nodejs
 version=18.16.0
 revision=2
 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079
-hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel
+hostmakedepends="which pkg-config python3 zlib-devel
  $(vopt_if icu icu-devel) $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
-makedepends="libatomic-devel zlib-devel $(vopt_if icu icu-devel)
+makedepends="zlib-devel $(vopt_if icu icu-devel)
  $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
 checkdepends="procps-ng iana-etc"
diff --git a/srcpkgs/nushell/template b/srcpkgs/nushell/template
index c0ea4d3a94e0b..8bcb50e307c86 100644
--- a/srcpkgs/nushell/template
+++ b/srcpkgs/nushell/template
@@ -6,7 +6,7 @@ build_style=cargo
 configure_args="--features=extra"
 hostmakedepends="pkg-config python3 libgit2-devel"
 makedepends="openssl-devel libgit2-devel libX11-devel libxcb-devel
- libatomic-devel libcurl-devel libzstd-devel liblz4-devel zlib-devel
+ libcurl-devel libzstd-devel liblz4-devel zlib-devel
  nghttp2-devel bzip2-devel sqlite-devel"
 short_desc="Modern shell for the GitHub era"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 69c635b1ad2bc..62226978fa3e0 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -30,10 +30,6 @@ patch_args="-Np1 -d ${build_wrksrc}"
 # tests hang indenfinitely, even with test data included
 make_check=no
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
diff --git a/srcpkgs/opendht/template b/srcpkgs/opendht/template
index 2902fc6d4a701..25d74d1138c6b 100644
--- a/srcpkgs/opendht/template
+++ b/srcpkgs/opendht/template
@@ -14,10 +14,6 @@ homepage="https://github.com/savoirfairelinux/opendht"
 distfiles="https://github.com/savoirfairelinux/opendht/archive/refs/tags/v${version}.tar.gz"
 checksum=5144bc4456d396b527b59065064bbc31fbe0d2af5fd052506219a66895791e64
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 opendht-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision} gnutls-devel nettle-devel"
diff --git a/srcpkgs/openimageio/template b/srcpkgs/openimageio/template
index 0e9e22e9685d9..69a9e23786942 100644
--- a/srcpkgs/openimageio/template
+++ b/srcpkgs/openimageio/template
@@ -27,10 +27,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) configure_args+=" -DUSE_SIMD=sse2" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.md LICENSE
 }
diff --git a/srcpkgs/openmpi/template b/srcpkgs/openmpi/template
index 291225502c4f1..77038695442e7 100644
--- a/srcpkgs/openmpi/template
+++ b/srcpkgs/openmpi/template
@@ -28,7 +28,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/openmw/template b/srcpkgs/openmw/template
index e3771c7aaf1a3..ddaab54a2003d 100644
--- a/srcpkgs/openmw/template
+++ b/srcpkgs/openmw/template
@@ -30,7 +30,6 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/openttd/template b/srcpkgs/openttd/template
index 4bfb9a56c0768..40596ac750b28 100644
--- a/srcpkgs/openttd/template
+++ b/srcpkgs/openttd/template
@@ -34,10 +34,6 @@ checksum="aafa16d2fb67165134c73a888f79f7a5ed7da17a04cf6e9ecf672c9cb89e7192
  e0a218b7dd9438e701503b0f84c25a97c1c11b7c2f025323fb19d6db16ef3759
  5a4277a2e62d87f2952ea5020dc20fb2f6ffafdccf9913fbf35ad45ee30ec762"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	bsdtar xf opengfx-${_gfxver}.tar
 	bsdtar xf opensfx-${_sfxver}.tar
diff --git a/srcpkgs/openvdb/template b/srcpkgs/openvdb/template
index 0084a3cb85bae..30a61927059d9 100644
--- a/srcpkgs/openvdb/template
+++ b/srcpkgs/openvdb/template
@@ -23,7 +23,6 @@ if [ "$XBPS_WORDSIZE" -eq 32 ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 2fe3186babdf0..ad82aa160c82f 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -45,7 +45,6 @@ desc_option_ffado="Enable support for FireWire based audio devices"
 replaces="libpulseaudio-pipewire>=0"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/plocate/template b/srcpkgs/plocate/template
index bc37ca01e9740..32a64971a2699 100644
--- a/srcpkgs/plocate/template
+++ b/srcpkgs/plocate/template
@@ -26,7 +26,6 @@ alternatives="
  locate:updatedb.conf.5:/usr/share/man/man5/pupdatedb.conf.5"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index f27cb3e5dbeff..377183469ae74 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/polybar/template b/srcpkgs/polybar/template
index b59ed9cd039a8..10d3ffa4ba75f 100644
--- a/srcpkgs/polybar/template
+++ b/srcpkgs/polybar/template
@@ -38,7 +38,6 @@ desc_option_mpd="Enable support for MPD"
 desc_option_network="Enable support for network"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/primesieve/template b/srcpkgs/primesieve/template
index 84452b604d55f..eb8b48b9ad31f 100644
--- a/srcpkgs/primesieve/template
+++ b/srcpkgs/primesieve/template
@@ -12,10 +12,6 @@ changelog="https://raw.githubusercontent.com/kimwalisch/primesieve/master/Change
 distfiles="https://github.com/kimwalisch/primesieve/archive/refs/tags/v${version}.tar.gz"
 checksum=bab3bc4a1f3247f95b83dfc494ab0ce37a370a7b05379640f58e786d8d5fba61
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense COPYING
 }
diff --git a/srcpkgs/prometheus-cpp/template b/srcpkgs/prometheus-cpp/template
index 3012d53ef47a6..d0a4f97698010 100644
--- a/srcpkgs/prometheus-cpp/template
+++ b/srcpkgs/prometheus-cpp/template
@@ -8,7 +8,7 @@ _hash_civetweb=fbdee7440be24f904208c15a1fc9e2582b866049
 create_wrksrc=yes
 build_style=cmake
 hostmakedepends="telegraf protobuf"
-makedepends="protobuf-devel libatomic-devel"
+makedepends="protobuf-devel"
 short_desc="Prometheus Client Library in Modern C++"
 maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="MIT"
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 828c4b050fdca..a0bfce84c0c1f 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -8,8 +8,7 @@ configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
  -Dprotobuf_BUILD_TESTS=OFF"
 # XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
 hostmakedepends="pkg-config"
-makedepends="zlib-devel gtest-devel libatomic-devel
- abseil-cpp-devel"
+makedepends="zlib-devel gtest-devel abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/python3-grpcio-tools/template b/srcpkgs/python3-grpcio-tools/template
index e36b420967f64..17db7adf151ca 100644
--- a/srcpkgs/python3-grpcio-tools/template
+++ b/srcpkgs/python3-grpcio-tools/template
@@ -17,7 +17,6 @@ checksum=84cc64e5b46bad43d5d7bd2fd772b656eba0366961187a847e908e2cb735db91
 export GRPC_PYTHON_BUILD_WITH_CYTHON=1
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 pre_check() {
diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 25ea3fc346208..25662e963632e 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -14,10 +14,6 @@ homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
 checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
diff --git a/srcpkgs/python3-pyqt6/template b/srcpkgs/python3-pyqt6/template
index 2cf8da5e62b50..881668fd7a1f9 100644
--- a/srcpkgs/python3-pyqt6/template
+++ b/srcpkgs/python3-pyqt6/template
@@ -20,10 +20,6 @@ distfiles="$PYPI_SITE/P/PyQt6/PyQt6-$version.tar.gz"
 checksum=b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc
 lib32disabled=yes
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # Split like qt6, but keep qt6-core in main pkg
 
 python3-pyqt6-core-devel_package() {
diff --git a/srcpkgs/qpdf/template b/srcpkgs/qpdf/template
index 5e16b8b5d050a..46bddaf810736 100644
--- a/srcpkgs/qpdf/template
+++ b/srcpkgs/qpdf/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/qpdf/qpdf/archive/refs/tags/v${version}.tar.gz"
 checksum=0e15aaed511928a3d0f5a416e6521640a561a8ce522c574f93ef6472915151f3
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/qt5-webengine/template b/srcpkgs/qt5-webengine/template
index edeb07f1ab7a7..679d0fa2ad84b 100644
--- a/srcpkgs/qt5-webengine/template
+++ b/srcpkgs/qt5-webengine/template
@@ -60,24 +60,10 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 	broken="webengine only supports little endian"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
-# ppc64 still needs libatomic here, as does s390x but we don't have that
-case "$XBPS_MACHINE" in
-	ppc64*) hostmakedepends+=" libatomic-devel"
-esac
-
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
-case "$XBPS_TARGET_MACHINE" in
-	ppc64*) makedepends+=" libatomic-devel" ;;
-esac
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*-musl) makedepends+=" libucontext-devel" ;;
 esac
diff --git a/srcpkgs/qt5-webkit/template b/srcpkgs/qt5-webkit/template
index b66658071d43d..4ea5f11b1fc0a 100644
--- a/srcpkgs/qt5-webkit/template
+++ b/srcpkgs/qt5-webkit/template
@@ -41,7 +41,6 @@ esac
 
 # some platforms need libatomic
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index d3821efbe3784..86ea3ec2c11b9 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -49,10 +49,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" postgresql-libs-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _cleanup_wrksrc_leak() {
 	if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then
 		# Replace references to ${wrksrc} in cmake files
@@ -1075,9 +1071,6 @@ qt5-devel_package() {
 		qt5-network-${version}_${revision}
 		qt5-xml-${version}_${revision}
 		qt5-host-tools-${version}_${revision}"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - Development files"
 	# qt5-enginio-devel is gone
 	pkg_install() {
diff --git a/srcpkgs/qt6-3d/template b/srcpkgs/qt6-3d/template
index 4b7fbee0562e4..cce8faba43362 100644
--- a/srcpkgs/qt6-3d/template
+++ b/srcpkgs/qt6-3d/template
@@ -4,8 +4,7 @@ version=6.5.0
 revision=1
 build_style=cmake
 hostmakedepends="perl qt6-declarative-host-tools"
-makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel
- libatomic-devel"
+makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel"
 short_desc="Cross-platform application and UI framework - 3d"
 maintainer="John <me@johnnynator.dev>"
 license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
diff --git a/srcpkgs/qt6-base/template b/srcpkgs/qt6-base/template
index c2e526cf9c223..891d14580c73a 100644
--- a/srcpkgs/qt6-base/template
+++ b/srcpkgs/qt6-base/template
@@ -23,7 +23,7 @@ makedepends="zlib-devel libzstd-devel dbus-devel
  xcb-util-renderutil-devel xcb-util-wm-devel
  MesaLib-devel pcre2-devel icu-devel mtdev-devel harfbuzz-devel
  libpng-devel tslib-devel libinput-devel gtk+3-devel
- libmariadbclient-devel postgresql-libs-devel libatomic-devel
+ libmariadbclient-devel postgresql-libs-devel
  unixodbc-devel cups-devel libproxy-devel brotli-devel
  sqlite-devel Vulkan-Headers mit-krb5-devel vulkan-loader libb2-devel
  xcb-util-cursor-devel"
diff --git a/srcpkgs/qt6-tools/template b/srcpkgs/qt6-tools/template
index 2d13e8974409c..2166d4aa633ff 100644
--- a/srcpkgs/qt6-tools/template
+++ b/srcpkgs/qt6-tools/template
@@ -9,7 +9,7 @@ configure_args="-DEXTERNAL_GUMBO=ON -DLITEHTML_UTF8=ON -DUSE_ICU=ON
  -DQT_FEATURE_distancefieldgenerator=ON"
 hostmakedepends="qt6-base perl qt6-plugin-sqlite clang llvm clang-tools-extra
  qt6-declarative-host-tools"
-makedepends="qt6-base-devel libatomic-devel qt6-plugin-sqlite qt6-declarative-devel
+makedepends="qt6-base-devel qt6-plugin-sqlite qt6-declarative-devel
  gumbo-parser-devel icu-devel llvm clang-tools-extra"
 short_desc="Cross-platform application and UI framework (QT6) - qt6-tools component"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template
index 71beaceaf3b64..8438bb1229dd1 100644
--- a/srcpkgs/qtcreator/template
+++ b/srcpkgs/qtcreator/template
@@ -36,7 +36,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/qtox/template b/srcpkgs/qtox/template
index 16019d7eaec9e..39c643fecdb5a 100644
--- a/srcpkgs/qtox/template
+++ b/srcpkgs/qtox/template
@@ -23,7 +23,3 @@ checksum=cd0781241b4ea536da90ce8c72ad9f2aa9bbdf9fbae5d38ee645e30d790fa7f2
 build_options="snorenotify"
 build_options_default="snorenotify"
 desc_option_snorenotify="Enable support for desktop notifications"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
diff --git a/srcpkgs/quickjs/template b/srcpkgs/quickjs/template
index 562ca371bc5db..52e343d12ff81 100644
--- a/srcpkgs/quickjs/template
+++ b/srcpkgs/quickjs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export EXTRA_LIBS="-latomic"
 fi
diff --git a/srcpkgs/rawtherapee/template b/srcpkgs/rawtherapee/template
index 6745c96a109ae..463d9cfb3f127 100644
--- a/srcpkgs/rawtherapee/template
+++ b/srcpkgs/rawtherapee/template
@@ -5,7 +5,7 @@ revision=2
 build_style=cmake
 configure_args="-DCACHE_NAME_SUFFIX=\"\""
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Free RAW converter and digital photo processing software"
diff --git a/srcpkgs/receivemidi/template b/srcpkgs/receivemidi/template
index 7d83a46b3cb49..4f9a0b7566cd5 100644
--- a/srcpkgs/receivemidi/template
+++ b/srcpkgs/receivemidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/ReceiveMIDI/releases"
 distfiles="https://github.com/gbevin/ReceiveMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=54697ad1a723eea5e3f19ec3bf153795e765b278953dde8be7f350001637bc0a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/redis/template b/srcpkgs/redis/template
index 8e8ac83a965f7..39c45c443d30b 100644
--- a/srcpkgs/redis/template
+++ b/srcpkgs/redis/template
@@ -29,10 +29,6 @@ else
 	make_build_args+=" MALLOC=jemalloc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	vsed -i \
 		-e "s|^# bind 127.0.0.1|bind 127.0.0.1|" \
diff --git a/srcpkgs/renderdoc/template b/srcpkgs/renderdoc/template
index 39d51d2416770..b663608ce29ec 100644
--- a/srcpkgs/renderdoc/template
+++ b/srcpkgs/renderdoc/template
@@ -34,7 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DNEED_LIBATOMIC=ON"
 fi
 
diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template
index 8a0786c21a082..5fe0e45e4cb0b 100644
--- a/srcpkgs/retroshare/template
+++ b/srcpkgs/retroshare/template
@@ -20,10 +20,6 @@ checksum=c545b9249ac7dbfef72a2d636bc0f8b729c7ce05f21a54dd9284b2a387592d4a
 
 export CXXFLAGS="-std=c++14"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	for l in COPYING LICENSES/*; do
 		vlicense "$l"
diff --git a/srcpkgs/rocksdb/template b/srcpkgs/rocksdb/template
index 4da7dfcf0673f..5dab076e79394 100644
--- a/srcpkgs/rocksdb/template
+++ b/srcpkgs/rocksdb/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/facebook/rocksdb/archive/v${version}.tar.gz"
 checksum=886378093098a1b2521b824782db7f7dd86224c232cf9652fcaf88222420b292
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
diff --git a/srcpkgs/rubberband/template b/srcpkgs/rubberband/template
index 04e4d91c0f105..32f1f9f160794 100644
--- a/srcpkgs/rubberband/template
+++ b/srcpkgs/rubberband/template
@@ -17,7 +17,6 @@ distfiles="https://breakfastquay.com/files/releases/rubberband-${version}.tar.bz
 checksum=82edacd0c50bfe56a6a85db1fcd4ca3346940ffe02843fc50f8b92f99a97d172
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 3331675ac2509..0d955b4a8d146 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -41,11 +41,6 @@ else
 	hostmakedepends+=" rust-bootstrap"
 fi
 
-# see https://github.com/rust-lang/rust/commit/1db81713f6475bebd0ae689ac7139c53d2843c48
-case "$XBPS_TARGET_MACHINE" in
-	armv*) makedepends+=" libatomic-devel" ;;
-esac
-
 # we need this because cargo verifies checksums of all files in vendor
 # crates when it builds and gives us no way to override or update the
 # file sanely... so just clear out the file list
diff --git a/srcpkgs/sendmidi/template b/srcpkgs/sendmidi/template
index 95b1862e1a619..2b44c25e7247a 100644
--- a/srcpkgs/sendmidi/template
+++ b/srcpkgs/sendmidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/SendMIDI/releases"
 distfiles="https://github.com/gbevin/SendMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=3fb3d16ee14784e057e633b6e57fede33ac291d9af85942106fde8b431e15740
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/snapcast/template b/srcpkgs/snapcast/template
index 2440d44d8f513..399882ada2065 100644
--- a/srcpkgs/snapcast/template
+++ b/srcpkgs/snapcast/template
@@ -21,10 +21,6 @@ checksum=c662c6eafbaa42a4797a4ed6ba4a7602332abf99f6ba6ea88ff8ae59978a86ba
 build_options="avahi pulseaudio"
 build_options_default="avahi pulseaudio"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vdoc README.md
 	vdoc doc/player_setup.md
diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index c406f9c72c155..3a7a68fc13bf9 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -22,7 +22,6 @@ checksum="ab4b3a5fecb1800f8eab82a92138a70227e869d2066ee881441b1e13035786dc
 nocross="https://travis-ci.org/bobertlo/void-packages/jobs/487251265"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/sonic-visualiser/template b/srcpkgs/sonic-visualiser/template
index 0f70214f8570a..f563ad3d40a63 100644
--- a/srcpkgs/sonic-visualiser/template
+++ b/srcpkgs/sonic-visualiser/template
@@ -16,10 +16,6 @@ changelog="https://raw.githubusercontent.com/sonic-visualiser/sonic-visualiser/d
 distfiles="https://github.com/sonic-visualiser/sonic-visualiser/releases/download/sv_v${version}/sonic-visualiser-${version}.tar.gz"
 checksum=0816e1ba9e3f97af495ece2554186bccad1cf47090ff8a13f1d08322212db487
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i "s/^general_link_args = \[\]/general_link_args = \['-latomic'\]/" meson.build
diff --git a/srcpkgs/squid/template b/srcpkgs/squid/template
index 49b9eb9d7b916..ca758380e900d 100644
--- a/srcpkgs/squid/template
+++ b/srcpkgs/squid/template
@@ -60,7 +60,6 @@ system_accounts="squid"
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/srt/template b/srcpkgs/srt/template
index 76a4d1055c7c5..d8a2e909f5788 100644
--- a/srcpkgs/srt/template
+++ b/srcpkgs/srt/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/Haivision/srt/archive/refs/tags/v${version}.tar.gz
 checksum=463970a3f575446b3f55abb6f323d5476c963c77b3c975cd902e9c87cdd9a92c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 fi
 
 libsrt_package() {
diff --git a/srcpkgs/stockfish/template b/srcpkgs/stockfish/template
index 363603f83d5a3..5203abfa66774 100644
--- a/srcpkgs/stockfish/template
+++ b/srcpkgs/stockfish/template
@@ -35,7 +35,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/supercollider/template b/srcpkgs/supercollider/template
index 42b58d5b6e3e7..7c147c4a59e77 100644
--- a/srcpkgs/supercollider/template
+++ b/srcpkgs/supercollider/template
@@ -6,7 +6,7 @@ build_style=cmake
 make_cmd=make
 configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON"
 hostmakedepends="emacs pkg-config qt5-host-tools qt5-qmake"
-makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel libatomic-devel
+makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel
  libsndfile-devel libXt-devel qt5-declarative-devel qt5-location-devel
  qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite
  qt5-plugin-tds qt5-sensors-devel qt5-tools-devel qt5-svg-devel
diff --git a/srcpkgs/supertuxkart/template b/srcpkgs/supertuxkart/template
index 47a962d24824d..85b54d559a317 100644
--- a/srcpkgs/supertuxkart/template
+++ b/srcpkgs/supertuxkart/template
@@ -19,10 +19,6 @@ changelog="https://raw.githubusercontent.com/supertuxkart/stk-code/master/CHANGE
 distfiles="https://github.com/supertuxkart/stk-code/releases/download/${version}/SuperTuxKart-${version}-src.tar.xz"
 checksum=9890392419baf4715313f14d5ad60746f276eed36eb580636caf44e2532c0f03
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 supertuxkart-data_package() {
 	short_desc+=" - data files"
 	pkg_install() {
diff --git a/srcpkgs/swi-prolog/template b/srcpkgs/swi-prolog/template
index 674f1505bf0d0..cf4715b1b5457 100644
--- a/srcpkgs/swi-prolog/template
+++ b/srcpkgs/swi-prolog/template
@@ -18,6 +18,5 @@ distfiles="http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz
 checksum=feb2815a51d34fa81cb34e8149830405935a7e1d1c1950461239750baa8b49f0
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
diff --git a/srcpkgs/syntax-highlighting/template b/srcpkgs/syntax-highlighting/template
index 70375ffe0b848..a954c8c38ddff 100644
--- a/srcpkgs/syntax-highlighting/template
+++ b/srcpkgs/syntax-highlighting/template
@@ -6,8 +6,7 @@ build_style=cmake
 configure_args="-DKATEHIGHLIGHTINGINDEXER_EXECUTABLE=/usr/libexec/${pkgname}/katehighlightingindexer"
 hostmakedepends="kcoreaddons extra-cmake-modules perl qt5-host-tools
  qt5-qmake qt5-tools qt5-devel qt5-tools-devel"
-makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel
- libatomic-devel"
+makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel"
 short_desc="Syntax highlighting engine for structured text and code"
 maintainer="John <me@johnnynator.dev>"
 license="LGPL-2.1-or-later"
diff --git a/srcpkgs/sysbench/template b/srcpkgs/sysbench/template
index e2fe7be0cc8b0..45e6ab6adb0d8 100644
--- a/srcpkgs/sysbench/template
+++ b/srcpkgs/sysbench/template
@@ -18,10 +18,6 @@ homepage="https://github.com/akopytov/sysbench"
 distfiles="https://github.com/akopytov/sysbench/archive/${version}.tar.gz"
 checksum=e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	autoreconf -fi
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index 22e46e4e95e15..19a6722f4697b 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config qt6-base python3 clang extra-cmake-modules
 makedepends="alsa-lib-devel boost-devel fmt-devel ffmpeg-devel gobject-introspection libdbusmenu-glib-devel libopenal-devel
  minizip-devel opus-devel xxHash-devel pulseaudio-devel range-v3
  qt6-svg-devel libva-devel rapidjson liblz4-devel liblzma-devel gtk+3-devel
- MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel libatomic-devel
+ MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel
  xcb-util-keysyms-devel $(vopt_if spellcheck hunspell-devel) protobuf-devel
  glibmm2.68-devel tg_owt webkit2gtk-devel rnnoise-devel jemalloc-devel qt6-declarative-devel"
 depends="qt6-imageformats ttf-opensans"
diff --git a/srcpkgs/thrift/template b/srcpkgs/thrift/template
index 1912cfb7ed333..4e0fbc519e64b 100644
--- a/srcpkgs/thrift/template
+++ b/srcpkgs/thrift/template
@@ -19,10 +19,6 @@ homepage="https://thrift.apache.org/"
 distfiles="https://github.com/apache/thrift/archive/v${version}.tar.gz"
 checksum=9cea30b9700153329ae1926cc05a20bbe3e8451ae270b0c8c5c5fe9929924cb3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	configure_args+=" -DBUILD_TESTING=OFF -DBUILD_TUTORIALS=OFF"
 fi
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 551e968ce984f..d26f88c3d7e0e 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -35,10 +35,6 @@ case $XBPS_TARGET_MACHINE in
 	ppc*) broken="xptcall bitrot" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # try to minimize memory usage via debug symbols
 # 'LLVM ERROR: out of memory' while compiling gtkrust
 if [ "$XBPS_WORDSIZE" = "32" ]; then
diff --git a/srcpkgs/tomahawk/template b/srcpkgs/tomahawk/template
index 341645af8e44c..cb6b40de7e907 100644
--- a/srcpkgs/tomahawk/template
+++ b/srcpkgs/tomahawk/template
@@ -39,10 +39,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS="-Wno-deprecated-declarations"
 
 tomahawk-devel_package() {
diff --git a/srcpkgs/uhd/template b/srcpkgs/uhd/template
index 46731dcdaf032..8645921e88d6f 100644
--- a/srcpkgs/uhd/template
+++ b/srcpkgs/uhd/template
@@ -32,7 +32,6 @@ else
 fi
 
 if [ "$_use_libatomic" = "yes" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index f9d3905ace6cf..4ceda6e7724ff 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
 checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/vkQuake/template b/srcpkgs/vkQuake/template
index 28c2a8d66e37b..876281c079071 100644
--- a/srcpkgs/vkQuake/template
+++ b/srcpkgs/vkQuake/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=b88d3dfc869d89820766e2dd18bdadb9681adfc4c9d05e09cbbebcc17ef1d150
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/vtk/template b/srcpkgs/vtk/template
index a1d61de2d1420..867554b13ac89 100644
--- a/srcpkgs/vtk/template
+++ b/srcpkgs/vtk/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	LDFLAGS="-lexecinfo"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	[ "$XBPS_TARGET_NO_ATOMIC8" ] || return 0
 
diff --git a/srcpkgs/warzone2100/template b/srcpkgs/warzone2100/template
index baf48548dd4a6..f8f23952f3f8b 100644
--- a/srcpkgs/warzone2100/template
+++ b/srcpkgs/warzone2100/template
@@ -17,10 +17,6 @@ distfiles="https://github.com/Warzone2100/${pkgname}/releases/download/${version
 checksum=01d608f6f9638e14d7c857df40ad339c1bfc207a05daafe7157ad8652a3405c3
 nocross="fails to detect SDL2 when cross-compiling"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "target_link_libraries(warzone2100 atomic)" >> CMakeLists.txt
diff --git a/srcpkgs/watchexec/template b/srcpkgs/watchexec/template
index a2fdc6e7e0454..4b8cf746d8066 100644
--- a/srcpkgs/watchexec/template
+++ b/srcpkgs/watchexec/template
@@ -12,7 +12,6 @@ distfiles="https://github.com/watchexec/watchexec/archive/refs/tags/v${version}.
 checksum=698ed1dc178279594542f325b23f321c888c9c12c1960fe11c0ca48ba6edad76
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template
index 15e98aaca3b0d..421fa8b2d0c83 100644
--- a/srcpkgs/webkit2gtk/template
+++ b/srcpkgs/webkit2gtk/template
@@ -26,7 +26,7 @@ makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
  libsoup-devel libsoup3-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
  dbus-glib-devel libwebp-devel gtk+3-devel gtk4-devel libgudev-devel
  libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
- woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel libavif-devel
+ woff2-devel freetype-devel libopenjpeg2-devel libavif-devel
  qt5-devel libmanette-devel libwpe-devel wpebackend-fdo-devel
  libgcrypt-devel libnuspell-devel libpsl-devel $(vopt_if x11 libXt-devel)
  $(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
diff --git a/srcpkgs/wt/template b/srcpkgs/wt/template
index de480ebb7dc6e..33a48ed75ffea 100644
--- a/srcpkgs/wt/template
+++ b/srcpkgs/wt/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/emweb/wt/archive/refs/tags/${version}.tar.gz"
 checksum=7090023d4fc4b6594bf4cb11072d9d3d775269327aece9a8993c7bbe46decb9d
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
index 10ed861b1391b..8e9851575bca8 100644
--- a/srcpkgs/xrootd/template
+++ b/srcpkgs/xrootd/template
@@ -21,5 +21,4 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
-	makedepends+=" libatomic-devel"
 fi
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index e53f25d270844..a1a9ea8d16c83 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -23,10 +23,6 @@ dkms_modules="zfs ${version}"
 
 replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
 	autoreconf -fi

From ffb6a5e3e7940318d2c1150d188ada1778cfab6c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:51 +0200
Subject: [PATCH 12/23] cross-mips-linux-musl: use --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index 8865f6dc092b9..2c796a7c09cd7 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 9ceea4e887add38a324f460c72ea29b56423adbf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 13/23] cross-mips-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 94691668dcf2f..7333d3b5d70cc 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 2de3889c0d7a11d28bfe29ece3ec92e8939ecb06 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 14/23] cross-mipsel-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index a053fe5301538..992c6bc42e955 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 0646aa296332f83fda83c85b6baa0da7a3733038 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 15/23] cross-mipsel-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 29d7261e9b481..cde29e2129eef 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From c9468ff447d2c7420463757598d2967d4638322f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 16/23] cross-powerpc-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template
index 327f3f911eb5e..035dc50571a65 100644
--- a/srcpkgs/cross-powerpc-linux-gnu/template
+++ b/srcpkgs/cross-powerpc-linux-gnu/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 34d41654a302f9e16d2f3d8ec39e18a1c449eef1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 17/23] cross-powerpc-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 85ea78c257f95..a73d324f40cc3 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 8e420b44e35491e4bf13c1713c4071ee611b2e02 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 18/23] cross-powerpc64-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template
index aaab613d01e9b..0719663f235a0 100644
--- a/srcpkgs/cross-powerpc64-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpc-linux"
+ --enable-targets=powerpc-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 9b41bda22662e7a48df697c86d404457bf3b6b02 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 19/23] cross-powerpc64-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 359557d3afb9c..5224e63219882 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 629d6d82448dba40ad2e337fc90136b1a3ee3ca6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 20/23] cross-powerpc64le-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template
index 577fccc6c5f8d..8e6967c4e2e1b 100644
--- a/srcpkgs/cross-powerpc64le-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64le-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64le-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpcle-linux"
+ --enable-targets=powerpcle-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 7e8b387e33dda11cfb578a8b40799fc432fcd477 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 21/23] cross-powerpc64le-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 57c07e1d780b4..f7edddfb10a29 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 07ae5f4bbb57305b18ce3e18b4d9970089e83720 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 22/23] cross-powerpcle-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template
index 340a50e2af411..b0523cb7adad3 100644
--- a/srcpkgs/cross-powerpcle-linux-gnu/template
+++ b/srcpkgs/cross-powerpcle-linux-gnu/template
@@ -5,9 +5,10 @@ _glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-gnu
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 6df56be35f6f440a734685f48f64270fc6614145 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:53 +0200
Subject: [PATCH 23/23] cross-powerpcle-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 4749c8965cdb3..c764f44f739a7 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WiP] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
                   ` (5 preceding siblings ...)
  2023-07-22 14:27 ` Johnnynator
@ 2023-07-22 14:29 ` Johnnynator
  2023-07-24 20:30 ` [PR PATCH] [Updated] " Johnnynator
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-22 14:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

[WiP] Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 146593 bytes --]

From f71e7a3e0d9edcf237fa059bb1706bad51057357 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 01/23] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From 773a1ffdee99c37cfd47fce3d084c9f06d9836b6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 02/23] gcc: add riscv.

---
 srcpkgs/gcc/template | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..459c83368c18c 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -55,7 +55,7 @@ else
 fi
 makedepends="zlib-devel libzstd-devel"
 depends="binutils libgcc-devel-${version}_${revision}
- libstdc++-devel-${version}_${revision}"
+ libstdc++-devel-${version}_${revision} libatomic-devel-${version}_${revision}"
 checkdepends="dejagnu"
 
 subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From 63dacd68c815d6df81d06716b4e5e20269567194 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 03/23] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 73e0f541657fdc63270afef42c5903e78be69a24 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 04/23] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index dc2e91141d95c..2dfe481664466 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From c02ad4f66044ff852240f137a6ea9167ac0ed983 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 05/23] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..d20751fd9fdb6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From f78f498e0e7591b3229f5a78047870217eba87f9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 06/23] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..9325168acb4cd 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -1,7 +1,7 @@
 # Template file for 'cross-vpkg-dummy'
 pkgname=cross-vpkg-dummy
 version=0.39
-revision=4
+revision=5
 build_style=meta
 depends="base-files>=0.126"
 short_desc="Dummy meta-pkg for cross building packages with xbps-src"
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

From 8c983a60971f820c5b1246b6977a3223952558c4 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:16 +0100
Subject: [PATCH 07/23] build-style/void-cross.sh: adjustments for
 --enable-autolink-libatomic.

---
 common/build-style/void-cross.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index d7da998ba354b..2e8ebb52ceaf9 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libmudflap \
 		--disable-libssp \
 		--disable-libitm \
-		--disable-libatomic \
+		--disable-libatomic --disable-autolink-libatomic \
 		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
@@ -377,6 +377,10 @@ _void_cross_build_gcc() {
 
 	msg_normal "Building gcc for ${tgt}\n"
 
+	# GIANT HACK: create an empty libatomic.a so gcc cross-compile
+	# below works.
+	ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
+
 	mkdir -p ${wrksrc}/gcc_build
 	cd ${wrksrc}/gcc_build
 

From 928ed65a365a663da699560e47dc3a2a6e90e42d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:03 +0200
Subject: [PATCH 08/23] cross-arm-linux-gnueabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index dbb8d90c8c244..c11560ff2a223 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 986588472bc6ce7214894194c203b14c9df90f66 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:21 +0200
Subject: [PATCH 09/23] cross-arm-linux-musleabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 8b25e9f7c365e..35e03b44b4f9a 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 6ba446b9a219d93d0f01b866334d7165d323cce3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:27 +0200
Subject: [PATCH 10/23] cross-arm-linux-musleabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index d6dca4e920d5a..af1683f13df36 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From f694b111df33a9e5d15565ffd8a2fe4d5d91109f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:20:09 +0200
Subject: [PATCH 11/23] bulk: remove libatomic-devel in dependency fields

---
 srcpkgs/ART/template                  |  2 +-
 srcpkgs/Aegisub/template              |  1 -
 srcpkgs/Carla/template                |  4 ----
 srcpkgs/Clipboard/template            |  1 -
 srcpkgs/CubicSDR/template             |  1 -
 srcpkgs/EternalTerminal/template      |  4 ----
 srcpkgs/FreeRADIUS/template           |  4 ----
 srcpkgs/LGOGDownloader/template       |  4 ----
 srcpkgs/LimeSuite/template            |  4 ----
 srcpkgs/MEGAcmd/template              |  1 -
 srcpkgs/OpenRCT2/template             |  1 -
 srcpkgs/OpenSubdiv/template           |  1 -
 srcpkgs/QMPlay2/template              |  1 -
 srcpkgs/SuiteSparse/template          |  4 ----
 srcpkgs/abseil-cpp/template           |  1 -
 srcpkgs/ahoviewer/template            |  4 ----
 srcpkgs/akonadi5/template             |  4 ----
 srcpkgs/alembic/template              | 10 ++++------
 srcpkgs/android-tools/template        |  1 -
 srcpkgs/apr-util/template             |  1 -
 srcpkgs/apr/template                  |  1 -
 srcpkgs/arcan/template                |  1 -
 srcpkgs/ardour/template               |  1 -
 srcpkgs/audacity/template             |  1 -
 srcpkgs/bacula-common/template        |  3 ---
 srcpkgs/bcc/template                  |  4 ----
 srcpkgs/bees/template                 |  1 -
 srcpkgs/bind/template                 |  2 +-
 srcpkgs/cabbage/template              |  1 -
 srcpkgs/capnproto/template            |  1 -
 srcpkgs/ccache/template               |  4 ----
 srcpkgs/ccls/template                 |  1 -
 srcpkgs/cereal/template               |  1 -
 srcpkgs/chatterino2/template          |  1 -
 srcpkgs/chromium/template             |  4 ++--
 srcpkgs/cjs/template                  |  1 -
 srcpkgs/cmus/template                 |  1 -
 srcpkgs/conduit/template              |  1 -
 srcpkgs/corectrl/template             |  1 -
 srcpkgs/dhcp/template                 |  4 ----
 srcpkgs/difftastic/template           |  1 -
 srcpkgs/digikam/template              |  1 -
 srcpkgs/dosbox-staging/template       |  1 -
 srcpkgs/duperemove/template           |  2 +-
 srcpkgs/edbrowse/template             |  1 -
 srcpkgs/electron19/template           |  4 ++--
 srcpkgs/electron24/template           |  4 ++--
 srcpkgs/encfs/template                |  1 -
 srcpkgs/fairy-stockfish/template      |  1 -
 srcpkgs/ffmpeg/template               |  4 ----
 srcpkgs/ffms2/template                |  1 -
 srcpkgs/filezilla/template            |  4 ----
 srcpkgs/fio/template                  |  1 -
 srcpkgs/firefox-esr/template          |  2 +-
 srcpkgs/firefox/template              |  2 +-
 srcpkgs/fish-shell/template           |  4 ----
 srcpkgs/fplll/template                |  4 ----
 srcpkgs/fselect/template              |  1 -
 srcpkgs/fswatch/template              |  1 -
 srcpkgs/geonkick/template             |  1 -
 srcpkgs/giada/template                |  4 ----
 srcpkgs/gjs/template                  |  4 ----
 srcpkgs/glirc/template                |  1 -
 srcpkgs/glog/template                 |  1 -
 srcpkgs/glslViewer/template           |  4 ----
 srcpkgs/gnunet/template               |  4 ----
 srcpkgs/gnuradio/template             |  1 -
 srcpkgs/goxel/template                |  4 ----
 srcpkgs/grpc/template                 |  1 -
 srcpkgs/gzdoom/template               |  1 -
 srcpkgs/haproxy/template              |  2 +-
 srcpkgs/hedgewars/template            |  4 ++--
 srcpkgs/highway/template              |  1 -
 srcpkgs/i2pd/template                 |  3 +--
 srcpkgs/inkscape/template             |  4 ----
 srcpkgs/jack_capture/template         |  1 -
 srcpkgs/kdiff3/template               |  1 -
 srcpkgs/kismet/template               |  1 -
 srcpkgs/kiwix-lib/template            |  4 ----
 srcpkgs/kiwix-tools/template          |  4 ----
 srcpkgs/kjsembed/template             |  4 ----
 srcpkgs/kodi/template                 |  1 -
 srcpkgs/krita/template                |  4 ----
 srcpkgs/kross/template                |  4 ----
 srcpkgs/kwin/template                 |  3 +--
 srcpkgs/lc0/template                  |  4 ----
 srcpkgs/libdex/template               |  2 +-
 srcpkgs/libfilezilla/template         |  1 -
 srcpkgs/libjxl/template               |  1 -
 srcpkgs/libogre/template              |  2 +-
 srcpkgs/libopenshot-audio/template    |  1 -
 srcpkgs/libplacebo/template           |  1 -
 srcpkgs/libreoffice/template          |  4 ----
 srcpkgs/libtd/template                |  1 -
 srcpkgs/libtorrent-rasterbar/template |  7 -------
 srcpkgs/llvm12/template               |  2 +-
 srcpkgs/llvm15/template               |  2 +-
 srcpkgs/lms/template                  |  1 -
 srcpkgs/mariadb/template              |  4 ++--
 srcpkgs/mesa/template                 |  2 +-
 srcpkgs/mgba/template                 |  1 -
 srcpkgs/mlt/template                  |  2 +-
 srcpkgs/mlt7/template                 |  2 +-
 srcpkgs/mozc/template                 |  4 ----
 srcpkgs/mozjs102/template             |  1 -
 srcpkgs/mozjs78/template              |  1 -
 srcpkgs/mpv/template                  |  4 ----
 srcpkgs/musikcube/template            |  4 ----
 srcpkgs/netdata/template              |  1 -
 srcpkgs/nix/template                  |  4 ----
 srcpkgs/nodejs/template               |  4 ++--
 srcpkgs/nushell/template              |  2 +-
 srcpkgs/opencv/template               |  4 ----
 srcpkgs/opendht/template              |  4 ----
 srcpkgs/openimageio/template          |  4 ----
 srcpkgs/openmpi/template              |  1 -
 srcpkgs/openmw/template               |  1 -
 srcpkgs/openttd/template              |  4 ----
 srcpkgs/openvdb/template              |  1 -
 srcpkgs/pipewire/template             |  1 -
 srcpkgs/plocate/template              |  1 -
 srcpkgs/poedit/template               |  1 -
 srcpkgs/polybar/template              |  1 -
 srcpkgs/primesieve/template           |  4 ----
 srcpkgs/prometheus-cpp/template       |  2 +-
 srcpkgs/protobuf/template             |  3 +--
 srcpkgs/python3-grpcio-tools/template |  4 ----
 srcpkgs/python3-grpcio/template       |  4 ----
 srcpkgs/python3-pyqt6/template        |  4 ----
 srcpkgs/qpdf/template                 |  1 -
 srcpkgs/qt5-webengine/template        | 14 --------------
 srcpkgs/qt5-webkit/template           |  1 -
 srcpkgs/qt5/template                  |  7 -------
 srcpkgs/qt6-3d/template               |  3 +--
 srcpkgs/qt6-base/template             |  2 +-
 srcpkgs/qt6-tools/template            |  2 +-
 srcpkgs/qtcreator/template            |  1 -
 srcpkgs/qtox/template                 |  4 ----
 srcpkgs/quickjs/template              |  1 -
 srcpkgs/rawtherapee/template          |  2 +-
 srcpkgs/receivemidi/template          |  4 ----
 srcpkgs/redis/template                |  4 ----
 srcpkgs/renderdoc/template            |  1 -
 srcpkgs/retroshare/template           |  4 ----
 srcpkgs/rocksdb/template              |  4 ----
 srcpkgs/rubberband/template           |  1 -
 srcpkgs/rust/template                 |  5 -----
 srcpkgs/sendmidi/template             |  4 ----
 srcpkgs/snapcast/template             |  4 ----
 srcpkgs/solvespace/template           |  1 -
 srcpkgs/sonic-visualiser/template     |  4 ----
 srcpkgs/squid/template                |  1 -
 srcpkgs/srt/template                  |  4 ----
 srcpkgs/stockfish/template            |  1 -
 srcpkgs/supercollider/template        |  2 +-
 srcpkgs/supertuxkart/template         |  4 ----
 srcpkgs/swi-prolog/template           |  1 -
 srcpkgs/syntax-highlighting/template  |  3 +--
 srcpkgs/sysbench/template             |  4 ----
 srcpkgs/telegram-desktop/template     |  2 +-
 srcpkgs/thrift/template               |  4 ----
 srcpkgs/thunderbird/template          |  4 ----
 srcpkgs/tomahawk/template             |  4 ----
 srcpkgs/uhd/template                  |  1 -
 srcpkgs/vapoursynth/template          |  1 -
 srcpkgs/vkQuake/template              |  1 -
 srcpkgs/vtk/template                  |  4 ----
 srcpkgs/warzone2100/template          |  4 ----
 srcpkgs/watchexec/template            |  1 -
 srcpkgs/webkit2gtk/template           |  2 +-
 srcpkgs/wt/template                   |  1 -
 srcpkgs/xrootd/template               |  1 -
 srcpkgs/zfs/template                  |  4 ----
 173 files changed, 42 insertions(+), 391 deletions(-)

diff --git a/srcpkgs/ART/template b/srcpkgs/ART/template
index a15bf7a9bdd17..a86a304711e84 100644
--- a/srcpkgs/ART/template
+++ b/srcpkgs/ART/template
@@ -4,7 +4,7 @@ version=1.13
 revision=2
 build_style=cmake
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel exiv2-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Fork of RawTherapee with additional features"
diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index 671c74ca645a0..3744c3cc6529f 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -27,7 +27,6 @@ desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/Carla/template b/srcpkgs/Carla/template
index c383f7b3133eb..3f055ca1c8a2a 100644
--- a/srcpkgs/Carla/template
+++ b/srcpkgs/Carla/template
@@ -34,10 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	export LDFLAGS="-lfts"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$CROSS_BUILD" ]; then
 		vsed -i -e 's#\./carla-lv2-export#/usr/bin/carla-lv2-export#g' \
diff --git a/srcpkgs/Clipboard/template b/srcpkgs/Clipboard/template
index d6bb7e23f6970..c33fb45eb942e 100644
--- a/srcpkgs/Clipboard/template
+++ b/srcpkgs/Clipboard/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/Slackadays/Clipboard/archive/refs/tags/${version}.
 checksum=f7ceb2dbb76bc094ac8afbef97bdef0f1a9451ca7dd1a4a181f3b2a859a2f094
 
 if [ "${XBPS_TARGET_NO_ATOMIC8}" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index e5e26088e7f32..c224fc1379bf1 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -20,6 +20,5 @@ build_options="alsa pulseaudio jack"
 build_options_default="alsa pulseaudio"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 156eab6ce47ec..e738148fbe3f9 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv EternalTerminal-et-v${version} ${build_wrksrc}
 	mv sanitizers-cmake-${_sanitizers_gitrev}/* \
diff --git a/srcpkgs/FreeRADIUS/template b/srcpkgs/FreeRADIUS/template
index ee2059a373b46..13d2ef286e22c 100644
--- a/srcpkgs/FreeRADIUS/template
+++ b/srcpkgs/FreeRADIUS/template
@@ -15,10 +15,6 @@ nocross=yes # Not supported by upstream
 system_accounts="_freeradius"
 make_dirs="/etc/raddb 0750 _freeradius _freeradius"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_install() {
 	# FreeRADIUS uses 'R' instead of 'DESTDIR'
 	export R=${DESTDIR}
diff --git a/srcpkgs/LGOGDownloader/template b/srcpkgs/LGOGDownloader/template
index 37bb3b973594c..e749d635c5c29 100644
--- a/srcpkgs/LGOGDownloader/template
+++ b/srcpkgs/LGOGDownloader/template
@@ -19,10 +19,6 @@ checksum=01c9556287d5f49662c2219365b9d306482e8efadc805c3dbb9381d5110df719
 build_options="qt"
 desc_option_qt="Include QT WebEngine to support solving captchas"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ -z "$CROSS_BUILD" ]; then
 	hostmakedepends+=" help2man"
 fi
diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index 25a49c5ad71e4..fe963be85f860 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -45,10 +45,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 
diff --git a/srcpkgs/MEGAcmd/template b/srcpkgs/MEGAcmd/template
index e4e0e2ee13f6b..cd0dfaf6d5a1d 100644
--- a/srcpkgs/MEGAcmd/template
+++ b/srcpkgs/MEGAcmd/template
@@ -18,7 +18,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/OpenRCT2/template b/srcpkgs/OpenRCT2/template
index ceb69d829a39c..5866e44d12da9 100644
--- a/srcpkgs/OpenRCT2/template
+++ b/srcpkgs/OpenRCT2/template
@@ -77,7 +77,6 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/OpenSubdiv/template b/srcpkgs/OpenSubdiv/template
index ffc64637bd4d3..1ee7eead6dfe9 100644
--- a/srcpkgs/OpenSubdiv/template
+++ b/srcpkgs/OpenSubdiv/template
@@ -21,7 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/QMPlay2/template b/srcpkgs/QMPlay2/template
index 850df9d418b90..00a55417659f6 100644
--- a/srcpkgs/QMPlay2/template
+++ b/srcpkgs/QMPlay2/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/zaps166/QMPlay2/releases/download/${version}/QMPla
 checksum=dc57afc6e3299701508e5dbffa486d7956d6764420dcc0f22a0da8f7d07a2137
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index 3490f6f3fa7f2..73dabfa8950ee 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -23,10 +23,6 @@ case "$XBPS_TARGET_MACHINE" in
 	*) ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 do_build() {
 	make library \
 		JOBS=$XBPS_MAKEJOBS \
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index ea2fa2506873f..5fe16466deb2c 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -5,7 +5,6 @@ revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
 hostmakedepends="pkg-config"
-makedepends="libatomic-devel"
 short_desc="Abseil common libraries"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
diff --git a/srcpkgs/ahoviewer/template b/srcpkgs/ahoviewer/template
index 27aa75d2589fe..ebe27060b424a 100644
--- a/srcpkgs/ahoviewer/template
+++ b/srcpkgs/ahoviewer/template
@@ -17,10 +17,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=a14e32b4a8095c9f8b4b607c090a50cc8ac1076550e57b5a9303c54089068152
 nocross="https://travis-ci.org/void-linux/void-packages/jobs/490108528#L1022"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "ahoviewer_LDADD += -latomic" >> src/Makefile.am
diff --git a/srcpkgs/akonadi5/template b/srcpkgs/akonadi5/template
index b38d9fe0d6a70..9be306794db1f 100644
--- a/srcpkgs/akonadi5/template
+++ b/srcpkgs/akonadi5/template
@@ -20,10 +20,6 @@ homepage="https://community.kde.org/KDE_PIM/Akonadi"
 distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-${version}.tar.xz"
 checksum=5e91b86e895263b76d6f1f00cd9fcd8399d5a6c293581e629ab310fc72dfa6a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e "s;^\(target_link_libraries(.*\);\1 atomic;" -i src/server/CMakeLists.txt
diff --git a/srcpkgs/alembic/template b/srcpkgs/alembic/template
index 53ff7d48719f2..1fbc7b13fab88 100644
--- a/srcpkgs/alembic/template
+++ b/srcpkgs/alembic/template
@@ -18,13 +18,11 @@ case "$XBPS_TARGET_MACHINE" in
 	ppc*) broken="undefined reference to '__sync_bool_compare_and_swap_8'";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-
-	post_patch() {
+post_patch() {
+	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		printf '\ntarget_link_libraries(Alembic PRIVATE atomic)\n' >> lib/Alembic/CMakeLists.txt
-	}
-fi
+	fi
+}
 
 post_install() {
 	vlicense LICENSE.txt
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index b813474eace03..54012fa5e79b2 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -16,7 +16,6 @@ distfiles="https://github.com/nmeum/android-tools/releases/download/${version}/a
 checksum=60234ecbca19a17a7e2f46a4581960d645b7c55b870d924a21494c76a6f548ec
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/apr-util/template b/srcpkgs/apr-util/template
index f1cd4363365a8..17a94361cd32d 100644
--- a/srcpkgs/apr-util/template
+++ b/srcpkgs/apr-util/template
@@ -23,7 +23,6 @@ checksum=d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/apr/template b/srcpkgs/apr/template
index 6fb1fefd4f627..e546186592bd4 100644
--- a/srcpkgs/apr/template
+++ b/srcpkgs/apr/template
@@ -25,7 +25,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/arcan/template b/srcpkgs/arcan/template
index 7be9652eccf3c..853e16fcad391 100644
--- a/srcpkgs/arcan/template
+++ b/srcpkgs/arcan/template
@@ -46,7 +46,6 @@ if [ "$XBPS_TARGET_WORDSIZE" = "$XBPS_WORDSIZE" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/ardour/template b/srcpkgs/ardour/template
index f45d263565b46..ab16f26eedf4f 100644
--- a/srcpkgs/ardour/template
+++ b/srcpkgs/ardour/template
@@ -24,7 +24,6 @@ export PATH="/usr/libexec/chroot-git:$PATH"
 conf_files="/etc/ardour7/*"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index d509c0a894077..28e9c4a3528f1 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -24,7 +24,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/bacula-common/template b/srcpkgs/bacula-common/template
index 1be957d9ed668..a3d2f1da2d82e 100644
--- a/srcpkgs/bacula-common/template
+++ b/srcpkgs/bacula-common/template
@@ -17,9 +17,6 @@ checksum=a40d04d2c48135972cecb6578405e835c4b9d798c0950017de0fad40ca94e8a0
 alternatives="bacula-db-backend:/usr/lib/libbaccats-${version}.so:/usr/lib/libbaccats-sqlite3-${version}.so"
 shlib_provides="libbaccats-${version}.so"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
 CFLAGS="-Wno-narrowing"
 
 post_install() {
diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index ecedbd8e4bef6..d613acc78be95 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -15,10 +15,6 @@ distfiles="https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-
 checksum=65adcaf4cee17fa3a94d0bb96d3691ca7e5864244e7bd52df93f7ae6c004f23d
 python_version="3"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	sed -i '/tests/d' CMakeLists.txt  # break on musl
 	sed -i 's/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc
diff --git a/srcpkgs/bees/template b/srcpkgs/bees/template
index 5296bf7991378..423d9187e601e 100644
--- a/srcpkgs/bees/template
+++ b/srcpkgs/bees/template
@@ -23,7 +23,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/bind/template b/srcpkgs/bind/template
index 54493e5d9cf90..ac720ac0e1b79 100644
--- a/srcpkgs/bind/template
+++ b/srcpkgs/bind/template
@@ -10,7 +10,7 @@ configure_args="--disable-static --enable-largefile --with-libtool
  --with-libidn2 --disable-backtrace"
 hostmakedepends="automake libtool perl pkg-config"
 makedepends="openssl-devel libxml2-devel libcap-devel readline-devel mit-krb5-devel
- libatomic-devel libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
+ libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
 checkdepends="python3-pytest"
 short_desc="Berkeley Internet Name Domain server"
 maintainer="Randy McCaskill <randy@mccaskill.us>"
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index f8cb9a31c2d86..911af80be28d7 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -31,7 +31,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS=" -latomic"
 fi
 
diff --git a/srcpkgs/capnproto/template b/srcpkgs/capnproto/template
index 5ab6e0a62cdcf..77652040538be 100644
--- a/srcpkgs/capnproto/template
+++ b/srcpkgs/capnproto/template
@@ -16,7 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index bd6a537d7cb12..dd8d1e704ab6e 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -20,10 +20,6 @@ if [ -n "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DENABLE_TESTING=ON"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ccache-${version}/* .
 }
diff --git a/srcpkgs/ccls/template b/srcpkgs/ccls/template
index ecc9f3e38a5d8..ec0597c9f6d85 100644
--- a/srcpkgs/ccls/template
+++ b/srcpkgs/ccls/template
@@ -13,6 +13,5 @@ distfiles="https://github.com/MaskRay/ccls/archive/${version}.tar.gz"
 checksum=af19be36597c2a38b526ce7138c72a64c7fb63827830c4cff92256151fc7a6f4
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/cereal/template b/srcpkgs/cereal/template
index 32644ae3f39e4..a790d1f42b1c6 100644
--- a/srcpkgs/cereal/template
+++ b/srcpkgs/cereal/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/USCiLab/cereal/archive/v${version}.tar.gz"
 checksum=16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/chatterino2/template b/srcpkgs/chatterino2/template
index 977fa9771498e..32454a86e9d6e 100644
--- a/srcpkgs/chatterino2/template
+++ b/srcpkgs/chatterino2/template
@@ -34,7 +34,6 @@ checksum="f1fff3523f5a3f633430d44f7ca6c6c718a515258d50004a855e69e4aa989b4e
  f9cf386638f455c5d2e7a835b95941201387d2531b8682942d59827663b58341"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 3eb657ab23d28..da966f5303796 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -7,13 +7,13 @@ archs="i686* x86_64* aarch64* armv7l*"
 hostmakedepends="
  $(vopt_if clang "clang lld llvm15")
  bison git gperf hwids ninja nodejs perl pkg-config python3
- libatomic-devel libepoxy-devel libevent-devel libglib-devel
+ libepoxy-devel libevent-devel libglib-devel
  rust"
 makedepends="
  alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel
  fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel
  libXcomposite-devel libXcursor-devel libXdamage-devel libXi-devel libXrandr-devel
- libatomic-devel libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
+ libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
  libexif-devel libflac-devel libgcrypt-devel libjpeg-turbo-devel libmtp-devel
  libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel
  libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel
diff --git a/srcpkgs/cjs/template b/srcpkgs/cjs/template
index b0fafe6603f8c..46bf5cb605166 100644
--- a/srcpkgs/cjs/template
+++ b/srcpkgs/cjs/template
@@ -23,7 +23,6 @@ checksum=212fa302f15ea955af6dc87fdba3898f751d078df91cb84b0e6615d5a2b84e15
 make_check=extended
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/cmus/template b/srcpkgs/cmus/template
index 0fcb424ce336c..0fdcec461c217 100644
--- a/srcpkgs/cmus/template
+++ b/srcpkgs/cmus/template
@@ -21,7 +21,6 @@ build_options_default="elogind"
 desc_option_elogind="Support MPRIS interface via elogind"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LDLIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/conduit/template b/srcpkgs/conduit/template
index 2f44e9d0f2e3d..1ab7a0df0d444 100644
--- a/srcpkgs/conduit/template
+++ b/srcpkgs/conduit/template
@@ -20,7 +20,6 @@ make_dirs="/var/lib/conduit 0700 _conduit _conduit
  /etc/conduit 755 _conduit _conduit"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/corectrl/template b/srcpkgs/corectrl/template
index b85385804faac..da0523eafb783 100644
--- a/srcpkgs/corectrl/template
+++ b/srcpkgs/corectrl/template
@@ -17,6 +17,5 @@ distfiles="${homepage}/-/archive/v${version}/corectrl-v${version}.tar.gz"
 checksum=6b8817ce1bb09257148e6d3f6196546724a8ea185fedfff70f302621ce36cc12
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
diff --git a/srcpkgs/dhcp/template b/srcpkgs/dhcp/template
index ca3423ce8833d..dee0043b9e67c 100644
--- a/srcpkgs/dhcp/template
+++ b/srcpkgs/dhcp/template
@@ -11,10 +11,6 @@ homepage="https://www.isc.org/downloads/dhcp"
 distfiles="http://ftp.isc.org/isc/dhcp/${version/P/-P}/dhcp-${version/P/-P}.tar.gz"
 checksum=b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 disable_parallel_build=yes
 conf_files="/etc/dhcpd.conf"
 
diff --git a/srcpkgs/difftastic/template b/srcpkgs/difftastic/template
index 2182ece1b6a76..769301f7b417b 100644
--- a/srcpkgs/difftastic/template
+++ b/srcpkgs/difftastic/template
@@ -12,7 +12,6 @@ distfiles="https://static.crates.io/crates/difftastic/difftastic-${version}.crat
 checksum=ff0b1d205396b2eb156bd56b4f361767c13a02a14db1b0c8c663e4ff16160f17
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 	if [ -z "$CROSS_BUILD" ]; then
 		broken="how is this supposed to even work"
diff --git a/srcpkgs/digikam/template b/srcpkgs/digikam/template
index 5c98ed64aada0..1cee24f3b60ef 100644
--- a/srcpkgs/digikam/template
+++ b/srcpkgs/digikam/template
@@ -35,7 +35,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
index 202f6a6911e22..f5483acab28a5 100644
--- a/srcpkgs/dosbox-staging/template
+++ b/srcpkgs/dosbox-staging/template
@@ -18,6 +18,5 @@ checksum=2ca69e65e6c181197b63388c60487a3bcea804232a28c44c37704e70d49a0392
 conflicts="dosbox"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/duperemove/template b/srcpkgs/duperemove/template
index d5ed8bea29fe4..03e02859cf62b 100644
--- a/srcpkgs/duperemove/template
+++ b/srcpkgs/duperemove/template
@@ -3,7 +3,7 @@ pkgname=duperemove
 version=0.11.2
 revision=1
 hostmakedepends="pkg-config"
-makedepends="sqlite-devel libglib-devel libgcrypt-devel libatomic-devel"
+makedepends="sqlite-devel libglib-devel libgcrypt-devel"
 short_desc="Tools for deduping file systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-only"
diff --git a/srcpkgs/edbrowse/template b/srcpkgs/edbrowse/template
index f5f78af47851f..947241eab2624 100644
--- a/srcpkgs/edbrowse/template
+++ b/srcpkgs/edbrowse/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/CMB/edbrowse/archive/v${version}.tar.gz"
 checksum=2c7f6a07e5897060527b6cc5c19c45106444e2c4d8c9799434973c352d9ce4e6
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	make_build_args+=" QUICKJS_LDFLAGS+=-latomic"
 fi
 
diff --git a/srcpkgs/electron19/template b/srcpkgs/electron19/template
index 32ce301e730cf..3093248588438 100644
--- a/srcpkgs/electron19/template
+++ b/srcpkgs/electron19/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/electron24/template b/srcpkgs/electron24/template
index bdaa56adc8a65..431ba6b0f8301 100644
--- a/srcpkgs/electron24/template
+++ b/srcpkgs/electron24/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/encfs/template b/srcpkgs/encfs/template
index d041dace80d3b..e3fb3539f650b 100644
--- a/srcpkgs/encfs/template
+++ b/srcpkgs/encfs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fairy-stockfish/template b/srcpkgs/fairy-stockfish/template
index e8df08b5afc70..7a3c512bc4364 100644
--- a/srcpkgs/fairy-stockfish/template
+++ b/srcpkgs/fairy-stockfish/template
@@ -36,7 +36,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index aa058aab9ca9f..ae26496e79293 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -51,10 +51,6 @@ if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
 	build_options_default+=" svtav1"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _apply_patch() {
 	local args="$1" pname="$(basename $2)"
 
diff --git a/srcpkgs/ffms2/template b/srcpkgs/ffms2/template
index 68e8a0c14bce3..bfeb9698ceb46 100644
--- a/srcpkgs/ffms2/template
+++ b/srcpkgs/ffms2/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index a8d1338d37e7f..c8d7feab7b4f5 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -21,10 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-gtk3-devel xdg-utils"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
diff --git a/srcpkgs/fio/template b/srcpkgs/fio/template
index 663bf2b08e3f4..5ca1157055e0c 100644
--- a/srcpkgs/fio/template
+++ b/srcpkgs/fio/template
@@ -20,7 +20,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/firefox-esr/template b/srcpkgs/firefox-esr/template
index 4d55e3ad54e77..2ddcc411b92eb 100644
--- a/srcpkgs/firefox-esr/template
+++ b/srcpkgs/firefox-esr/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template
index d29d5181a886b..875ca48580197 100644
--- a/srcpkgs/firefox/template
+++ b/srcpkgs/firefox/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/fish-shell/template b/srcpkgs/fish-shell/template
index 60f0f93412438..c5030d7b8d6d4 100644
--- a/srcpkgs/fish-shell/template
+++ b/srcpkgs/fish-shell/template
@@ -17,10 +17,6 @@ register_shell="/bin/fish /usr/bin/fish"
 # tests don't work as root
 make_check=ci-skip
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	# Starting with fish-3.0.0 this is a skeleton file with only comments
 	rm "${DESTDIR}/etc/fish/config.fish"
diff --git a/srcpkgs/fplll/template b/srcpkgs/fplll/template
index c53eee819b7b5..9843d46828414 100644
--- a/srcpkgs/fplll/template
+++ b/srcpkgs/fplll/template
@@ -12,10 +12,6 @@ changelog="https://github.com/fplll/fplll/releases"
 distfiles="https://github.com/fplll/fplll/releases/download/${version}/fplll-${version}.tar.gz"
 checksum=0fd9d378f04ff886d8864728baf5d90b8b0b82c1e541e92550644fb54f75691d
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 fplll-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/fselect/template b/srcpkgs/fselect/template
index 2aa8aa8bf435d..492c4b11d2720 100644
--- a/srcpkgs/fselect/template
+++ b/srcpkgs/fselect/template
@@ -19,7 +19,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fswatch/template b/srcpkgs/fswatch/template
index dfb86f7258195..d2f0039c6c379 100644
--- a/srcpkgs/fswatch/template
+++ b/srcpkgs/fswatch/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/emcrisostomo/fswatch/releases/download/${version}/
 checksum=c38e341c567f5f16bfa64b72fc48bba5e93873d8572522e670e6f320bbc2122f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/geonkick/template b/srcpkgs/geonkick/template
index 5f73484a3fb75..d7494a6ff5057 100644
--- a/srcpkgs/geonkick/template
+++ b/srcpkgs/geonkick/template
@@ -19,6 +19,5 @@ if [ ${CROSS_BUILD} ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS='-latomic'"
 fi
diff --git a/srcpkgs/giada/template b/srcpkgs/giada/template
index 558097e3a0e25..a7ac263ce2f3d 100644
--- a/srcpkgs/giada/template
+++ b/srcpkgs/giada/template
@@ -16,10 +16,6 @@ changelog="https://github.com/monocasual/giada/raw/master/ChangeLog"
 distfiles="https://github.com/monocasual/giada/archive/v${version}.tar.gz"
 checksum=b879f5ba7e9f34d7422aedd89d1d0baa91387b3528e057b4df25e1f2f8d661ef
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e '/list(APPEND LIBRARIES)/a list(APPEND LIBRARIES atomic)' -i CMakeLists.txt
diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index 8e8698e3388a2..3794571631f4b 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -18,10 +18,6 @@ distfiles="${GNOME_SITE}/gjs/${version%.*}/gjs-${version}.tar.xz"
 checksum=a63f156964b136053eab51ea013114e7d7c193b7518d28c040b6b02c3c933a6d
 make_check_pre="xvfb-run"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_CHECK_PKGS" ]; then
 	hostmakedepends+=" dbus"
 else
diff --git a/srcpkgs/glirc/template b/srcpkgs/glirc/template
index 98a677886ae1c..da205ec9810b9 100644
--- a/srcpkgs/glirc/template
+++ b/srcpkgs/glirc/template
@@ -16,7 +16,6 @@ nopie=yes	# ghc is currently built without PIE support
 _cabal_opts="-g"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	_cabal_opts+=" --ghc-option -latomic"
 fi
 
diff --git a/srcpkgs/glog/template b/srcpkgs/glog/template
index 441a149514fd8..07d7137bc77e1 100644
--- a/srcpkgs/glog/template
+++ b/srcpkgs/glog/template
@@ -18,7 +18,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/glslViewer/template b/srcpkgs/glslViewer/template
index e832b3df7b704..72707d14294fa 100644
--- a/srcpkgs/glslViewer/template
+++ b/srcpkgs/glslViewer/template
@@ -18,10 +18,6 @@ distfiles="https://github.com/patriciogonzalezvivo/glslViewer/archive/${version}
 checksum="4d8bac6a801fa61b81e472a8dabfe5469a43c44547d558849a078ed2c26c8034
  a71f149e84afdf12aa88555efef09d0e420c5d5c6ba9c2d67126ecc49fddaff0"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ${pkgname}-${version} ${build_wrksrc}
 	mv vera-${_vera_gitrev}/* ${build_wrksrc}/deps/vera
diff --git a/srcpkgs/gnunet/template b/srcpkgs/gnunet/template
index a8a6dabe66bab..1387a3cf6b37b 100644
--- a/srcpkgs/gnunet/template
+++ b/srcpkgs/gnunet/template
@@ -36,10 +36,6 @@ desc_option_jansson="Enable support for jansson"
 desc_option_opus="Enable support for opus"
 desc_option_zbar="Enable support for zbar"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	NOCONFIGURE=1 autoreconf -fi
 }
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 3308afa6e2c30..be803231f80d2 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -35,7 +35,6 @@ if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/goxel/template b/srcpkgs/goxel/template
index 636dd5f66a768..79268eaf8c1aa 100644
--- a/srcpkgs/goxel/template
+++ b/srcpkgs/goxel/template
@@ -13,10 +13,6 @@ homepage="https://guillaumechereau.github.io/goxel/"
 distfiles="https://github.com/guillaumechereau/goxel/archive/v${version}.tar.gz"
 checksum=e3825625e1af9f58593695b0129e39f68a8f3c7d5696c096b8ed2d8b9ac69430
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_build() {
 	if [ "$CROSS_BUILD" ];then
 		vsed -i SConstruct \
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 9c58c2509bee7..f5afad92794ed 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/gzdoom/template b/srcpkgs/gzdoom/template
index 781616f36a931..8991a8a415ce1 100644
--- a/srcpkgs/gzdoom/template
+++ b/srcpkgs/gzdoom/template
@@ -27,7 +27,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/haproxy/template b/srcpkgs/haproxy/template
index 635755fe4173d..c6578e0fc1dcf 100644
--- a/srcpkgs/haproxy/template
+++ b/srcpkgs/haproxy/template
@@ -5,7 +5,7 @@ revision=1
 build_style=gnu-makefile
 make_install_args="SBINDIR=${DESTDIR}/usr/bin DOCDIR=${DESTDIR}/usr/share/doc/${pkgname}"
 hostmakedepends="lua53-devel"
-makedepends="libatomic-devel openssl-devel lua53-devel pcre2-devel"
+makedepends="openssl-devel lua53-devel pcre2-devel"
 checkdepends="curl varnish"
 short_desc="Reliable, high performance TCP/HTTP load balancer"
 maintainer="Zach Dykstra <dykstra.zachary@gmail.com>"
diff --git a/srcpkgs/hedgewars/template b/srcpkgs/hedgewars/template
index 419f29b98b44d..15a1df6d8861d 100644
--- a/srcpkgs/hedgewars/template
+++ b/srcpkgs/hedgewars/template
@@ -35,8 +35,8 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ -n "$_use_c_engine" ]; then
-	hostmakedepends+=" glew-devel libatomic-devel ghc clang"
-	makedepends+=" glew-devel libatomic-devel"
+	hostmakedepends+=" glew-devel ghc clang"
+	makedepends+=" glew-devel"
 	configure_args+=" -DBUILD_ENGINE_C=1"
 	nopie_files+=" /usr/bin/hedgewars"
 fi
diff --git a/srcpkgs/highway/template b/srcpkgs/highway/template
index 47c51ec1d6165..4d6898b62c746 100644
--- a/srcpkgs/highway/template
+++ b/srcpkgs/highway/template
@@ -4,7 +4,6 @@ version=1.0.4
 revision=1
 build_style=cmake
 configure_args="-DHWY_SYSTEM_GTEST=ON -DHWY_ENABLE_EXAMPLES=OFF"
-makedepends="libatomic-devel"
 checkdepends="gtest-devel"
 short_desc="C++ library providing portable SIMD/vector intrinsics"
 maintainer="Joshua Krämer <joshua@kraemer.link>"
diff --git a/srcpkgs/i2pd/template b/srcpkgs/i2pd/template
index f4e21928b9dcc..8cfa4dd9a4954 100644
--- a/srcpkgs/i2pd/template
+++ b/srcpkgs/i2pd/template
@@ -4,8 +4,7 @@ version=2.48.0
 revision=1
 build_style=gnu-makefile
 make_build_args="USE_UPNP=yes"
-makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel
- libatomic-devel"
+makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel"
 short_desc="Full-featured C++ implementation of I2P client"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/inkscape/template b/srcpkgs/inkscape/template
index aa1ab218a442c..49633b61fd861 100644
--- a/srcpkgs/inkscape/template
+++ b/srcpkgs/inkscape/template
@@ -24,10 +24,6 @@ distfiles="https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.
 checksum=a0c7fd0d03c0a21535e648ef301dcf80dd7cfc1f3545e51065fbf1ba3ee8a5c4
 python_version=3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_LIBC" = musl ]; then
 		# disable errors for missing sentinels in glib variadic functions,
diff --git a/srcpkgs/jack_capture/template b/srcpkgs/jack_capture/template
index 5b604fdb2ed50..b5c59179d8d15 100644
--- a/srcpkgs/jack_capture/template
+++ b/srcpkgs/jack_capture/template
@@ -14,7 +14,6 @@ checksum=21afb0257ed7437708cc9e5bec2f6299599461b7eec8bf66967d8ecadb0751de
 CFLAGS+=" -D__USE_GNU"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/kdiff3/template b/srcpkgs/kdiff3/template
index 7ca6d77c9de2d..439abb790839a 100644
--- a/srcpkgs/kdiff3/template
+++ b/srcpkgs/kdiff3/template
@@ -19,6 +19,5 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ $XBPS_TARGET_NO_ATOMIC8 ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 46cbf7b318116..5ede09fb77532 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -20,6 +20,5 @@ checksum=2149cceac5526508653f4d02dcf7a694e3da3dc000a2372a1ee4bf9988279781
 system_groups="kismet"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/kiwix-lib/template b/srcpkgs/kiwix-lib/template
index 6534f59384a53..4b8fa31866db7 100644
--- a/srcpkgs/kiwix-lib/template
+++ b/srcpkgs/kiwix-lib/template
@@ -14,10 +14,6 @@ changelog="https://github.com/kiwix/kiwix-lib/blob/${version}/ChangeLog"
 distfiles="https://sources.voidlinux-ppc.org/kiwix-lib-${version}/${version}.tar.gz"
 checksum=f76bfa90411c52d4d8c49ac5767928fc28d01ef26916d72df4856cf08b064202
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kiwix-lib-devel_package() {
 	short_desc+=" - development packages"
 	depends="pugixml-devel icu-devel xapian-core-devel libzim-devel
diff --git a/srcpkgs/kiwix-tools/template b/srcpkgs/kiwix-tools/template
index e9f0841b61aea..300aba74fecae 100644
--- a/srcpkgs/kiwix-tools/template
+++ b/srcpkgs/kiwix-tools/template
@@ -13,10 +13,6 @@ changelog="https://github.com/kiwix/kiwix-tools/blob/${version}/Changelog"
 distfiles="https://github.com/kiwix/kiwix-tools/archive/${version}.tar.gz"
 checksum=86325ec31976d40357f08c520806cf223fa1b0a5edb02ad106c2a0d6746ca364
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" kiwix-lib-devel"
 fi
diff --git a/srcpkgs/kjsembed/template b/srcpkgs/kjsembed/template
index 1dcfd1d8338e6..6c3b334e85942 100644
--- a/srcpkgs/kjsembed/template
+++ b/srcpkgs/kjsembed/template
@@ -16,10 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-host-tools qt5-qmake kdoctools"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kjsembed-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index 8057964d78a38..bd5433969db64 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -96,7 +96,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template
index 8280590f39efc..420783517167f 100644
--- a/srcpkgs/krita/template
+++ b/srcpkgs/krita/template
@@ -32,10 +32,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) makedepends+=" vc";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	# CMake won't search in those directories because of CMAKE_FIND_ROOT_PATH
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/kross/template b/srcpkgs/kross/template
index 49bc5f603ed85..0f287825f7ae6 100644
--- a/srcpkgs/kross/template
+++ b/srcpkgs/kross/template
@@ -15,10 +15,6 @@ homepage="https://invent.kde.org/frameworks/kross"
 distfiles="${KDE_SITE}/frameworks/${version%.*}/portingAids/${pkgname}-${version}.tar.xz"
 checksum=3f0eac7ceaf22fae6202efb66b73e192b781e5733566cbf3362d82be8e8cbe8e
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kross-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kwin/template b/srcpkgs/kwin/template
index c530ec5ea57d6..91a1176995720 100644
--- a/srcpkgs/kwin/template
+++ b/srcpkgs/kwin/template
@@ -13,8 +13,7 @@ makedepends="plasma-framework-devel kcmutils-devel knewstuff-devel
  kscreenlocker-devel kinit-devel xcb-util-cursor-devel qt5-multimedia-devel
  kdecoration-devel libxkbcommon-devel libinput-devel libSM-devel
  libICE-devel xcb-util-wm-devel qt5-sensors-devel lcms2-devel
- pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids
- libatomic-devel"
+ pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids"
 depends="breeze hicolor-icon-theme kinit qt5-core>=5.15.2<5.16.0
  hwids libcap-progs"
 short_desc="KDE Window manager"
diff --git a/srcpkgs/lc0/template b/srcpkgs/lc0/template
index 9e419aa99689a..01ad362471c70 100644
--- a/srcpkgs/lc0/template
+++ b/srcpkgs/lc0/template
@@ -27,10 +27,6 @@ if [ "$CROSS_BUILD" ] && [ "$build_option_openblas" ]; then
 	configure_args+=" -Dopenblas_include=${XBPS_CROSS_BASE}/usr/include/openblas/"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc*) export CXXFLAGS+=" -DNO_WARN_X86_INTRINSICS";;
 esac
diff --git a/srcpkgs/libdex/template b/srcpkgs/libdex/template
index 4c6f15150f4a4..06b6c90365726 100644
--- a/srcpkgs/libdex/template
+++ b/srcpkgs/libdex/template
@@ -10,7 +10,7 @@ configure_args="-Dexamples=false
  $(vopt_bool vala vapi)"
 hostmakedepends="pkg-config glib-devel gettext
  $(vopt_if vala vala) $(vopt_if gtk_doc gi-docgen)"
-makedepends="glib-devel libgirepository-devel libatomic-devel
+makedepends="glib-devel libgirepository-devel
  liburing-devel $(vopt_if vala 'vala vala-devel')"
 short_desc="Future-based programming for GLib-based applications"
 maintainer="oreo639 <oreo6391@gmail.com>"
diff --git a/srcpkgs/libfilezilla/template b/srcpkgs/libfilezilla/template
index 3f14afac2e55a..ada549cb23f35 100644
--- a/srcpkgs/libfilezilla/template
+++ b/srcpkgs/libfilezilla/template
@@ -16,7 +16,6 @@ distfiles="https://download.filezilla-project.org/${pkgname}/${pkgname}-${versio
 checksum=2a8f57a06b52f6413b47d6a5dfbe7e9e31c84cc0784076f2f7e395232b0bd461
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index 8aa7c970accbb..a32e13469a280 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -26,7 +26,6 @@ checksum="c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420
 skip_extraction="skcms-${_skcms_hash}.tar.gz"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/libogre/template b/srcpkgs/libogre/template
index aa04d72212472..38e9cb9d52c6c 100644
--- a/srcpkgs/libogre/template
+++ b/srcpkgs/libogre/template
@@ -8,7 +8,7 @@ configure_args="-DOGRE_INSTALL_SAMPLES=TRUE -DOGRE_INSTALL_DOCS=TRUE
 make_build_target="all OgreDoc"
 hostmakedepends="pkg-config graphviz doxygen dejavu-fonts-ttf"
 makedepends="boost-devel freetype-devel libXaw-devel libXrandr-devel
- MesaLib-devel zziplib-devel libcppunit-devel glu-devel libatomic-devel
+ MesaLib-devel zziplib-devel libcppunit-devel glu-devel
  freeimage-devel pugixml-devel python3-devel"
 short_desc="Scene-oriented, flexible 3D engine"
 maintainer="Enno Boland <gottox@voidlinux.org>"
diff --git a/srcpkgs/libopenshot-audio/template b/srcpkgs/libopenshot-audio/template
index 99ed64a757f4e..deeb6fae494e2 100644
--- a/srcpkgs/libopenshot-audio/template
+++ b/srcpkgs/libopenshot-audio/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/OpenShot/libopenshot-audio/archive/v${version}.tar
 checksum=007ba6ee812a58506341dd66055dba575b3907e5274a0e7416f99c2fbb80021c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/libplacebo/template b/srcpkgs/libplacebo/template
index b58d978095d1a..9258c184247d5 100644
--- a/srcpkgs/libplacebo/template
+++ b/srcpkgs/libplacebo/template
@@ -16,7 +16,6 @@ distfiles="https://code.videolan.org/videolan/libplacebo/-/archive/v${version}/l
 checksum=7b3c857934ee3d30f743e43d7f0606e10950806661ea0ea385f8a1f06cbab854
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template
index bf5d7af39190a..35c83414acaf1 100644
--- a/srcpkgs/libreoffice/template
+++ b/srcpkgs/libreoffice/template
@@ -170,10 +170,6 @@ case "$XBPS_TARGET_MACHINE" in
 		;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS+=" -DGLM_ENABLE_EXPERIMENTAL -DU_USING_ICU_NAMESPACE=1"
 
 # Move files listed in a <name>_list.txt into $PKGDESTDIR
diff --git a/srcpkgs/libtd/template b/srcpkgs/libtd/template
index a54fe851decf6..68f7106dfebcb 100644
--- a/srcpkgs/libtd/template
+++ b/srcpkgs/libtd/template
@@ -19,7 +19,6 @@ fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
-	makedepends+=" libatomic-devel"
 fi
 
 pre_configure() {
diff --git a/srcpkgs/libtorrent-rasterbar/template b/srcpkgs/libtorrent-rasterbar/template
index b34c92df1ee24..297239391080b 100644
--- a/srcpkgs/libtorrent-rasterbar/template
+++ b/srcpkgs/libtorrent-rasterbar/template
@@ -19,10 +19,6 @@ CXXFLAGS="-std=c++14"
 
 # TODO: The test_resume failed in CI for i686 but passed with xbps-uunshare
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i CMakeLists.txt -e "s;Threads::Threads;& atomic;"
@@ -51,9 +47,6 @@ libtorrent-rasterbar-python3_package() {
 
 libtorrent-rasterbar-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision} openssl-devel boost-devel geoip-devel"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index aea0b43cf573b..86e86bb96c63f 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -27,7 +27,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm12>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/llvm15/template b/srcpkgs/llvm15/template
index 7eaadb18b9d65..81571270b03c3 100644
--- a/srcpkgs/llvm15/template
+++ b/srcpkgs/llvm15/template
@@ -32,7 +32,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm15>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/lms/template b/srcpkgs/lms/template
index d20ae1ec1fc86..2df52c51dbfe6 100644
--- a/srcpkgs/lms/template
+++ b/srcpkgs/lms/template
@@ -18,7 +18,6 @@ _lms_homedir="/var/lms"
 make_dirs="/var/lms 755 _lms _lms"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template
index 95e5eeb77d527..f8987e06ed1c6 100644
--- a/srcpkgs/mariadb/template
+++ b/srcpkgs/mariadb/template
@@ -19,7 +19,7 @@ configure_args="-DBUILD_CONFIG=mysql_release
  -DWITH_READLINE=ON -DWITH_SYSTEMD=no -DWITH_PCRE=system"
 hostmakedepends="bison perl flex pkg-config"
 makedepends="ncurses-devel gnutls-devel libaio-devel boost-devel pam-devel zlib-devel
- pcre2-devel libatomic-devel"
+ pcre2-devel"
 depends="perl"
 checkdepends="perl"
 short_desc="Fast SQL database server, drop-in replacement for MySQL"
@@ -83,7 +83,7 @@ libmariadbclient_package() {
 }
 
 libmariadbclient-devel_package() {
-	depends="libmariadbclient>=${version}_${revision} libatomic-devel"
+	depends="libmariadbclient>=${version}_${revision}"
 	provides="libmysqlclient-devel-${version}_${revision}"
 	replaces="libmysqlclient-devel>=0"
 	short_desc+=" - client development files"
diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index b07f38864ea8e..df788fe3b0f00 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -11,7 +11,7 @@ configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
 hostmakedepends="gettext flex llvm pkg-config python3-Mako glslang
  $(vopt_if wayland 'wayland-protocols wayland-devel')"
 makedepends="elfutils-devel expat-devel libXdamage-devel
- libXxf86vm-devel libatomic-devel libdrm-devel libffi-devel libva-devel
+ libXxf86vm-devel libdrm-devel libffi-devel libva-devel
  libvdpau-devel libxshmfence-devel ncurses-devel zlib-devel
  $(vopt_if wayland 'wayland-devel wayland-protocols') llvm libsensors-devel
  libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua53-devel
diff --git a/srcpkgs/mgba/template b/srcpkgs/mgba/template
index ae0504311eee0..4af085188bf44 100644
--- a/srcpkgs/mgba/template
+++ b/srcpkgs/mgba/template
@@ -15,7 +15,6 @@ distfiles="https://github.com/mgba-emu/${pkgname}/archive/${version}.tar.gz"
 checksum="60afef8fb79ba1f7be565b737bae73c6604a790391c737f291482a7422d675ae"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/mlt/template b/srcpkgs/mlt/template
index 8933eb4e7bb9e..5ad199461e694 100644
--- a/srcpkgs/mlt/template
+++ b/srcpkgs/mlt/template
@@ -11,7 +11,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which"
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel"
+ libvidstab-devel"
 depends="mlt-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/mlt7/template b/srcpkgs/mlt7/template
index 9fb7f60d692e1..df3e2c559ad6c 100644
--- a/srcpkgs/mlt7/template
+++ b/srcpkgs/mlt7/template
@@ -9,7 +9,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel qt5-svg-devel"
+ libvidstab-devel qt5-svg-devel"
 depends="mlt7-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index e7735cb57f4fc..991c06425b436 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -40,10 +40,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="Does not build"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv mozc-* mozc
 
diff --git a/srcpkgs/mozjs102/template b/srcpkgs/mozjs102/template
index 4bbc084b5a44d..2bb2d3e7287a1 100644
--- a/srcpkgs/mozjs102/template
+++ b/srcpkgs/mozjs102/template
@@ -25,7 +25,6 @@ checksum=47f8f6243bce8c2ef51adf8c9626bbf643e1c225dcb9ba5653a055ed5e76ca48
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
index 10d9af44619f7..8e7175156669c 100644
--- a/srcpkgs/mozjs78/template
+++ b/srcpkgs/mozjs78/template
@@ -21,7 +21,6 @@ CXXFLAGS="-Wno-class-memaccess"
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mpv/template b/srcpkgs/mpv/template
index e163c496c6ebb..36b8343cb6ac6 100644
--- a/srcpkgs/mpv/template
+++ b/srcpkgs/mpv/template
@@ -43,10 +43,6 @@ changelog="https://github.com/mpv-player/mpv/releases"
 distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
 checksum=41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2
  sndio vapoursynth vdpau vulkan wayland x11"
 build_options_default="alsa jack lcms lua pulseaudio pipewire vdpau vulkan
diff --git a/srcpkgs/musikcube/template b/srcpkgs/musikcube/template
index 7c569303c0543..193cb06a5fadb 100644
--- a/srcpkgs/musikcube/template
+++ b/srcpkgs/musikcube/template
@@ -24,10 +24,6 @@ build_options_default="elogind"
 
 export CMAKE_GENERATOR="Unix Makefiles"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.txt
 }
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 176bcf26d8c53..2d670e5e284ed 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -37,7 +37,6 @@ system_accounts="_netdata"
 conf_files="/etc/${pkgname}/*.conf"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/nix/template b/srcpkgs/nix/template
index 20eb0d85fdaf4..06f34d6e9a0f1 100644
--- a/srcpkgs/nix/template
+++ b/srcpkgs/nix/template
@@ -62,10 +62,6 @@ make_dirs="
 	/nix/var/nix/db 0755 root root
 	/nix/store 1775 root nixbld"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	./bootstrap.sh
 }
diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template
index aa03b7f48c27e..31268b558f81b 100644
--- a/srcpkgs/nodejs/template
+++ b/srcpkgs/nodejs/template
@@ -3,10 +3,10 @@ pkgname=nodejs
 version=18.16.0
 revision=2
 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079
-hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel
+hostmakedepends="which pkg-config python3 zlib-devel
  $(vopt_if icu icu-devel) $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
-makedepends="libatomic-devel zlib-devel $(vopt_if icu icu-devel)
+makedepends="zlib-devel $(vopt_if icu icu-devel)
  $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
 checkdepends="procps-ng iana-etc"
diff --git a/srcpkgs/nushell/template b/srcpkgs/nushell/template
index c0ea4d3a94e0b..8bcb50e307c86 100644
--- a/srcpkgs/nushell/template
+++ b/srcpkgs/nushell/template
@@ -6,7 +6,7 @@ build_style=cargo
 configure_args="--features=extra"
 hostmakedepends="pkg-config python3 libgit2-devel"
 makedepends="openssl-devel libgit2-devel libX11-devel libxcb-devel
- libatomic-devel libcurl-devel libzstd-devel liblz4-devel zlib-devel
+ libcurl-devel libzstd-devel liblz4-devel zlib-devel
  nghttp2-devel bzip2-devel sqlite-devel"
 short_desc="Modern shell for the GitHub era"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 69c635b1ad2bc..62226978fa3e0 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -30,10 +30,6 @@ patch_args="-Np1 -d ${build_wrksrc}"
 # tests hang indenfinitely, even with test data included
 make_check=no
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
diff --git a/srcpkgs/opendht/template b/srcpkgs/opendht/template
index 2902fc6d4a701..25d74d1138c6b 100644
--- a/srcpkgs/opendht/template
+++ b/srcpkgs/opendht/template
@@ -14,10 +14,6 @@ homepage="https://github.com/savoirfairelinux/opendht"
 distfiles="https://github.com/savoirfairelinux/opendht/archive/refs/tags/v${version}.tar.gz"
 checksum=5144bc4456d396b527b59065064bbc31fbe0d2af5fd052506219a66895791e64
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 opendht-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision} gnutls-devel nettle-devel"
diff --git a/srcpkgs/openimageio/template b/srcpkgs/openimageio/template
index 0e9e22e9685d9..69a9e23786942 100644
--- a/srcpkgs/openimageio/template
+++ b/srcpkgs/openimageio/template
@@ -27,10 +27,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) configure_args+=" -DUSE_SIMD=sse2" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.md LICENSE
 }
diff --git a/srcpkgs/openmpi/template b/srcpkgs/openmpi/template
index 291225502c4f1..77038695442e7 100644
--- a/srcpkgs/openmpi/template
+++ b/srcpkgs/openmpi/template
@@ -28,7 +28,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/openmw/template b/srcpkgs/openmw/template
index e3771c7aaf1a3..ddaab54a2003d 100644
--- a/srcpkgs/openmw/template
+++ b/srcpkgs/openmw/template
@@ -30,7 +30,6 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/openttd/template b/srcpkgs/openttd/template
index 4bfb9a56c0768..40596ac750b28 100644
--- a/srcpkgs/openttd/template
+++ b/srcpkgs/openttd/template
@@ -34,10 +34,6 @@ checksum="aafa16d2fb67165134c73a888f79f7a5ed7da17a04cf6e9ecf672c9cb89e7192
  e0a218b7dd9438e701503b0f84c25a97c1c11b7c2f025323fb19d6db16ef3759
  5a4277a2e62d87f2952ea5020dc20fb2f6ffafdccf9913fbf35ad45ee30ec762"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	bsdtar xf opengfx-${_gfxver}.tar
 	bsdtar xf opensfx-${_sfxver}.tar
diff --git a/srcpkgs/openvdb/template b/srcpkgs/openvdb/template
index 0084a3cb85bae..30a61927059d9 100644
--- a/srcpkgs/openvdb/template
+++ b/srcpkgs/openvdb/template
@@ -23,7 +23,6 @@ if [ "$XBPS_WORDSIZE" -eq 32 ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 2fe3186babdf0..ad82aa160c82f 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -45,7 +45,6 @@ desc_option_ffado="Enable support for FireWire based audio devices"
 replaces="libpulseaudio-pipewire>=0"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/plocate/template b/srcpkgs/plocate/template
index bc37ca01e9740..32a64971a2699 100644
--- a/srcpkgs/plocate/template
+++ b/srcpkgs/plocate/template
@@ -26,7 +26,6 @@ alternatives="
  locate:updatedb.conf.5:/usr/share/man/man5/pupdatedb.conf.5"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index f27cb3e5dbeff..377183469ae74 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/polybar/template b/srcpkgs/polybar/template
index b59ed9cd039a8..10d3ffa4ba75f 100644
--- a/srcpkgs/polybar/template
+++ b/srcpkgs/polybar/template
@@ -38,7 +38,6 @@ desc_option_mpd="Enable support for MPD"
 desc_option_network="Enable support for network"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/primesieve/template b/srcpkgs/primesieve/template
index 84452b604d55f..eb8b48b9ad31f 100644
--- a/srcpkgs/primesieve/template
+++ b/srcpkgs/primesieve/template
@@ -12,10 +12,6 @@ changelog="https://raw.githubusercontent.com/kimwalisch/primesieve/master/Change
 distfiles="https://github.com/kimwalisch/primesieve/archive/refs/tags/v${version}.tar.gz"
 checksum=bab3bc4a1f3247f95b83dfc494ab0ce37a370a7b05379640f58e786d8d5fba61
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense COPYING
 }
diff --git a/srcpkgs/prometheus-cpp/template b/srcpkgs/prometheus-cpp/template
index 3012d53ef47a6..d0a4f97698010 100644
--- a/srcpkgs/prometheus-cpp/template
+++ b/srcpkgs/prometheus-cpp/template
@@ -8,7 +8,7 @@ _hash_civetweb=fbdee7440be24f904208c15a1fc9e2582b866049
 create_wrksrc=yes
 build_style=cmake
 hostmakedepends="telegraf protobuf"
-makedepends="protobuf-devel libatomic-devel"
+makedepends="protobuf-devel"
 short_desc="Prometheus Client Library in Modern C++"
 maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="MIT"
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 828c4b050fdca..a0bfce84c0c1f 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -8,8 +8,7 @@ configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
  -Dprotobuf_BUILD_TESTS=OFF"
 # XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
 hostmakedepends="pkg-config"
-makedepends="zlib-devel gtest-devel libatomic-devel
- abseil-cpp-devel"
+makedepends="zlib-devel gtest-devel abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/python3-grpcio-tools/template b/srcpkgs/python3-grpcio-tools/template
index e36b420967f64..fba74665b9062 100644
--- a/srcpkgs/python3-grpcio-tools/template
+++ b/srcpkgs/python3-grpcio-tools/template
@@ -16,10 +16,6 @@ checksum=84cc64e5b46bad43d5d7bd2fd772b656eba0366961187a847e908e2cb735db91
 
 export GRPC_PYTHON_BUILD_WITH_CYTHON=1
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_check() {
 	# Subprocesses fail to find the compiled extension when only
 	# PYTHONPATH is set, so copy the extension into to source tree
diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 25ea3fc346208..25662e963632e 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -14,10 +14,6 @@ homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
 checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
diff --git a/srcpkgs/python3-pyqt6/template b/srcpkgs/python3-pyqt6/template
index 2cf8da5e62b50..881668fd7a1f9 100644
--- a/srcpkgs/python3-pyqt6/template
+++ b/srcpkgs/python3-pyqt6/template
@@ -20,10 +20,6 @@ distfiles="$PYPI_SITE/P/PyQt6/PyQt6-$version.tar.gz"
 checksum=b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc
 lib32disabled=yes
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # Split like qt6, but keep qt6-core in main pkg
 
 python3-pyqt6-core-devel_package() {
diff --git a/srcpkgs/qpdf/template b/srcpkgs/qpdf/template
index 5e16b8b5d050a..46bddaf810736 100644
--- a/srcpkgs/qpdf/template
+++ b/srcpkgs/qpdf/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/qpdf/qpdf/archive/refs/tags/v${version}.tar.gz"
 checksum=0e15aaed511928a3d0f5a416e6521640a561a8ce522c574f93ef6472915151f3
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/qt5-webengine/template b/srcpkgs/qt5-webengine/template
index edeb07f1ab7a7..679d0fa2ad84b 100644
--- a/srcpkgs/qt5-webengine/template
+++ b/srcpkgs/qt5-webengine/template
@@ -60,24 +60,10 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 	broken="webengine only supports little endian"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
-# ppc64 still needs libatomic here, as does s390x but we don't have that
-case "$XBPS_MACHINE" in
-	ppc64*) hostmakedepends+=" libatomic-devel"
-esac
-
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
-case "$XBPS_TARGET_MACHINE" in
-	ppc64*) makedepends+=" libatomic-devel" ;;
-esac
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*-musl) makedepends+=" libucontext-devel" ;;
 esac
diff --git a/srcpkgs/qt5-webkit/template b/srcpkgs/qt5-webkit/template
index b66658071d43d..4ea5f11b1fc0a 100644
--- a/srcpkgs/qt5-webkit/template
+++ b/srcpkgs/qt5-webkit/template
@@ -41,7 +41,6 @@ esac
 
 # some platforms need libatomic
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index d3821efbe3784..86ea3ec2c11b9 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -49,10 +49,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" postgresql-libs-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _cleanup_wrksrc_leak() {
 	if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then
 		# Replace references to ${wrksrc} in cmake files
@@ -1075,9 +1071,6 @@ qt5-devel_package() {
 		qt5-network-${version}_${revision}
 		qt5-xml-${version}_${revision}
 		qt5-host-tools-${version}_${revision}"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - Development files"
 	# qt5-enginio-devel is gone
 	pkg_install() {
diff --git a/srcpkgs/qt6-3d/template b/srcpkgs/qt6-3d/template
index 4b7fbee0562e4..cce8faba43362 100644
--- a/srcpkgs/qt6-3d/template
+++ b/srcpkgs/qt6-3d/template
@@ -4,8 +4,7 @@ version=6.5.0
 revision=1
 build_style=cmake
 hostmakedepends="perl qt6-declarative-host-tools"
-makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel
- libatomic-devel"
+makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel"
 short_desc="Cross-platform application and UI framework - 3d"
 maintainer="John <me@johnnynator.dev>"
 license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
diff --git a/srcpkgs/qt6-base/template b/srcpkgs/qt6-base/template
index c2e526cf9c223..891d14580c73a 100644
--- a/srcpkgs/qt6-base/template
+++ b/srcpkgs/qt6-base/template
@@ -23,7 +23,7 @@ makedepends="zlib-devel libzstd-devel dbus-devel
  xcb-util-renderutil-devel xcb-util-wm-devel
  MesaLib-devel pcre2-devel icu-devel mtdev-devel harfbuzz-devel
  libpng-devel tslib-devel libinput-devel gtk+3-devel
- libmariadbclient-devel postgresql-libs-devel libatomic-devel
+ libmariadbclient-devel postgresql-libs-devel
  unixodbc-devel cups-devel libproxy-devel brotli-devel
  sqlite-devel Vulkan-Headers mit-krb5-devel vulkan-loader libb2-devel
  xcb-util-cursor-devel"
diff --git a/srcpkgs/qt6-tools/template b/srcpkgs/qt6-tools/template
index 2d13e8974409c..2166d4aa633ff 100644
--- a/srcpkgs/qt6-tools/template
+++ b/srcpkgs/qt6-tools/template
@@ -9,7 +9,7 @@ configure_args="-DEXTERNAL_GUMBO=ON -DLITEHTML_UTF8=ON -DUSE_ICU=ON
  -DQT_FEATURE_distancefieldgenerator=ON"
 hostmakedepends="qt6-base perl qt6-plugin-sqlite clang llvm clang-tools-extra
  qt6-declarative-host-tools"
-makedepends="qt6-base-devel libatomic-devel qt6-plugin-sqlite qt6-declarative-devel
+makedepends="qt6-base-devel qt6-plugin-sqlite qt6-declarative-devel
  gumbo-parser-devel icu-devel llvm clang-tools-extra"
 short_desc="Cross-platform application and UI framework (QT6) - qt6-tools component"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template
index 71beaceaf3b64..8438bb1229dd1 100644
--- a/srcpkgs/qtcreator/template
+++ b/srcpkgs/qtcreator/template
@@ -36,7 +36,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/qtox/template b/srcpkgs/qtox/template
index 16019d7eaec9e..39c643fecdb5a 100644
--- a/srcpkgs/qtox/template
+++ b/srcpkgs/qtox/template
@@ -23,7 +23,3 @@ checksum=cd0781241b4ea536da90ce8c72ad9f2aa9bbdf9fbae5d38ee645e30d790fa7f2
 build_options="snorenotify"
 build_options_default="snorenotify"
 desc_option_snorenotify="Enable support for desktop notifications"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
diff --git a/srcpkgs/quickjs/template b/srcpkgs/quickjs/template
index 562ca371bc5db..52e343d12ff81 100644
--- a/srcpkgs/quickjs/template
+++ b/srcpkgs/quickjs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export EXTRA_LIBS="-latomic"
 fi
diff --git a/srcpkgs/rawtherapee/template b/srcpkgs/rawtherapee/template
index 6745c96a109ae..463d9cfb3f127 100644
--- a/srcpkgs/rawtherapee/template
+++ b/srcpkgs/rawtherapee/template
@@ -5,7 +5,7 @@ revision=2
 build_style=cmake
 configure_args="-DCACHE_NAME_SUFFIX=\"\""
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Free RAW converter and digital photo processing software"
diff --git a/srcpkgs/receivemidi/template b/srcpkgs/receivemidi/template
index 7d83a46b3cb49..4f9a0b7566cd5 100644
--- a/srcpkgs/receivemidi/template
+++ b/srcpkgs/receivemidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/ReceiveMIDI/releases"
 distfiles="https://github.com/gbevin/ReceiveMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=54697ad1a723eea5e3f19ec3bf153795e765b278953dde8be7f350001637bc0a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/redis/template b/srcpkgs/redis/template
index 8e8ac83a965f7..39c45c443d30b 100644
--- a/srcpkgs/redis/template
+++ b/srcpkgs/redis/template
@@ -29,10 +29,6 @@ else
 	make_build_args+=" MALLOC=jemalloc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	vsed -i \
 		-e "s|^# bind 127.0.0.1|bind 127.0.0.1|" \
diff --git a/srcpkgs/renderdoc/template b/srcpkgs/renderdoc/template
index 39d51d2416770..b663608ce29ec 100644
--- a/srcpkgs/renderdoc/template
+++ b/srcpkgs/renderdoc/template
@@ -34,7 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DNEED_LIBATOMIC=ON"
 fi
 
diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template
index 8a0786c21a082..5fe0e45e4cb0b 100644
--- a/srcpkgs/retroshare/template
+++ b/srcpkgs/retroshare/template
@@ -20,10 +20,6 @@ checksum=c545b9249ac7dbfef72a2d636bc0f8b729c7ce05f21a54dd9284b2a387592d4a
 
 export CXXFLAGS="-std=c++14"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	for l in COPYING LICENSES/*; do
 		vlicense "$l"
diff --git a/srcpkgs/rocksdb/template b/srcpkgs/rocksdb/template
index 4da7dfcf0673f..eea463a6d1a9f 100644
--- a/srcpkgs/rocksdb/template
+++ b/srcpkgs/rocksdb/template
@@ -13,10 +13,6 @@ homepage="https://github.com/facebook/rocksdb"
 distfiles="https://github.com/facebook/rocksdb/archive/v${version}.tar.gz"
 checksum=886378093098a1b2521b824782db7f7dd86224c232cf9652fcaf88222420b292
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="assembler errors"
 fi
diff --git a/srcpkgs/rubberband/template b/srcpkgs/rubberband/template
index 04e4d91c0f105..32f1f9f160794 100644
--- a/srcpkgs/rubberband/template
+++ b/srcpkgs/rubberband/template
@@ -17,7 +17,6 @@ distfiles="https://breakfastquay.com/files/releases/rubberband-${version}.tar.bz
 checksum=82edacd0c50bfe56a6a85db1fcd4ca3346940ffe02843fc50f8b92f99a97d172
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 3331675ac2509..0d955b4a8d146 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -41,11 +41,6 @@ else
 	hostmakedepends+=" rust-bootstrap"
 fi
 
-# see https://github.com/rust-lang/rust/commit/1db81713f6475bebd0ae689ac7139c53d2843c48
-case "$XBPS_TARGET_MACHINE" in
-	armv*) makedepends+=" libatomic-devel" ;;
-esac
-
 # we need this because cargo verifies checksums of all files in vendor
 # crates when it builds and gives us no way to override or update the
 # file sanely... so just clear out the file list
diff --git a/srcpkgs/sendmidi/template b/srcpkgs/sendmidi/template
index 95b1862e1a619..2b44c25e7247a 100644
--- a/srcpkgs/sendmidi/template
+++ b/srcpkgs/sendmidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/SendMIDI/releases"
 distfiles="https://github.com/gbevin/SendMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=3fb3d16ee14784e057e633b6e57fede33ac291d9af85942106fde8b431e15740
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/snapcast/template b/srcpkgs/snapcast/template
index 2440d44d8f513..399882ada2065 100644
--- a/srcpkgs/snapcast/template
+++ b/srcpkgs/snapcast/template
@@ -21,10 +21,6 @@ checksum=c662c6eafbaa42a4797a4ed6ba4a7602332abf99f6ba6ea88ff8ae59978a86ba
 build_options="avahi pulseaudio"
 build_options_default="avahi pulseaudio"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vdoc README.md
 	vdoc doc/player_setup.md
diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index c406f9c72c155..3a7a68fc13bf9 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -22,7 +22,6 @@ checksum="ab4b3a5fecb1800f8eab82a92138a70227e869d2066ee881441b1e13035786dc
 nocross="https://travis-ci.org/bobertlo/void-packages/jobs/487251265"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/sonic-visualiser/template b/srcpkgs/sonic-visualiser/template
index 0f70214f8570a..f563ad3d40a63 100644
--- a/srcpkgs/sonic-visualiser/template
+++ b/srcpkgs/sonic-visualiser/template
@@ -16,10 +16,6 @@ changelog="https://raw.githubusercontent.com/sonic-visualiser/sonic-visualiser/d
 distfiles="https://github.com/sonic-visualiser/sonic-visualiser/releases/download/sv_v${version}/sonic-visualiser-${version}.tar.gz"
 checksum=0816e1ba9e3f97af495ece2554186bccad1cf47090ff8a13f1d08322212db487
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i "s/^general_link_args = \[\]/general_link_args = \['-latomic'\]/" meson.build
diff --git a/srcpkgs/squid/template b/srcpkgs/squid/template
index 49b9eb9d7b916..ca758380e900d 100644
--- a/srcpkgs/squid/template
+++ b/srcpkgs/squid/template
@@ -60,7 +60,6 @@ system_accounts="squid"
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/srt/template b/srcpkgs/srt/template
index 76a4d1055c7c5..3fa0bbcbddbdb 100644
--- a/srcpkgs/srt/template
+++ b/srcpkgs/srt/template
@@ -16,10 +16,6 @@ changelog="https://github.com/Haivision/srt/releases"
 distfiles="https://github.com/Haivision/srt/archive/refs/tags/v${version}.tar.gz"
 checksum=463970a3f575446b3f55abb6f323d5476c963c77b3c975cd902e9c87cdd9a92c
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 libsrt_package() {
 	depends="libsrt>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/stockfish/template b/srcpkgs/stockfish/template
index 363603f83d5a3..5203abfa66774 100644
--- a/srcpkgs/stockfish/template
+++ b/srcpkgs/stockfish/template
@@ -35,7 +35,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/supercollider/template b/srcpkgs/supercollider/template
index 42b58d5b6e3e7..7c147c4a59e77 100644
--- a/srcpkgs/supercollider/template
+++ b/srcpkgs/supercollider/template
@@ -6,7 +6,7 @@ build_style=cmake
 make_cmd=make
 configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON"
 hostmakedepends="emacs pkg-config qt5-host-tools qt5-qmake"
-makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel libatomic-devel
+makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel
  libsndfile-devel libXt-devel qt5-declarative-devel qt5-location-devel
  qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite
  qt5-plugin-tds qt5-sensors-devel qt5-tools-devel qt5-svg-devel
diff --git a/srcpkgs/supertuxkart/template b/srcpkgs/supertuxkart/template
index 47a962d24824d..85b54d559a317 100644
--- a/srcpkgs/supertuxkart/template
+++ b/srcpkgs/supertuxkart/template
@@ -19,10 +19,6 @@ changelog="https://raw.githubusercontent.com/supertuxkart/stk-code/master/CHANGE
 distfiles="https://github.com/supertuxkart/stk-code/releases/download/${version}/SuperTuxKart-${version}-src.tar.xz"
 checksum=9890392419baf4715313f14d5ad60746f276eed36eb580636caf44e2532c0f03
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 supertuxkart-data_package() {
 	short_desc+=" - data files"
 	pkg_install() {
diff --git a/srcpkgs/swi-prolog/template b/srcpkgs/swi-prolog/template
index 674f1505bf0d0..cf4715b1b5457 100644
--- a/srcpkgs/swi-prolog/template
+++ b/srcpkgs/swi-prolog/template
@@ -18,6 +18,5 @@ distfiles="http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz
 checksum=feb2815a51d34fa81cb34e8149830405935a7e1d1c1950461239750baa8b49f0
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
diff --git a/srcpkgs/syntax-highlighting/template b/srcpkgs/syntax-highlighting/template
index 70375ffe0b848..a954c8c38ddff 100644
--- a/srcpkgs/syntax-highlighting/template
+++ b/srcpkgs/syntax-highlighting/template
@@ -6,8 +6,7 @@ build_style=cmake
 configure_args="-DKATEHIGHLIGHTINGINDEXER_EXECUTABLE=/usr/libexec/${pkgname}/katehighlightingindexer"
 hostmakedepends="kcoreaddons extra-cmake-modules perl qt5-host-tools
  qt5-qmake qt5-tools qt5-devel qt5-tools-devel"
-makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel
- libatomic-devel"
+makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel"
 short_desc="Syntax highlighting engine for structured text and code"
 maintainer="John <me@johnnynator.dev>"
 license="LGPL-2.1-or-later"
diff --git a/srcpkgs/sysbench/template b/srcpkgs/sysbench/template
index e2fe7be0cc8b0..45e6ab6adb0d8 100644
--- a/srcpkgs/sysbench/template
+++ b/srcpkgs/sysbench/template
@@ -18,10 +18,6 @@ homepage="https://github.com/akopytov/sysbench"
 distfiles="https://github.com/akopytov/sysbench/archive/${version}.tar.gz"
 checksum=e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	autoreconf -fi
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index 22e46e4e95e15..19a6722f4697b 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config qt6-base python3 clang extra-cmake-modules
 makedepends="alsa-lib-devel boost-devel fmt-devel ffmpeg-devel gobject-introspection libdbusmenu-glib-devel libopenal-devel
  minizip-devel opus-devel xxHash-devel pulseaudio-devel range-v3
  qt6-svg-devel libva-devel rapidjson liblz4-devel liblzma-devel gtk+3-devel
- MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel libatomic-devel
+ MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel
  xcb-util-keysyms-devel $(vopt_if spellcheck hunspell-devel) protobuf-devel
  glibmm2.68-devel tg_owt webkit2gtk-devel rnnoise-devel jemalloc-devel qt6-declarative-devel"
 depends="qt6-imageformats ttf-opensans"
diff --git a/srcpkgs/thrift/template b/srcpkgs/thrift/template
index 1912cfb7ed333..4e0fbc519e64b 100644
--- a/srcpkgs/thrift/template
+++ b/srcpkgs/thrift/template
@@ -19,10 +19,6 @@ homepage="https://thrift.apache.org/"
 distfiles="https://github.com/apache/thrift/archive/v${version}.tar.gz"
 checksum=9cea30b9700153329ae1926cc05a20bbe3e8451ae270b0c8c5c5fe9929924cb3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	configure_args+=" -DBUILD_TESTING=OFF -DBUILD_TUTORIALS=OFF"
 fi
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 551e968ce984f..d26f88c3d7e0e 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -35,10 +35,6 @@ case $XBPS_TARGET_MACHINE in
 	ppc*) broken="xptcall bitrot" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # try to minimize memory usage via debug symbols
 # 'LLVM ERROR: out of memory' while compiling gtkrust
 if [ "$XBPS_WORDSIZE" = "32" ]; then
diff --git a/srcpkgs/tomahawk/template b/srcpkgs/tomahawk/template
index 341645af8e44c..cb6b40de7e907 100644
--- a/srcpkgs/tomahawk/template
+++ b/srcpkgs/tomahawk/template
@@ -39,10 +39,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS="-Wno-deprecated-declarations"
 
 tomahawk-devel_package() {
diff --git a/srcpkgs/uhd/template b/srcpkgs/uhd/template
index 46731dcdaf032..8645921e88d6f 100644
--- a/srcpkgs/uhd/template
+++ b/srcpkgs/uhd/template
@@ -32,7 +32,6 @@ else
 fi
 
 if [ "$_use_libatomic" = "yes" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index f9d3905ace6cf..4ceda6e7724ff 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
 checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/vkQuake/template b/srcpkgs/vkQuake/template
index 28c2a8d66e37b..876281c079071 100644
--- a/srcpkgs/vkQuake/template
+++ b/srcpkgs/vkQuake/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=b88d3dfc869d89820766e2dd18bdadb9681adfc4c9d05e09cbbebcc17ef1d150
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/vtk/template b/srcpkgs/vtk/template
index a1d61de2d1420..867554b13ac89 100644
--- a/srcpkgs/vtk/template
+++ b/srcpkgs/vtk/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	LDFLAGS="-lexecinfo"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	[ "$XBPS_TARGET_NO_ATOMIC8" ] || return 0
 
diff --git a/srcpkgs/warzone2100/template b/srcpkgs/warzone2100/template
index baf48548dd4a6..f8f23952f3f8b 100644
--- a/srcpkgs/warzone2100/template
+++ b/srcpkgs/warzone2100/template
@@ -17,10 +17,6 @@ distfiles="https://github.com/Warzone2100/${pkgname}/releases/download/${version
 checksum=01d608f6f9638e14d7c857df40ad339c1bfc207a05daafe7157ad8652a3405c3
 nocross="fails to detect SDL2 when cross-compiling"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "target_link_libraries(warzone2100 atomic)" >> CMakeLists.txt
diff --git a/srcpkgs/watchexec/template b/srcpkgs/watchexec/template
index a2fdc6e7e0454..4b8cf746d8066 100644
--- a/srcpkgs/watchexec/template
+++ b/srcpkgs/watchexec/template
@@ -12,7 +12,6 @@ distfiles="https://github.com/watchexec/watchexec/archive/refs/tags/v${version}.
 checksum=698ed1dc178279594542f325b23f321c888c9c12c1960fe11c0ca48ba6edad76
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template
index 15e98aaca3b0d..421fa8b2d0c83 100644
--- a/srcpkgs/webkit2gtk/template
+++ b/srcpkgs/webkit2gtk/template
@@ -26,7 +26,7 @@ makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
  libsoup-devel libsoup3-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
  dbus-glib-devel libwebp-devel gtk+3-devel gtk4-devel libgudev-devel
  libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
- woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel libavif-devel
+ woff2-devel freetype-devel libopenjpeg2-devel libavif-devel
  qt5-devel libmanette-devel libwpe-devel wpebackend-fdo-devel
  libgcrypt-devel libnuspell-devel libpsl-devel $(vopt_if x11 libXt-devel)
  $(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
diff --git a/srcpkgs/wt/template b/srcpkgs/wt/template
index de480ebb7dc6e..33a48ed75ffea 100644
--- a/srcpkgs/wt/template
+++ b/srcpkgs/wt/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/emweb/wt/archive/refs/tags/${version}.tar.gz"
 checksum=7090023d4fc4b6594bf4cb11072d9d3d775269327aece9a8993c7bbe46decb9d
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
index 10ed861b1391b..8e9851575bca8 100644
--- a/srcpkgs/xrootd/template
+++ b/srcpkgs/xrootd/template
@@ -21,5 +21,4 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
-	makedepends+=" libatomic-devel"
 fi
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index e53f25d270844..a1a9ea8d16c83 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -23,10 +23,6 @@ dkms_modules="zfs ${version}"
 
 replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
 	autoreconf -fi

From 29b0ede040319d431c4e34d1dd7cd91fa6b3fe28 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:51 +0200
Subject: [PATCH 12/23] cross-mips-linux-musl: use --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index 8865f6dc092b9..2c796a7c09cd7 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 0d56c05d72b33c74446afd443c4f916be3191d09 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 13/23] cross-mips-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 94691668dcf2f..7333d3b5d70cc 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 385097e8c1dfe4f53f8798aee2e5000b2c7e7454 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 14/23] cross-mipsel-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index a053fe5301538..992c6bc42e955 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From bb07603a70a47677ea22b63ca9428531c84567eb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 15/23] cross-mipsel-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 29d7261e9b481..cde29e2129eef 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From c0a82f0f83f6c760525e483690b99a6f5d69851e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 16/23] cross-powerpc-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template
index 327f3f911eb5e..035dc50571a65 100644
--- a/srcpkgs/cross-powerpc-linux-gnu/template
+++ b/srcpkgs/cross-powerpc-linux-gnu/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 134795f5aefefa83b0fe4c57cf76a3fa62430de4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 17/23] cross-powerpc-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 85ea78c257f95..a73d324f40cc3 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From bc87e4a77d1f1bea7aa689ad23050c7ef309b559 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 18/23] cross-powerpc64-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template
index aaab613d01e9b..0719663f235a0 100644
--- a/srcpkgs/cross-powerpc64-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpc-linux"
+ --enable-targets=powerpc-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From ea57ea5c3a2a01707ff0c9c6258e1fb2db4d4aef Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 19/23] cross-powerpc64-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 359557d3afb9c..5224e63219882 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 7c4f715611ff171e241234eff439b1ba6a77fae9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 20/23] cross-powerpc64le-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template
index 577fccc6c5f8d..8e6967c4e2e1b 100644
--- a/srcpkgs/cross-powerpc64le-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64le-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64le-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpcle-linux"
+ --enable-targets=powerpcle-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 339a49c9d2b970e8b98d987afbfbc4d1b0483843 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 21/23] cross-powerpc64le-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 57c07e1d780b4..f7edddfb10a29 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 5ea30438c85336ebfb1030e93935cc4ec1d53dee Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 22/23] cross-powerpcle-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template
index 340a50e2af411..b0523cb7adad3 100644
--- a/srcpkgs/cross-powerpcle-linux-gnu/template
+++ b/srcpkgs/cross-powerpcle-linux-gnu/template
@@ -5,9 +5,10 @@ _glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-gnu
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From a6b8bb2458fc8de8766fa87ade6e3b7747c6d99a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:53 +0200
Subject: [PATCH 23/23] cross-powerpcle-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 4749c8965cdb3..c764f44f739a7 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
                   ` (6 preceding siblings ...)
  2023-07-22 14:29 ` Johnnynator
@ 2023-07-24 20:30 ` Johnnynator
  2023-07-24 20:50 ` Johnnynator
  2023-07-26 21:27 ` [PR PATCH] [Merged]: " Johnnynator
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-24 20:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 575 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 146592 bytes --]

From 8c5f10b275d1ed9283c869334a30c9dfe42ce167 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 01/23] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From b74de2ff6d1564026004b2885d2c1e2b12218ebf Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 02/23] gcc: add riscv.

---
 srcpkgs/gcc/template | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..459c83368c18c 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -55,7 +55,7 @@ else
 fi
 makedepends="zlib-devel libzstd-devel"
 depends="binutils libgcc-devel-${version}_${revision}
- libstdc++-devel-${version}_${revision}"
+ libstdc++-devel-${version}_${revision} libatomic-devel-${version}_${revision}"
 checkdepends="dejagnu"
 
 subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From fb5b645d8311c4909d2863ec4664095eba778723 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 03/23] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 5fefa419fa3b5eb4f1c0d603053207f18e3bbaea Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 04/23] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index 0087cc2857855..8cc9d1f139bf3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From 8e46e1384494797eea98b469f371b5b29bded9eb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 05/23] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..ba527dd53999c
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.2.0
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ c6de7b191139142d3f9a7b5b702c9cae1b5ee6e7f57e582da9328629408fd4e8
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From a743e3dead49ef0cb86202734ed2e9b934e0ec51 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 06/23] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..9325168acb4cd 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -1,7 +1,7 @@
 # Template file for 'cross-vpkg-dummy'
 pkgname=cross-vpkg-dummy
 version=0.39
-revision=4
+revision=5
 build_style=meta
 depends="base-files>=0.126"
 short_desc="Dummy meta-pkg for cross building packages with xbps-src"
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

From 6398b322602c1bf2c9d951c31386cdc1afc59505 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:16 +0100
Subject: [PATCH 07/23] build-style/void-cross.sh: adjustments for
 --enable-autolink-libatomic.

---
 common/build-style/void-cross.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index d7da998ba354b..2e8ebb52ceaf9 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libmudflap \
 		--disable-libssp \
 		--disable-libitm \
-		--disable-libatomic \
+		--disable-libatomic --disable-autolink-libatomic \
 		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
@@ -377,6 +377,10 @@ _void_cross_build_gcc() {
 
 	msg_normal "Building gcc for ${tgt}\n"
 
+	# GIANT HACK: create an empty libatomic.a so gcc cross-compile
+	# below works.
+	ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
+
 	mkdir -p ${wrksrc}/gcc_build
 	cd ${wrksrc}/gcc_build
 

From 53cd1dc13304711d6a99ae89f4f7be4044b884b5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:03 +0200
Subject: [PATCH 08/23] cross-arm-linux-gnueabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index dbb8d90c8c244..c11560ff2a223 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From d5474abfa72834e47d4357e994d8ffe511f611a8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:21 +0200
Subject: [PATCH 09/23] cross-arm-linux-musleabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 8b25e9f7c365e..35e03b44b4f9a 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 89f1d12837a744e0895adec1f5548e357098a342 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:27 +0200
Subject: [PATCH 10/23] cross-arm-linux-musleabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index d6dca4e920d5a..af1683f13df36 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 66fc4fcaaede47f6e51ca8b364914ba8a3bbd0e0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:20:09 +0200
Subject: [PATCH 11/23] bulk: remove libatomic-devel in dependency fields

---
 srcpkgs/ART/template                  |  2 +-
 srcpkgs/Aegisub/template              |  1 -
 srcpkgs/Carla/template                |  4 ----
 srcpkgs/Clipboard/template            |  1 -
 srcpkgs/CubicSDR/template             |  1 -
 srcpkgs/EternalTerminal/template      |  4 ----
 srcpkgs/FreeRADIUS/template           |  4 ----
 srcpkgs/LGOGDownloader/template       |  4 ----
 srcpkgs/LimeSuite/template            |  4 ----
 srcpkgs/MEGAcmd/template              |  1 -
 srcpkgs/OpenRCT2/template             |  1 -
 srcpkgs/OpenSubdiv/template           |  1 -
 srcpkgs/QMPlay2/template              |  1 -
 srcpkgs/SuiteSparse/template          |  4 ----
 srcpkgs/abseil-cpp/template           |  1 -
 srcpkgs/ahoviewer/template            |  4 ----
 srcpkgs/akonadi5/template             |  4 ----
 srcpkgs/alembic/template              | 10 ++++------
 srcpkgs/android-tools/template        |  1 -
 srcpkgs/apr-util/template             |  1 -
 srcpkgs/apr/template                  |  1 -
 srcpkgs/arcan/template                |  1 -
 srcpkgs/ardour/template               |  1 -
 srcpkgs/audacity/template             |  1 -
 srcpkgs/bacula-common/template        |  3 ---
 srcpkgs/bcc/template                  |  4 ----
 srcpkgs/bees/template                 |  1 -
 srcpkgs/bind/template                 |  2 +-
 srcpkgs/cabbage/template              |  1 -
 srcpkgs/capnproto/template            |  1 -
 srcpkgs/ccache/template               |  4 ----
 srcpkgs/ccls/template                 |  1 -
 srcpkgs/cereal/template               |  1 -
 srcpkgs/chatterino2/template          |  1 -
 srcpkgs/chromium/template             |  4 ++--
 srcpkgs/cjs/template                  |  1 -
 srcpkgs/cmus/template                 |  1 -
 srcpkgs/conduit/template              |  1 -
 srcpkgs/corectrl/template             |  1 -
 srcpkgs/dhcp/template                 |  4 ----
 srcpkgs/difftastic/template           |  1 -
 srcpkgs/digikam/template              |  1 -
 srcpkgs/dosbox-staging/template       |  1 -
 srcpkgs/duperemove/template           |  2 +-
 srcpkgs/edbrowse/template             |  1 -
 srcpkgs/electron19/template           |  4 ++--
 srcpkgs/electron24/template           |  4 ++--
 srcpkgs/encfs/template                |  1 -
 srcpkgs/fairy-stockfish/template      |  1 -
 srcpkgs/ffmpeg/template               |  4 ----
 srcpkgs/ffms2/template                |  1 -
 srcpkgs/filezilla/template            |  4 ----
 srcpkgs/fio/template                  |  1 -
 srcpkgs/firefox-esr/template          |  2 +-
 srcpkgs/firefox/template              |  2 +-
 srcpkgs/fish-shell/template           |  4 ----
 srcpkgs/fplll/template                |  4 ----
 srcpkgs/fselect/template              |  1 -
 srcpkgs/fswatch/template              |  1 -
 srcpkgs/geonkick/template             |  1 -
 srcpkgs/giada/template                |  4 ----
 srcpkgs/gjs/template                  |  4 ----
 srcpkgs/glirc/template                |  1 -
 srcpkgs/glog/template                 |  1 -
 srcpkgs/glslViewer/template           |  4 ----
 srcpkgs/gnunet/template               |  4 ----
 srcpkgs/gnuradio/template             |  1 -
 srcpkgs/goxel/template                |  4 ----
 srcpkgs/grpc/template                 |  1 -
 srcpkgs/gzdoom/template               |  1 -
 srcpkgs/haproxy/template              |  2 +-
 srcpkgs/hedgewars/template            |  4 ++--
 srcpkgs/highway/template              |  1 -
 srcpkgs/i2pd/template                 |  3 +--
 srcpkgs/inkscape/template             |  4 ----
 srcpkgs/jack_capture/template         |  1 -
 srcpkgs/kdiff3/template               |  1 -
 srcpkgs/kismet/template               |  1 -
 srcpkgs/kiwix-lib/template            |  4 ----
 srcpkgs/kiwix-tools/template          |  4 ----
 srcpkgs/kjsembed/template             |  4 ----
 srcpkgs/kodi/template                 |  1 -
 srcpkgs/krita/template                |  4 ----
 srcpkgs/kross/template                |  4 ----
 srcpkgs/kwin/template                 |  3 +--
 srcpkgs/lc0/template                  |  4 ----
 srcpkgs/libdex/template               |  2 +-
 srcpkgs/libfilezilla/template         |  1 -
 srcpkgs/libjxl/template               |  1 -
 srcpkgs/libogre/template              |  2 +-
 srcpkgs/libopenshot-audio/template    |  1 -
 srcpkgs/libplacebo/template           |  1 -
 srcpkgs/libreoffice/template          |  4 ----
 srcpkgs/libtd/template                |  1 -
 srcpkgs/libtorrent-rasterbar/template |  7 -------
 srcpkgs/llvm12/template               |  2 +-
 srcpkgs/llvm15/template               |  2 +-
 srcpkgs/lms/template                  |  1 -
 srcpkgs/mariadb/template              |  4 ++--
 srcpkgs/mesa/template                 |  2 +-
 srcpkgs/mgba/template                 |  1 -
 srcpkgs/mlt/template                  |  2 +-
 srcpkgs/mlt7/template                 |  2 +-
 srcpkgs/mozc/template                 |  4 ----
 srcpkgs/mozjs102/template             |  1 -
 srcpkgs/mozjs78/template              |  1 -
 srcpkgs/mpv/template                  |  4 ----
 srcpkgs/musikcube/template            |  4 ----
 srcpkgs/netdata/template              |  1 -
 srcpkgs/nix/template                  |  4 ----
 srcpkgs/nodejs/template               |  4 ++--
 srcpkgs/nushell/template              |  2 +-
 srcpkgs/opencv/template               |  4 ----
 srcpkgs/opendht/template              |  4 ----
 srcpkgs/openimageio/template          |  4 ----
 srcpkgs/openmpi/template              |  1 -
 srcpkgs/openmw/template               |  1 -
 srcpkgs/openttd/template              |  4 ----
 srcpkgs/openvdb/template              |  1 -
 srcpkgs/pipewire/template             |  1 -
 srcpkgs/plocate/template              |  1 -
 srcpkgs/poedit/template               |  1 -
 srcpkgs/polybar/template              |  1 -
 srcpkgs/primesieve/template           |  4 ----
 srcpkgs/prometheus-cpp/template       |  2 +-
 srcpkgs/protobuf/template             |  3 +--
 srcpkgs/python3-grpcio-tools/template |  4 ----
 srcpkgs/python3-grpcio/template       |  4 ----
 srcpkgs/python3-pyqt6/template        |  4 ----
 srcpkgs/qpdf/template                 |  1 -
 srcpkgs/qt5-webengine/template        | 14 --------------
 srcpkgs/qt5-webkit/template           |  1 -
 srcpkgs/qt5/template                  |  7 -------
 srcpkgs/qt6-3d/template               |  3 +--
 srcpkgs/qt6-base/template             |  2 +-
 srcpkgs/qt6-tools/template            |  2 +-
 srcpkgs/qtcreator/template            |  1 -
 srcpkgs/qtox/template                 |  4 ----
 srcpkgs/quickjs/template              |  1 -
 srcpkgs/rawtherapee/template          |  2 +-
 srcpkgs/receivemidi/template          |  4 ----
 srcpkgs/redis/template                |  4 ----
 srcpkgs/renderdoc/template            |  1 -
 srcpkgs/retroshare/template           |  4 ----
 srcpkgs/rocksdb/template              |  4 ----
 srcpkgs/rubberband/template           |  1 -
 srcpkgs/rust/template                 |  5 -----
 srcpkgs/sendmidi/template             |  4 ----
 srcpkgs/snapcast/template             |  4 ----
 srcpkgs/solvespace/template           |  1 -
 srcpkgs/sonic-visualiser/template     |  4 ----
 srcpkgs/squid/template                |  1 -
 srcpkgs/srt/template                  |  4 ----
 srcpkgs/stockfish/template            |  1 -
 srcpkgs/supercollider/template        |  2 +-
 srcpkgs/supertuxkart/template         |  4 ----
 srcpkgs/swi-prolog/template           |  1 -
 srcpkgs/syntax-highlighting/template  |  3 +--
 srcpkgs/sysbench/template             |  4 ----
 srcpkgs/telegram-desktop/template     |  2 +-
 srcpkgs/thrift/template               |  4 ----
 srcpkgs/thunderbird/template          |  4 ----
 srcpkgs/tomahawk/template             |  4 ----
 srcpkgs/uhd/template                  |  1 -
 srcpkgs/vapoursynth/template          |  1 -
 srcpkgs/vkQuake/template              |  1 -
 srcpkgs/vtk/template                  |  4 ----
 srcpkgs/warzone2100/template          |  4 ----
 srcpkgs/watchexec/template            |  1 -
 srcpkgs/webkit2gtk/template           |  2 +-
 srcpkgs/wt/template                   |  1 -
 srcpkgs/xrootd/template               |  1 -
 srcpkgs/zfs/template                  |  4 ----
 173 files changed, 42 insertions(+), 391 deletions(-)

diff --git a/srcpkgs/ART/template b/srcpkgs/ART/template
index a15bf7a9bdd17..a86a304711e84 100644
--- a/srcpkgs/ART/template
+++ b/srcpkgs/ART/template
@@ -4,7 +4,7 @@ version=1.13
 revision=2
 build_style=cmake
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel exiv2-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Fork of RawTherapee with additional features"
diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index 671c74ca645a0..3744c3cc6529f 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -27,7 +27,6 @@ desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/Carla/template b/srcpkgs/Carla/template
index c383f7b3133eb..3f055ca1c8a2a 100644
--- a/srcpkgs/Carla/template
+++ b/srcpkgs/Carla/template
@@ -34,10 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	export LDFLAGS="-lfts"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$CROSS_BUILD" ]; then
 		vsed -i -e 's#\./carla-lv2-export#/usr/bin/carla-lv2-export#g' \
diff --git a/srcpkgs/Clipboard/template b/srcpkgs/Clipboard/template
index d6bb7e23f6970..c33fb45eb942e 100644
--- a/srcpkgs/Clipboard/template
+++ b/srcpkgs/Clipboard/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/Slackadays/Clipboard/archive/refs/tags/${version}.
 checksum=f7ceb2dbb76bc094ac8afbef97bdef0f1a9451ca7dd1a4a181f3b2a859a2f094
 
 if [ "${XBPS_TARGET_NO_ATOMIC8}" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index e5e26088e7f32..c224fc1379bf1 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -20,6 +20,5 @@ build_options="alsa pulseaudio jack"
 build_options_default="alsa pulseaudio"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 156eab6ce47ec..e738148fbe3f9 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv EternalTerminal-et-v${version} ${build_wrksrc}
 	mv sanitizers-cmake-${_sanitizers_gitrev}/* \
diff --git a/srcpkgs/FreeRADIUS/template b/srcpkgs/FreeRADIUS/template
index ee2059a373b46..13d2ef286e22c 100644
--- a/srcpkgs/FreeRADIUS/template
+++ b/srcpkgs/FreeRADIUS/template
@@ -15,10 +15,6 @@ nocross=yes # Not supported by upstream
 system_accounts="_freeradius"
 make_dirs="/etc/raddb 0750 _freeradius _freeradius"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_install() {
 	# FreeRADIUS uses 'R' instead of 'DESTDIR'
 	export R=${DESTDIR}
diff --git a/srcpkgs/LGOGDownloader/template b/srcpkgs/LGOGDownloader/template
index 37bb3b973594c..e749d635c5c29 100644
--- a/srcpkgs/LGOGDownloader/template
+++ b/srcpkgs/LGOGDownloader/template
@@ -19,10 +19,6 @@ checksum=01c9556287d5f49662c2219365b9d306482e8efadc805c3dbb9381d5110df719
 build_options="qt"
 desc_option_qt="Include QT WebEngine to support solving captchas"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ -z "$CROSS_BUILD" ]; then
 	hostmakedepends+=" help2man"
 fi
diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index 25a49c5ad71e4..fe963be85f860 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -45,10 +45,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 
diff --git a/srcpkgs/MEGAcmd/template b/srcpkgs/MEGAcmd/template
index e4e0e2ee13f6b..cd0dfaf6d5a1d 100644
--- a/srcpkgs/MEGAcmd/template
+++ b/srcpkgs/MEGAcmd/template
@@ -18,7 +18,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/OpenRCT2/template b/srcpkgs/OpenRCT2/template
index ceb69d829a39c..5866e44d12da9 100644
--- a/srcpkgs/OpenRCT2/template
+++ b/srcpkgs/OpenRCT2/template
@@ -77,7 +77,6 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/OpenSubdiv/template b/srcpkgs/OpenSubdiv/template
index ffc64637bd4d3..1ee7eead6dfe9 100644
--- a/srcpkgs/OpenSubdiv/template
+++ b/srcpkgs/OpenSubdiv/template
@@ -21,7 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/QMPlay2/template b/srcpkgs/QMPlay2/template
index 850df9d418b90..00a55417659f6 100644
--- a/srcpkgs/QMPlay2/template
+++ b/srcpkgs/QMPlay2/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/zaps166/QMPlay2/releases/download/${version}/QMPla
 checksum=dc57afc6e3299701508e5dbffa486d7956d6764420dcc0f22a0da8f7d07a2137
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index 3490f6f3fa7f2..73dabfa8950ee 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -23,10 +23,6 @@ case "$XBPS_TARGET_MACHINE" in
 	*) ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 do_build() {
 	make library \
 		JOBS=$XBPS_MAKEJOBS \
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index ea2fa2506873f..5fe16466deb2c 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -5,7 +5,6 @@ revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
 hostmakedepends="pkg-config"
-makedepends="libatomic-devel"
 short_desc="Abseil common libraries"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
diff --git a/srcpkgs/ahoviewer/template b/srcpkgs/ahoviewer/template
index 27aa75d2589fe..ebe27060b424a 100644
--- a/srcpkgs/ahoviewer/template
+++ b/srcpkgs/ahoviewer/template
@@ -17,10 +17,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=a14e32b4a8095c9f8b4b607c090a50cc8ac1076550e57b5a9303c54089068152
 nocross="https://travis-ci.org/void-linux/void-packages/jobs/490108528#L1022"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "ahoviewer_LDADD += -latomic" >> src/Makefile.am
diff --git a/srcpkgs/akonadi5/template b/srcpkgs/akonadi5/template
index b38d9fe0d6a70..9be306794db1f 100644
--- a/srcpkgs/akonadi5/template
+++ b/srcpkgs/akonadi5/template
@@ -20,10 +20,6 @@ homepage="https://community.kde.org/KDE_PIM/Akonadi"
 distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-${version}.tar.xz"
 checksum=5e91b86e895263b76d6f1f00cd9fcd8399d5a6c293581e629ab310fc72dfa6a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e "s;^\(target_link_libraries(.*\);\1 atomic;" -i src/server/CMakeLists.txt
diff --git a/srcpkgs/alembic/template b/srcpkgs/alembic/template
index 53ff7d48719f2..1fbc7b13fab88 100644
--- a/srcpkgs/alembic/template
+++ b/srcpkgs/alembic/template
@@ -18,13 +18,11 @@ case "$XBPS_TARGET_MACHINE" in
 	ppc*) broken="undefined reference to '__sync_bool_compare_and_swap_8'";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-
-	post_patch() {
+post_patch() {
+	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		printf '\ntarget_link_libraries(Alembic PRIVATE atomic)\n' >> lib/Alembic/CMakeLists.txt
-	}
-fi
+	fi
+}
 
 post_install() {
 	vlicense LICENSE.txt
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index b813474eace03..54012fa5e79b2 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -16,7 +16,6 @@ distfiles="https://github.com/nmeum/android-tools/releases/download/${version}/a
 checksum=60234ecbca19a17a7e2f46a4581960d645b7c55b870d924a21494c76a6f548ec
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/apr-util/template b/srcpkgs/apr-util/template
index f1cd4363365a8..17a94361cd32d 100644
--- a/srcpkgs/apr-util/template
+++ b/srcpkgs/apr-util/template
@@ -23,7 +23,6 @@ checksum=d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/apr/template b/srcpkgs/apr/template
index 6fb1fefd4f627..e546186592bd4 100644
--- a/srcpkgs/apr/template
+++ b/srcpkgs/apr/template
@@ -25,7 +25,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/arcan/template b/srcpkgs/arcan/template
index 7be9652eccf3c..853e16fcad391 100644
--- a/srcpkgs/arcan/template
+++ b/srcpkgs/arcan/template
@@ -46,7 +46,6 @@ if [ "$XBPS_TARGET_WORDSIZE" = "$XBPS_WORDSIZE" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/ardour/template b/srcpkgs/ardour/template
index f45d263565b46..ab16f26eedf4f 100644
--- a/srcpkgs/ardour/template
+++ b/srcpkgs/ardour/template
@@ -24,7 +24,6 @@ export PATH="/usr/libexec/chroot-git:$PATH"
 conf_files="/etc/ardour7/*"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index d509c0a894077..28e9c4a3528f1 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -24,7 +24,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/bacula-common/template b/srcpkgs/bacula-common/template
index 1be957d9ed668..a3d2f1da2d82e 100644
--- a/srcpkgs/bacula-common/template
+++ b/srcpkgs/bacula-common/template
@@ -17,9 +17,6 @@ checksum=a40d04d2c48135972cecb6578405e835c4b9d798c0950017de0fad40ca94e8a0
 alternatives="bacula-db-backend:/usr/lib/libbaccats-${version}.so:/usr/lib/libbaccats-sqlite3-${version}.so"
 shlib_provides="libbaccats-${version}.so"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
 CFLAGS="-Wno-narrowing"
 
 post_install() {
diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index ecedbd8e4bef6..d613acc78be95 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -15,10 +15,6 @@ distfiles="https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-
 checksum=65adcaf4cee17fa3a94d0bb96d3691ca7e5864244e7bd52df93f7ae6c004f23d
 python_version="3"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	sed -i '/tests/d' CMakeLists.txt  # break on musl
 	sed -i 's/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc
diff --git a/srcpkgs/bees/template b/srcpkgs/bees/template
index 5296bf7991378..423d9187e601e 100644
--- a/srcpkgs/bees/template
+++ b/srcpkgs/bees/template
@@ -23,7 +23,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/bind/template b/srcpkgs/bind/template
index 54493e5d9cf90..ac720ac0e1b79 100644
--- a/srcpkgs/bind/template
+++ b/srcpkgs/bind/template
@@ -10,7 +10,7 @@ configure_args="--disable-static --enable-largefile --with-libtool
  --with-libidn2 --disable-backtrace"
 hostmakedepends="automake libtool perl pkg-config"
 makedepends="openssl-devel libxml2-devel libcap-devel readline-devel mit-krb5-devel
- libatomic-devel libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
+ libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
 checkdepends="python3-pytest"
 short_desc="Berkeley Internet Name Domain server"
 maintainer="Randy McCaskill <randy@mccaskill.us>"
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index f8cb9a31c2d86..911af80be28d7 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -31,7 +31,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS=" -latomic"
 fi
 
diff --git a/srcpkgs/capnproto/template b/srcpkgs/capnproto/template
index 5ab6e0a62cdcf..77652040538be 100644
--- a/srcpkgs/capnproto/template
+++ b/srcpkgs/capnproto/template
@@ -16,7 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index bd6a537d7cb12..dd8d1e704ab6e 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -20,10 +20,6 @@ if [ -n "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DENABLE_TESTING=ON"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ccache-${version}/* .
 }
diff --git a/srcpkgs/ccls/template b/srcpkgs/ccls/template
index ecc9f3e38a5d8..ec0597c9f6d85 100644
--- a/srcpkgs/ccls/template
+++ b/srcpkgs/ccls/template
@@ -13,6 +13,5 @@ distfiles="https://github.com/MaskRay/ccls/archive/${version}.tar.gz"
 checksum=af19be36597c2a38b526ce7138c72a64c7fb63827830c4cff92256151fc7a6f4
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/cereal/template b/srcpkgs/cereal/template
index 32644ae3f39e4..a790d1f42b1c6 100644
--- a/srcpkgs/cereal/template
+++ b/srcpkgs/cereal/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/USCiLab/cereal/archive/v${version}.tar.gz"
 checksum=16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/chatterino2/template b/srcpkgs/chatterino2/template
index 977fa9771498e..32454a86e9d6e 100644
--- a/srcpkgs/chatterino2/template
+++ b/srcpkgs/chatterino2/template
@@ -34,7 +34,6 @@ checksum="f1fff3523f5a3f633430d44f7ca6c6c718a515258d50004a855e69e4aa989b4e
  f9cf386638f455c5d2e7a835b95941201387d2531b8682942d59827663b58341"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 3eb657ab23d28..da966f5303796 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -7,13 +7,13 @@ archs="i686* x86_64* aarch64* armv7l*"
 hostmakedepends="
  $(vopt_if clang "clang lld llvm15")
  bison git gperf hwids ninja nodejs perl pkg-config python3
- libatomic-devel libepoxy-devel libevent-devel libglib-devel
+ libepoxy-devel libevent-devel libglib-devel
  rust"
 makedepends="
  alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel
  fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel
  libXcomposite-devel libXcursor-devel libXdamage-devel libXi-devel libXrandr-devel
- libatomic-devel libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
+ libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
  libexif-devel libflac-devel libgcrypt-devel libjpeg-turbo-devel libmtp-devel
  libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel
  libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel
diff --git a/srcpkgs/cjs/template b/srcpkgs/cjs/template
index b0fafe6603f8c..46bf5cb605166 100644
--- a/srcpkgs/cjs/template
+++ b/srcpkgs/cjs/template
@@ -23,7 +23,6 @@ checksum=212fa302f15ea955af6dc87fdba3898f751d078df91cb84b0e6615d5a2b84e15
 make_check=extended
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/cmus/template b/srcpkgs/cmus/template
index 0fcb424ce336c..0fdcec461c217 100644
--- a/srcpkgs/cmus/template
+++ b/srcpkgs/cmus/template
@@ -21,7 +21,6 @@ build_options_default="elogind"
 desc_option_elogind="Support MPRIS interface via elogind"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LDLIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/conduit/template b/srcpkgs/conduit/template
index 2f44e9d0f2e3d..1ab7a0df0d444 100644
--- a/srcpkgs/conduit/template
+++ b/srcpkgs/conduit/template
@@ -20,7 +20,6 @@ make_dirs="/var/lib/conduit 0700 _conduit _conduit
  /etc/conduit 755 _conduit _conduit"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/corectrl/template b/srcpkgs/corectrl/template
index b85385804faac..da0523eafb783 100644
--- a/srcpkgs/corectrl/template
+++ b/srcpkgs/corectrl/template
@@ -17,6 +17,5 @@ distfiles="${homepage}/-/archive/v${version}/corectrl-v${version}.tar.gz"
 checksum=6b8817ce1bb09257148e6d3f6196546724a8ea185fedfff70f302621ce36cc12
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
diff --git a/srcpkgs/dhcp/template b/srcpkgs/dhcp/template
index ca3423ce8833d..dee0043b9e67c 100644
--- a/srcpkgs/dhcp/template
+++ b/srcpkgs/dhcp/template
@@ -11,10 +11,6 @@ homepage="https://www.isc.org/downloads/dhcp"
 distfiles="http://ftp.isc.org/isc/dhcp/${version/P/-P}/dhcp-${version/P/-P}.tar.gz"
 checksum=b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 disable_parallel_build=yes
 conf_files="/etc/dhcpd.conf"
 
diff --git a/srcpkgs/difftastic/template b/srcpkgs/difftastic/template
index 2182ece1b6a76..769301f7b417b 100644
--- a/srcpkgs/difftastic/template
+++ b/srcpkgs/difftastic/template
@@ -12,7 +12,6 @@ distfiles="https://static.crates.io/crates/difftastic/difftastic-${version}.crat
 checksum=ff0b1d205396b2eb156bd56b4f361767c13a02a14db1b0c8c663e4ff16160f17
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 	if [ -z "$CROSS_BUILD" ]; then
 		broken="how is this supposed to even work"
diff --git a/srcpkgs/digikam/template b/srcpkgs/digikam/template
index 5c98ed64aada0..1cee24f3b60ef 100644
--- a/srcpkgs/digikam/template
+++ b/srcpkgs/digikam/template
@@ -35,7 +35,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
index 202f6a6911e22..f5483acab28a5 100644
--- a/srcpkgs/dosbox-staging/template
+++ b/srcpkgs/dosbox-staging/template
@@ -18,6 +18,5 @@ checksum=2ca69e65e6c181197b63388c60487a3bcea804232a28c44c37704e70d49a0392
 conflicts="dosbox"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/duperemove/template b/srcpkgs/duperemove/template
index d5ed8bea29fe4..03e02859cf62b 100644
--- a/srcpkgs/duperemove/template
+++ b/srcpkgs/duperemove/template
@@ -3,7 +3,7 @@ pkgname=duperemove
 version=0.11.2
 revision=1
 hostmakedepends="pkg-config"
-makedepends="sqlite-devel libglib-devel libgcrypt-devel libatomic-devel"
+makedepends="sqlite-devel libglib-devel libgcrypt-devel"
 short_desc="Tools for deduping file systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-only"
diff --git a/srcpkgs/edbrowse/template b/srcpkgs/edbrowse/template
index f5f78af47851f..947241eab2624 100644
--- a/srcpkgs/edbrowse/template
+++ b/srcpkgs/edbrowse/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/CMB/edbrowse/archive/v${version}.tar.gz"
 checksum=2c7f6a07e5897060527b6cc5c19c45106444e2c4d8c9799434973c352d9ce4e6
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	make_build_args+=" QUICKJS_LDFLAGS+=-latomic"
 fi
 
diff --git a/srcpkgs/electron19/template b/srcpkgs/electron19/template
index 32ce301e730cf..3093248588438 100644
--- a/srcpkgs/electron19/template
+++ b/srcpkgs/electron19/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/electron24/template b/srcpkgs/electron24/template
index bdaa56adc8a65..431ba6b0f8301 100644
--- a/srcpkgs/electron24/template
+++ b/srcpkgs/electron24/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/encfs/template b/srcpkgs/encfs/template
index d041dace80d3b..e3fb3539f650b 100644
--- a/srcpkgs/encfs/template
+++ b/srcpkgs/encfs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fairy-stockfish/template b/srcpkgs/fairy-stockfish/template
index e8df08b5afc70..7a3c512bc4364 100644
--- a/srcpkgs/fairy-stockfish/template
+++ b/srcpkgs/fairy-stockfish/template
@@ -36,7 +36,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index aa058aab9ca9f..ae26496e79293 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -51,10 +51,6 @@ if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
 	build_options_default+=" svtav1"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _apply_patch() {
 	local args="$1" pname="$(basename $2)"
 
diff --git a/srcpkgs/ffms2/template b/srcpkgs/ffms2/template
index 68e8a0c14bce3..bfeb9698ceb46 100644
--- a/srcpkgs/ffms2/template
+++ b/srcpkgs/ffms2/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index a8d1338d37e7f..c8d7feab7b4f5 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -21,10 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-gtk3-devel xdg-utils"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
diff --git a/srcpkgs/fio/template b/srcpkgs/fio/template
index 663bf2b08e3f4..5ca1157055e0c 100644
--- a/srcpkgs/fio/template
+++ b/srcpkgs/fio/template
@@ -20,7 +20,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/firefox-esr/template b/srcpkgs/firefox-esr/template
index 4d55e3ad54e77..2ddcc411b92eb 100644
--- a/srcpkgs/firefox-esr/template
+++ b/srcpkgs/firefox-esr/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template
index d29d5181a886b..875ca48580197 100644
--- a/srcpkgs/firefox/template
+++ b/srcpkgs/firefox/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/fish-shell/template b/srcpkgs/fish-shell/template
index 60f0f93412438..c5030d7b8d6d4 100644
--- a/srcpkgs/fish-shell/template
+++ b/srcpkgs/fish-shell/template
@@ -17,10 +17,6 @@ register_shell="/bin/fish /usr/bin/fish"
 # tests don't work as root
 make_check=ci-skip
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	# Starting with fish-3.0.0 this is a skeleton file with only comments
 	rm "${DESTDIR}/etc/fish/config.fish"
diff --git a/srcpkgs/fplll/template b/srcpkgs/fplll/template
index c53eee819b7b5..9843d46828414 100644
--- a/srcpkgs/fplll/template
+++ b/srcpkgs/fplll/template
@@ -12,10 +12,6 @@ changelog="https://github.com/fplll/fplll/releases"
 distfiles="https://github.com/fplll/fplll/releases/download/${version}/fplll-${version}.tar.gz"
 checksum=0fd9d378f04ff886d8864728baf5d90b8b0b82c1e541e92550644fb54f75691d
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 fplll-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/fselect/template b/srcpkgs/fselect/template
index 2aa8aa8bf435d..492c4b11d2720 100644
--- a/srcpkgs/fselect/template
+++ b/srcpkgs/fselect/template
@@ -19,7 +19,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fswatch/template b/srcpkgs/fswatch/template
index dfb86f7258195..d2f0039c6c379 100644
--- a/srcpkgs/fswatch/template
+++ b/srcpkgs/fswatch/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/emcrisostomo/fswatch/releases/download/${version}/
 checksum=c38e341c567f5f16bfa64b72fc48bba5e93873d8572522e670e6f320bbc2122f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/geonkick/template b/srcpkgs/geonkick/template
index 5f73484a3fb75..d7494a6ff5057 100644
--- a/srcpkgs/geonkick/template
+++ b/srcpkgs/geonkick/template
@@ -19,6 +19,5 @@ if [ ${CROSS_BUILD} ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS='-latomic'"
 fi
diff --git a/srcpkgs/giada/template b/srcpkgs/giada/template
index 558097e3a0e25..a7ac263ce2f3d 100644
--- a/srcpkgs/giada/template
+++ b/srcpkgs/giada/template
@@ -16,10 +16,6 @@ changelog="https://github.com/monocasual/giada/raw/master/ChangeLog"
 distfiles="https://github.com/monocasual/giada/archive/v${version}.tar.gz"
 checksum=b879f5ba7e9f34d7422aedd89d1d0baa91387b3528e057b4df25e1f2f8d661ef
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e '/list(APPEND LIBRARIES)/a list(APPEND LIBRARIES atomic)' -i CMakeLists.txt
diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index 8e8698e3388a2..3794571631f4b 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -18,10 +18,6 @@ distfiles="${GNOME_SITE}/gjs/${version%.*}/gjs-${version}.tar.xz"
 checksum=a63f156964b136053eab51ea013114e7d7c193b7518d28c040b6b02c3c933a6d
 make_check_pre="xvfb-run"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_CHECK_PKGS" ]; then
 	hostmakedepends+=" dbus"
 else
diff --git a/srcpkgs/glirc/template b/srcpkgs/glirc/template
index 98a677886ae1c..da205ec9810b9 100644
--- a/srcpkgs/glirc/template
+++ b/srcpkgs/glirc/template
@@ -16,7 +16,6 @@ nopie=yes	# ghc is currently built without PIE support
 _cabal_opts="-g"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	_cabal_opts+=" --ghc-option -latomic"
 fi
 
diff --git a/srcpkgs/glog/template b/srcpkgs/glog/template
index 441a149514fd8..07d7137bc77e1 100644
--- a/srcpkgs/glog/template
+++ b/srcpkgs/glog/template
@@ -18,7 +18,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/glslViewer/template b/srcpkgs/glslViewer/template
index e832b3df7b704..72707d14294fa 100644
--- a/srcpkgs/glslViewer/template
+++ b/srcpkgs/glslViewer/template
@@ -18,10 +18,6 @@ distfiles="https://github.com/patriciogonzalezvivo/glslViewer/archive/${version}
 checksum="4d8bac6a801fa61b81e472a8dabfe5469a43c44547d558849a078ed2c26c8034
  a71f149e84afdf12aa88555efef09d0e420c5d5c6ba9c2d67126ecc49fddaff0"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ${pkgname}-${version} ${build_wrksrc}
 	mv vera-${_vera_gitrev}/* ${build_wrksrc}/deps/vera
diff --git a/srcpkgs/gnunet/template b/srcpkgs/gnunet/template
index a8a6dabe66bab..1387a3cf6b37b 100644
--- a/srcpkgs/gnunet/template
+++ b/srcpkgs/gnunet/template
@@ -36,10 +36,6 @@ desc_option_jansson="Enable support for jansson"
 desc_option_opus="Enable support for opus"
 desc_option_zbar="Enable support for zbar"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	NOCONFIGURE=1 autoreconf -fi
 }
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 3308afa6e2c30..be803231f80d2 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -35,7 +35,6 @@ if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/goxel/template b/srcpkgs/goxel/template
index 636dd5f66a768..79268eaf8c1aa 100644
--- a/srcpkgs/goxel/template
+++ b/srcpkgs/goxel/template
@@ -13,10 +13,6 @@ homepage="https://guillaumechereau.github.io/goxel/"
 distfiles="https://github.com/guillaumechereau/goxel/archive/v${version}.tar.gz"
 checksum=e3825625e1af9f58593695b0129e39f68a8f3c7d5696c096b8ed2d8b9ac69430
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_build() {
 	if [ "$CROSS_BUILD" ];then
 		vsed -i SConstruct \
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 9c58c2509bee7..f5afad92794ed 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/gzdoom/template b/srcpkgs/gzdoom/template
index 781616f36a931..8991a8a415ce1 100644
--- a/srcpkgs/gzdoom/template
+++ b/srcpkgs/gzdoom/template
@@ -27,7 +27,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/haproxy/template b/srcpkgs/haproxy/template
index 635755fe4173d..c6578e0fc1dcf 100644
--- a/srcpkgs/haproxy/template
+++ b/srcpkgs/haproxy/template
@@ -5,7 +5,7 @@ revision=1
 build_style=gnu-makefile
 make_install_args="SBINDIR=${DESTDIR}/usr/bin DOCDIR=${DESTDIR}/usr/share/doc/${pkgname}"
 hostmakedepends="lua53-devel"
-makedepends="libatomic-devel openssl-devel lua53-devel pcre2-devel"
+makedepends="openssl-devel lua53-devel pcre2-devel"
 checkdepends="curl varnish"
 short_desc="Reliable, high performance TCP/HTTP load balancer"
 maintainer="Zach Dykstra <dykstra.zachary@gmail.com>"
diff --git a/srcpkgs/hedgewars/template b/srcpkgs/hedgewars/template
index 419f29b98b44d..15a1df6d8861d 100644
--- a/srcpkgs/hedgewars/template
+++ b/srcpkgs/hedgewars/template
@@ -35,8 +35,8 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ -n "$_use_c_engine" ]; then
-	hostmakedepends+=" glew-devel libatomic-devel ghc clang"
-	makedepends+=" glew-devel libatomic-devel"
+	hostmakedepends+=" glew-devel ghc clang"
+	makedepends+=" glew-devel"
 	configure_args+=" -DBUILD_ENGINE_C=1"
 	nopie_files+=" /usr/bin/hedgewars"
 fi
diff --git a/srcpkgs/highway/template b/srcpkgs/highway/template
index 47c51ec1d6165..4d6898b62c746 100644
--- a/srcpkgs/highway/template
+++ b/srcpkgs/highway/template
@@ -4,7 +4,6 @@ version=1.0.4
 revision=1
 build_style=cmake
 configure_args="-DHWY_SYSTEM_GTEST=ON -DHWY_ENABLE_EXAMPLES=OFF"
-makedepends="libatomic-devel"
 checkdepends="gtest-devel"
 short_desc="C++ library providing portable SIMD/vector intrinsics"
 maintainer="Joshua Krämer <joshua@kraemer.link>"
diff --git a/srcpkgs/i2pd/template b/srcpkgs/i2pd/template
index f4e21928b9dcc..8cfa4dd9a4954 100644
--- a/srcpkgs/i2pd/template
+++ b/srcpkgs/i2pd/template
@@ -4,8 +4,7 @@ version=2.48.0
 revision=1
 build_style=gnu-makefile
 make_build_args="USE_UPNP=yes"
-makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel
- libatomic-devel"
+makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel"
 short_desc="Full-featured C++ implementation of I2P client"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/inkscape/template b/srcpkgs/inkscape/template
index aa1ab218a442c..49633b61fd861 100644
--- a/srcpkgs/inkscape/template
+++ b/srcpkgs/inkscape/template
@@ -24,10 +24,6 @@ distfiles="https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.
 checksum=a0c7fd0d03c0a21535e648ef301dcf80dd7cfc1f3545e51065fbf1ba3ee8a5c4
 python_version=3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_LIBC" = musl ]; then
 		# disable errors for missing sentinels in glib variadic functions,
diff --git a/srcpkgs/jack_capture/template b/srcpkgs/jack_capture/template
index 5b604fdb2ed50..b5c59179d8d15 100644
--- a/srcpkgs/jack_capture/template
+++ b/srcpkgs/jack_capture/template
@@ -14,7 +14,6 @@ checksum=21afb0257ed7437708cc9e5bec2f6299599461b7eec8bf66967d8ecadb0751de
 CFLAGS+=" -D__USE_GNU"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/kdiff3/template b/srcpkgs/kdiff3/template
index 7ca6d77c9de2d..439abb790839a 100644
--- a/srcpkgs/kdiff3/template
+++ b/srcpkgs/kdiff3/template
@@ -19,6 +19,5 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ $XBPS_TARGET_NO_ATOMIC8 ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 46cbf7b318116..5ede09fb77532 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -20,6 +20,5 @@ checksum=2149cceac5526508653f4d02dcf7a694e3da3dc000a2372a1ee4bf9988279781
 system_groups="kismet"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/kiwix-lib/template b/srcpkgs/kiwix-lib/template
index 6534f59384a53..4b8fa31866db7 100644
--- a/srcpkgs/kiwix-lib/template
+++ b/srcpkgs/kiwix-lib/template
@@ -14,10 +14,6 @@ changelog="https://github.com/kiwix/kiwix-lib/blob/${version}/ChangeLog"
 distfiles="https://sources.voidlinux-ppc.org/kiwix-lib-${version}/${version}.tar.gz"
 checksum=f76bfa90411c52d4d8c49ac5767928fc28d01ef26916d72df4856cf08b064202
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kiwix-lib-devel_package() {
 	short_desc+=" - development packages"
 	depends="pugixml-devel icu-devel xapian-core-devel libzim-devel
diff --git a/srcpkgs/kiwix-tools/template b/srcpkgs/kiwix-tools/template
index e9f0841b61aea..300aba74fecae 100644
--- a/srcpkgs/kiwix-tools/template
+++ b/srcpkgs/kiwix-tools/template
@@ -13,10 +13,6 @@ changelog="https://github.com/kiwix/kiwix-tools/blob/${version}/Changelog"
 distfiles="https://github.com/kiwix/kiwix-tools/archive/${version}.tar.gz"
 checksum=86325ec31976d40357f08c520806cf223fa1b0a5edb02ad106c2a0d6746ca364
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" kiwix-lib-devel"
 fi
diff --git a/srcpkgs/kjsembed/template b/srcpkgs/kjsembed/template
index 1dcfd1d8338e6..6c3b334e85942 100644
--- a/srcpkgs/kjsembed/template
+++ b/srcpkgs/kjsembed/template
@@ -16,10 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-host-tools qt5-qmake kdoctools"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kjsembed-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index 8057964d78a38..bd5433969db64 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -96,7 +96,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template
index 8280590f39efc..420783517167f 100644
--- a/srcpkgs/krita/template
+++ b/srcpkgs/krita/template
@@ -32,10 +32,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) makedepends+=" vc";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	# CMake won't search in those directories because of CMAKE_FIND_ROOT_PATH
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/kross/template b/srcpkgs/kross/template
index 49bc5f603ed85..0f287825f7ae6 100644
--- a/srcpkgs/kross/template
+++ b/srcpkgs/kross/template
@@ -15,10 +15,6 @@ homepage="https://invent.kde.org/frameworks/kross"
 distfiles="${KDE_SITE}/frameworks/${version%.*}/portingAids/${pkgname}-${version}.tar.xz"
 checksum=3f0eac7ceaf22fae6202efb66b73e192b781e5733566cbf3362d82be8e8cbe8e
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kross-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kwin/template b/srcpkgs/kwin/template
index c530ec5ea57d6..91a1176995720 100644
--- a/srcpkgs/kwin/template
+++ b/srcpkgs/kwin/template
@@ -13,8 +13,7 @@ makedepends="plasma-framework-devel kcmutils-devel knewstuff-devel
  kscreenlocker-devel kinit-devel xcb-util-cursor-devel qt5-multimedia-devel
  kdecoration-devel libxkbcommon-devel libinput-devel libSM-devel
  libICE-devel xcb-util-wm-devel qt5-sensors-devel lcms2-devel
- pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids
- libatomic-devel"
+ pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids"
 depends="breeze hicolor-icon-theme kinit qt5-core>=5.15.2<5.16.0
  hwids libcap-progs"
 short_desc="KDE Window manager"
diff --git a/srcpkgs/lc0/template b/srcpkgs/lc0/template
index 9e419aa99689a..01ad362471c70 100644
--- a/srcpkgs/lc0/template
+++ b/srcpkgs/lc0/template
@@ -27,10 +27,6 @@ if [ "$CROSS_BUILD" ] && [ "$build_option_openblas" ]; then
 	configure_args+=" -Dopenblas_include=${XBPS_CROSS_BASE}/usr/include/openblas/"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc*) export CXXFLAGS+=" -DNO_WARN_X86_INTRINSICS";;
 esac
diff --git a/srcpkgs/libdex/template b/srcpkgs/libdex/template
index 4c6f15150f4a4..06b6c90365726 100644
--- a/srcpkgs/libdex/template
+++ b/srcpkgs/libdex/template
@@ -10,7 +10,7 @@ configure_args="-Dexamples=false
  $(vopt_bool vala vapi)"
 hostmakedepends="pkg-config glib-devel gettext
  $(vopt_if vala vala) $(vopt_if gtk_doc gi-docgen)"
-makedepends="glib-devel libgirepository-devel libatomic-devel
+makedepends="glib-devel libgirepository-devel
  liburing-devel $(vopt_if vala 'vala vala-devel')"
 short_desc="Future-based programming for GLib-based applications"
 maintainer="oreo639 <oreo6391@gmail.com>"
diff --git a/srcpkgs/libfilezilla/template b/srcpkgs/libfilezilla/template
index 3f14afac2e55a..ada549cb23f35 100644
--- a/srcpkgs/libfilezilla/template
+++ b/srcpkgs/libfilezilla/template
@@ -16,7 +16,6 @@ distfiles="https://download.filezilla-project.org/${pkgname}/${pkgname}-${versio
 checksum=2a8f57a06b52f6413b47d6a5dfbe7e9e31c84cc0784076f2f7e395232b0bd461
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index 8aa7c970accbb..a32e13469a280 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -26,7 +26,6 @@ checksum="c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420
 skip_extraction="skcms-${_skcms_hash}.tar.gz"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/libogre/template b/srcpkgs/libogre/template
index aa04d72212472..38e9cb9d52c6c 100644
--- a/srcpkgs/libogre/template
+++ b/srcpkgs/libogre/template
@@ -8,7 +8,7 @@ configure_args="-DOGRE_INSTALL_SAMPLES=TRUE -DOGRE_INSTALL_DOCS=TRUE
 make_build_target="all OgreDoc"
 hostmakedepends="pkg-config graphviz doxygen dejavu-fonts-ttf"
 makedepends="boost-devel freetype-devel libXaw-devel libXrandr-devel
- MesaLib-devel zziplib-devel libcppunit-devel glu-devel libatomic-devel
+ MesaLib-devel zziplib-devel libcppunit-devel glu-devel
  freeimage-devel pugixml-devel python3-devel"
 short_desc="Scene-oriented, flexible 3D engine"
 maintainer="Enno Boland <gottox@voidlinux.org>"
diff --git a/srcpkgs/libopenshot-audio/template b/srcpkgs/libopenshot-audio/template
index 99ed64a757f4e..deeb6fae494e2 100644
--- a/srcpkgs/libopenshot-audio/template
+++ b/srcpkgs/libopenshot-audio/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/OpenShot/libopenshot-audio/archive/v${version}.tar
 checksum=007ba6ee812a58506341dd66055dba575b3907e5274a0e7416f99c2fbb80021c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/libplacebo/template b/srcpkgs/libplacebo/template
index b58d978095d1a..9258c184247d5 100644
--- a/srcpkgs/libplacebo/template
+++ b/srcpkgs/libplacebo/template
@@ -16,7 +16,6 @@ distfiles="https://code.videolan.org/videolan/libplacebo/-/archive/v${version}/l
 checksum=7b3c857934ee3d30f743e43d7f0606e10950806661ea0ea385f8a1f06cbab854
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template
index bf5d7af39190a..35c83414acaf1 100644
--- a/srcpkgs/libreoffice/template
+++ b/srcpkgs/libreoffice/template
@@ -170,10 +170,6 @@ case "$XBPS_TARGET_MACHINE" in
 		;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS+=" -DGLM_ENABLE_EXPERIMENTAL -DU_USING_ICU_NAMESPACE=1"
 
 # Move files listed in a <name>_list.txt into $PKGDESTDIR
diff --git a/srcpkgs/libtd/template b/srcpkgs/libtd/template
index a54fe851decf6..68f7106dfebcb 100644
--- a/srcpkgs/libtd/template
+++ b/srcpkgs/libtd/template
@@ -19,7 +19,6 @@ fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
-	makedepends+=" libatomic-devel"
 fi
 
 pre_configure() {
diff --git a/srcpkgs/libtorrent-rasterbar/template b/srcpkgs/libtorrent-rasterbar/template
index b34c92df1ee24..297239391080b 100644
--- a/srcpkgs/libtorrent-rasterbar/template
+++ b/srcpkgs/libtorrent-rasterbar/template
@@ -19,10 +19,6 @@ CXXFLAGS="-std=c++14"
 
 # TODO: The test_resume failed in CI for i686 but passed with xbps-uunshare
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i CMakeLists.txt -e "s;Threads::Threads;& atomic;"
@@ -51,9 +47,6 @@ libtorrent-rasterbar-python3_package() {
 
 libtorrent-rasterbar-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision} openssl-devel boost-devel geoip-devel"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index aea0b43cf573b..86e86bb96c63f 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -27,7 +27,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm12>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/llvm15/template b/srcpkgs/llvm15/template
index 7eaadb18b9d65..81571270b03c3 100644
--- a/srcpkgs/llvm15/template
+++ b/srcpkgs/llvm15/template
@@ -32,7 +32,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm15>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/lms/template b/srcpkgs/lms/template
index d20ae1ec1fc86..2df52c51dbfe6 100644
--- a/srcpkgs/lms/template
+++ b/srcpkgs/lms/template
@@ -18,7 +18,6 @@ _lms_homedir="/var/lms"
 make_dirs="/var/lms 755 _lms _lms"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template
index 95e5eeb77d527..f8987e06ed1c6 100644
--- a/srcpkgs/mariadb/template
+++ b/srcpkgs/mariadb/template
@@ -19,7 +19,7 @@ configure_args="-DBUILD_CONFIG=mysql_release
  -DWITH_READLINE=ON -DWITH_SYSTEMD=no -DWITH_PCRE=system"
 hostmakedepends="bison perl flex pkg-config"
 makedepends="ncurses-devel gnutls-devel libaio-devel boost-devel pam-devel zlib-devel
- pcre2-devel libatomic-devel"
+ pcre2-devel"
 depends="perl"
 checkdepends="perl"
 short_desc="Fast SQL database server, drop-in replacement for MySQL"
@@ -83,7 +83,7 @@ libmariadbclient_package() {
 }
 
 libmariadbclient-devel_package() {
-	depends="libmariadbclient>=${version}_${revision} libatomic-devel"
+	depends="libmariadbclient>=${version}_${revision}"
 	provides="libmysqlclient-devel-${version}_${revision}"
 	replaces="libmysqlclient-devel>=0"
 	short_desc+=" - client development files"
diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index b07f38864ea8e..df788fe3b0f00 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -11,7 +11,7 @@ configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
 hostmakedepends="gettext flex llvm pkg-config python3-Mako glslang
  $(vopt_if wayland 'wayland-protocols wayland-devel')"
 makedepends="elfutils-devel expat-devel libXdamage-devel
- libXxf86vm-devel libatomic-devel libdrm-devel libffi-devel libva-devel
+ libXxf86vm-devel libdrm-devel libffi-devel libva-devel
  libvdpau-devel libxshmfence-devel ncurses-devel zlib-devel
  $(vopt_if wayland 'wayland-devel wayland-protocols') llvm libsensors-devel
  libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua53-devel
diff --git a/srcpkgs/mgba/template b/srcpkgs/mgba/template
index ae0504311eee0..4af085188bf44 100644
--- a/srcpkgs/mgba/template
+++ b/srcpkgs/mgba/template
@@ -15,7 +15,6 @@ distfiles="https://github.com/mgba-emu/${pkgname}/archive/${version}.tar.gz"
 checksum="60afef8fb79ba1f7be565b737bae73c6604a790391c737f291482a7422d675ae"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/mlt/template b/srcpkgs/mlt/template
index 8933eb4e7bb9e..5ad199461e694 100644
--- a/srcpkgs/mlt/template
+++ b/srcpkgs/mlt/template
@@ -11,7 +11,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which"
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel"
+ libvidstab-devel"
 depends="mlt-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/mlt7/template b/srcpkgs/mlt7/template
index 9fb7f60d692e1..df3e2c559ad6c 100644
--- a/srcpkgs/mlt7/template
+++ b/srcpkgs/mlt7/template
@@ -9,7 +9,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel qt5-svg-devel"
+ libvidstab-devel qt5-svg-devel"
 depends="mlt7-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index e7735cb57f4fc..991c06425b436 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -40,10 +40,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="Does not build"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv mozc-* mozc
 
diff --git a/srcpkgs/mozjs102/template b/srcpkgs/mozjs102/template
index 4bbc084b5a44d..2bb2d3e7287a1 100644
--- a/srcpkgs/mozjs102/template
+++ b/srcpkgs/mozjs102/template
@@ -25,7 +25,6 @@ checksum=47f8f6243bce8c2ef51adf8c9626bbf643e1c225dcb9ba5653a055ed5e76ca48
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
index 10d9af44619f7..8e7175156669c 100644
--- a/srcpkgs/mozjs78/template
+++ b/srcpkgs/mozjs78/template
@@ -21,7 +21,6 @@ CXXFLAGS="-Wno-class-memaccess"
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mpv/template b/srcpkgs/mpv/template
index d4fefbf5e3c7c..80a5d524d9e67 100644
--- a/srcpkgs/mpv/template
+++ b/srcpkgs/mpv/template
@@ -43,10 +43,6 @@ changelog="https://github.com/mpv-player/mpv/releases"
 distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
 checksum=41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2
  sndio vapoursynth vdpau vulkan wayland x11"
 build_options_default="alsa jack lcms lua pulseaudio pipewire vdpau vulkan
diff --git a/srcpkgs/musikcube/template b/srcpkgs/musikcube/template
index 7c569303c0543..193cb06a5fadb 100644
--- a/srcpkgs/musikcube/template
+++ b/srcpkgs/musikcube/template
@@ -24,10 +24,6 @@ build_options_default="elogind"
 
 export CMAKE_GENERATOR="Unix Makefiles"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.txt
 }
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 176bcf26d8c53..2d670e5e284ed 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -37,7 +37,6 @@ system_accounts="_netdata"
 conf_files="/etc/${pkgname}/*.conf"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/nix/template b/srcpkgs/nix/template
index 20eb0d85fdaf4..06f34d6e9a0f1 100644
--- a/srcpkgs/nix/template
+++ b/srcpkgs/nix/template
@@ -62,10 +62,6 @@ make_dirs="
 	/nix/var/nix/db 0755 root root
 	/nix/store 1775 root nixbld"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	./bootstrap.sh
 }
diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template
index aa03b7f48c27e..31268b558f81b 100644
--- a/srcpkgs/nodejs/template
+++ b/srcpkgs/nodejs/template
@@ -3,10 +3,10 @@ pkgname=nodejs
 version=18.16.0
 revision=2
 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079
-hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel
+hostmakedepends="which pkg-config python3 zlib-devel
  $(vopt_if icu icu-devel) $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
-makedepends="libatomic-devel zlib-devel $(vopt_if icu icu-devel)
+makedepends="zlib-devel $(vopt_if icu icu-devel)
  $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
 checkdepends="procps-ng iana-etc"
diff --git a/srcpkgs/nushell/template b/srcpkgs/nushell/template
index c0ea4d3a94e0b..8bcb50e307c86 100644
--- a/srcpkgs/nushell/template
+++ b/srcpkgs/nushell/template
@@ -6,7 +6,7 @@ build_style=cargo
 configure_args="--features=extra"
 hostmakedepends="pkg-config python3 libgit2-devel"
 makedepends="openssl-devel libgit2-devel libX11-devel libxcb-devel
- libatomic-devel libcurl-devel libzstd-devel liblz4-devel zlib-devel
+ libcurl-devel libzstd-devel liblz4-devel zlib-devel
  nghttp2-devel bzip2-devel sqlite-devel"
 short_desc="Modern shell for the GitHub era"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 69c635b1ad2bc..62226978fa3e0 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -30,10 +30,6 @@ patch_args="-Np1 -d ${build_wrksrc}"
 # tests hang indenfinitely, even with test data included
 make_check=no
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
diff --git a/srcpkgs/opendht/template b/srcpkgs/opendht/template
index 2902fc6d4a701..25d74d1138c6b 100644
--- a/srcpkgs/opendht/template
+++ b/srcpkgs/opendht/template
@@ -14,10 +14,6 @@ homepage="https://github.com/savoirfairelinux/opendht"
 distfiles="https://github.com/savoirfairelinux/opendht/archive/refs/tags/v${version}.tar.gz"
 checksum=5144bc4456d396b527b59065064bbc31fbe0d2af5fd052506219a66895791e64
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 opendht-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision} gnutls-devel nettle-devel"
diff --git a/srcpkgs/openimageio/template b/srcpkgs/openimageio/template
index 0e9e22e9685d9..69a9e23786942 100644
--- a/srcpkgs/openimageio/template
+++ b/srcpkgs/openimageio/template
@@ -27,10 +27,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) configure_args+=" -DUSE_SIMD=sse2" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.md LICENSE
 }
diff --git a/srcpkgs/openmpi/template b/srcpkgs/openmpi/template
index 291225502c4f1..77038695442e7 100644
--- a/srcpkgs/openmpi/template
+++ b/srcpkgs/openmpi/template
@@ -28,7 +28,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/openmw/template b/srcpkgs/openmw/template
index 70a9ec64a4cd8..3462591ec174f 100644
--- a/srcpkgs/openmw/template
+++ b/srcpkgs/openmw/template
@@ -30,7 +30,6 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/openttd/template b/srcpkgs/openttd/template
index 4bfb9a56c0768..40596ac750b28 100644
--- a/srcpkgs/openttd/template
+++ b/srcpkgs/openttd/template
@@ -34,10 +34,6 @@ checksum="aafa16d2fb67165134c73a888f79f7a5ed7da17a04cf6e9ecf672c9cb89e7192
  e0a218b7dd9438e701503b0f84c25a97c1c11b7c2f025323fb19d6db16ef3759
  5a4277a2e62d87f2952ea5020dc20fb2f6ffafdccf9913fbf35ad45ee30ec762"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	bsdtar xf opengfx-${_gfxver}.tar
 	bsdtar xf opensfx-${_sfxver}.tar
diff --git a/srcpkgs/openvdb/template b/srcpkgs/openvdb/template
index 0084a3cb85bae..30a61927059d9 100644
--- a/srcpkgs/openvdb/template
+++ b/srcpkgs/openvdb/template
@@ -23,7 +23,6 @@ if [ "$XBPS_WORDSIZE" -eq 32 ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index eacba5647d8e6..a24ce15e5970e 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -45,7 +45,6 @@ desc_option_ffado="Enable support for FireWire based audio devices"
 replaces="libpulseaudio-pipewire>=0"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/plocate/template b/srcpkgs/plocate/template
index bc37ca01e9740..32a64971a2699 100644
--- a/srcpkgs/plocate/template
+++ b/srcpkgs/plocate/template
@@ -26,7 +26,6 @@ alternatives="
  locate:updatedb.conf.5:/usr/share/man/man5/pupdatedb.conf.5"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index f27cb3e5dbeff..377183469ae74 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/polybar/template b/srcpkgs/polybar/template
index b59ed9cd039a8..10d3ffa4ba75f 100644
--- a/srcpkgs/polybar/template
+++ b/srcpkgs/polybar/template
@@ -38,7 +38,6 @@ desc_option_mpd="Enable support for MPD"
 desc_option_network="Enable support for network"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/primesieve/template b/srcpkgs/primesieve/template
index 84452b604d55f..eb8b48b9ad31f 100644
--- a/srcpkgs/primesieve/template
+++ b/srcpkgs/primesieve/template
@@ -12,10 +12,6 @@ changelog="https://raw.githubusercontent.com/kimwalisch/primesieve/master/Change
 distfiles="https://github.com/kimwalisch/primesieve/archive/refs/tags/v${version}.tar.gz"
 checksum=bab3bc4a1f3247f95b83dfc494ab0ce37a370a7b05379640f58e786d8d5fba61
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense COPYING
 }
diff --git a/srcpkgs/prometheus-cpp/template b/srcpkgs/prometheus-cpp/template
index 3012d53ef47a6..d0a4f97698010 100644
--- a/srcpkgs/prometheus-cpp/template
+++ b/srcpkgs/prometheus-cpp/template
@@ -8,7 +8,7 @@ _hash_civetweb=fbdee7440be24f904208c15a1fc9e2582b866049
 create_wrksrc=yes
 build_style=cmake
 hostmakedepends="telegraf protobuf"
-makedepends="protobuf-devel libatomic-devel"
+makedepends="protobuf-devel"
 short_desc="Prometheus Client Library in Modern C++"
 maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="MIT"
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 828c4b050fdca..a0bfce84c0c1f 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -8,8 +8,7 @@ configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
  -Dprotobuf_BUILD_TESTS=OFF"
 # XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
 hostmakedepends="pkg-config"
-makedepends="zlib-devel gtest-devel libatomic-devel
- abseil-cpp-devel"
+makedepends="zlib-devel gtest-devel abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/python3-grpcio-tools/template b/srcpkgs/python3-grpcio-tools/template
index e36b420967f64..fba74665b9062 100644
--- a/srcpkgs/python3-grpcio-tools/template
+++ b/srcpkgs/python3-grpcio-tools/template
@@ -16,10 +16,6 @@ checksum=84cc64e5b46bad43d5d7bd2fd772b656eba0366961187a847e908e2cb735db91
 
 export GRPC_PYTHON_BUILD_WITH_CYTHON=1
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_check() {
 	# Subprocesses fail to find the compiled extension when only
 	# PYTHONPATH is set, so copy the extension into to source tree
diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 25ea3fc346208..25662e963632e 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -14,10 +14,6 @@ homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
 checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
diff --git a/srcpkgs/python3-pyqt6/template b/srcpkgs/python3-pyqt6/template
index 2cf8da5e62b50..881668fd7a1f9 100644
--- a/srcpkgs/python3-pyqt6/template
+++ b/srcpkgs/python3-pyqt6/template
@@ -20,10 +20,6 @@ distfiles="$PYPI_SITE/P/PyQt6/PyQt6-$version.tar.gz"
 checksum=b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc
 lib32disabled=yes
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # Split like qt6, but keep qt6-core in main pkg
 
 python3-pyqt6-core-devel_package() {
diff --git a/srcpkgs/qpdf/template b/srcpkgs/qpdf/template
index 5e16b8b5d050a..46bddaf810736 100644
--- a/srcpkgs/qpdf/template
+++ b/srcpkgs/qpdf/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/qpdf/qpdf/archive/refs/tags/v${version}.tar.gz"
 checksum=0e15aaed511928a3d0f5a416e6521640a561a8ce522c574f93ef6472915151f3
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/qt5-webengine/template b/srcpkgs/qt5-webengine/template
index edeb07f1ab7a7..679d0fa2ad84b 100644
--- a/srcpkgs/qt5-webengine/template
+++ b/srcpkgs/qt5-webengine/template
@@ -60,24 +60,10 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 	broken="webengine only supports little endian"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
-# ppc64 still needs libatomic here, as does s390x but we don't have that
-case "$XBPS_MACHINE" in
-	ppc64*) hostmakedepends+=" libatomic-devel"
-esac
-
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
-case "$XBPS_TARGET_MACHINE" in
-	ppc64*) makedepends+=" libatomic-devel" ;;
-esac
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*-musl) makedepends+=" libucontext-devel" ;;
 esac
diff --git a/srcpkgs/qt5-webkit/template b/srcpkgs/qt5-webkit/template
index b66658071d43d..4ea5f11b1fc0a 100644
--- a/srcpkgs/qt5-webkit/template
+++ b/srcpkgs/qt5-webkit/template
@@ -41,7 +41,6 @@ esac
 
 # some platforms need libatomic
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index d3821efbe3784..86ea3ec2c11b9 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -49,10 +49,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" postgresql-libs-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _cleanup_wrksrc_leak() {
 	if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then
 		# Replace references to ${wrksrc} in cmake files
@@ -1075,9 +1071,6 @@ qt5-devel_package() {
 		qt5-network-${version}_${revision}
 		qt5-xml-${version}_${revision}
 		qt5-host-tools-${version}_${revision}"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - Development files"
 	# qt5-enginio-devel is gone
 	pkg_install() {
diff --git a/srcpkgs/qt6-3d/template b/srcpkgs/qt6-3d/template
index 4b7fbee0562e4..cce8faba43362 100644
--- a/srcpkgs/qt6-3d/template
+++ b/srcpkgs/qt6-3d/template
@@ -4,8 +4,7 @@ version=6.5.0
 revision=1
 build_style=cmake
 hostmakedepends="perl qt6-declarative-host-tools"
-makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel
- libatomic-devel"
+makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel"
 short_desc="Cross-platform application and UI framework - 3d"
 maintainer="John <me@johnnynator.dev>"
 license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
diff --git a/srcpkgs/qt6-base/template b/srcpkgs/qt6-base/template
index c2e526cf9c223..891d14580c73a 100644
--- a/srcpkgs/qt6-base/template
+++ b/srcpkgs/qt6-base/template
@@ -23,7 +23,7 @@ makedepends="zlib-devel libzstd-devel dbus-devel
  xcb-util-renderutil-devel xcb-util-wm-devel
  MesaLib-devel pcre2-devel icu-devel mtdev-devel harfbuzz-devel
  libpng-devel tslib-devel libinput-devel gtk+3-devel
- libmariadbclient-devel postgresql-libs-devel libatomic-devel
+ libmariadbclient-devel postgresql-libs-devel
  unixodbc-devel cups-devel libproxy-devel brotli-devel
  sqlite-devel Vulkan-Headers mit-krb5-devel vulkan-loader libb2-devel
  xcb-util-cursor-devel"
diff --git a/srcpkgs/qt6-tools/template b/srcpkgs/qt6-tools/template
index 2d13e8974409c..2166d4aa633ff 100644
--- a/srcpkgs/qt6-tools/template
+++ b/srcpkgs/qt6-tools/template
@@ -9,7 +9,7 @@ configure_args="-DEXTERNAL_GUMBO=ON -DLITEHTML_UTF8=ON -DUSE_ICU=ON
  -DQT_FEATURE_distancefieldgenerator=ON"
 hostmakedepends="qt6-base perl qt6-plugin-sqlite clang llvm clang-tools-extra
  qt6-declarative-host-tools"
-makedepends="qt6-base-devel libatomic-devel qt6-plugin-sqlite qt6-declarative-devel
+makedepends="qt6-base-devel qt6-plugin-sqlite qt6-declarative-devel
  gumbo-parser-devel icu-devel llvm clang-tools-extra"
 short_desc="Cross-platform application and UI framework (QT6) - qt6-tools component"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template
index 71beaceaf3b64..8438bb1229dd1 100644
--- a/srcpkgs/qtcreator/template
+++ b/srcpkgs/qtcreator/template
@@ -36,7 +36,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/qtox/template b/srcpkgs/qtox/template
index 16019d7eaec9e..39c643fecdb5a 100644
--- a/srcpkgs/qtox/template
+++ b/srcpkgs/qtox/template
@@ -23,7 +23,3 @@ checksum=cd0781241b4ea536da90ce8c72ad9f2aa9bbdf9fbae5d38ee645e30d790fa7f2
 build_options="snorenotify"
 build_options_default="snorenotify"
 desc_option_snorenotify="Enable support for desktop notifications"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
diff --git a/srcpkgs/quickjs/template b/srcpkgs/quickjs/template
index 562ca371bc5db..52e343d12ff81 100644
--- a/srcpkgs/quickjs/template
+++ b/srcpkgs/quickjs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export EXTRA_LIBS="-latomic"
 fi
diff --git a/srcpkgs/rawtherapee/template b/srcpkgs/rawtherapee/template
index 6745c96a109ae..463d9cfb3f127 100644
--- a/srcpkgs/rawtherapee/template
+++ b/srcpkgs/rawtherapee/template
@@ -5,7 +5,7 @@ revision=2
 build_style=cmake
 configure_args="-DCACHE_NAME_SUFFIX=\"\""
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Free RAW converter and digital photo processing software"
diff --git a/srcpkgs/receivemidi/template b/srcpkgs/receivemidi/template
index 7d83a46b3cb49..4f9a0b7566cd5 100644
--- a/srcpkgs/receivemidi/template
+++ b/srcpkgs/receivemidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/ReceiveMIDI/releases"
 distfiles="https://github.com/gbevin/ReceiveMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=54697ad1a723eea5e3f19ec3bf153795e765b278953dde8be7f350001637bc0a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/redis/template b/srcpkgs/redis/template
index 8e8ac83a965f7..39c45c443d30b 100644
--- a/srcpkgs/redis/template
+++ b/srcpkgs/redis/template
@@ -29,10 +29,6 @@ else
 	make_build_args+=" MALLOC=jemalloc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	vsed -i \
 		-e "s|^# bind 127.0.0.1|bind 127.0.0.1|" \
diff --git a/srcpkgs/renderdoc/template b/srcpkgs/renderdoc/template
index 39d51d2416770..b663608ce29ec 100644
--- a/srcpkgs/renderdoc/template
+++ b/srcpkgs/renderdoc/template
@@ -34,7 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DNEED_LIBATOMIC=ON"
 fi
 
diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template
index 8a0786c21a082..5fe0e45e4cb0b 100644
--- a/srcpkgs/retroshare/template
+++ b/srcpkgs/retroshare/template
@@ -20,10 +20,6 @@ checksum=c545b9249ac7dbfef72a2d636bc0f8b729c7ce05f21a54dd9284b2a387592d4a
 
 export CXXFLAGS="-std=c++14"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	for l in COPYING LICENSES/*; do
 		vlicense "$l"
diff --git a/srcpkgs/rocksdb/template b/srcpkgs/rocksdb/template
index 4da7dfcf0673f..eea463a6d1a9f 100644
--- a/srcpkgs/rocksdb/template
+++ b/srcpkgs/rocksdb/template
@@ -13,10 +13,6 @@ homepage="https://github.com/facebook/rocksdb"
 distfiles="https://github.com/facebook/rocksdb/archive/v${version}.tar.gz"
 checksum=886378093098a1b2521b824782db7f7dd86224c232cf9652fcaf88222420b292
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="assembler errors"
 fi
diff --git a/srcpkgs/rubberband/template b/srcpkgs/rubberband/template
index 04e4d91c0f105..32f1f9f160794 100644
--- a/srcpkgs/rubberband/template
+++ b/srcpkgs/rubberband/template
@@ -17,7 +17,6 @@ distfiles="https://breakfastquay.com/files/releases/rubberband-${version}.tar.bz
 checksum=82edacd0c50bfe56a6a85db1fcd4ca3346940ffe02843fc50f8b92f99a97d172
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 3331675ac2509..0d955b4a8d146 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -41,11 +41,6 @@ else
 	hostmakedepends+=" rust-bootstrap"
 fi
 
-# see https://github.com/rust-lang/rust/commit/1db81713f6475bebd0ae689ac7139c53d2843c48
-case "$XBPS_TARGET_MACHINE" in
-	armv*) makedepends+=" libatomic-devel" ;;
-esac
-
 # we need this because cargo verifies checksums of all files in vendor
 # crates when it builds and gives us no way to override or update the
 # file sanely... so just clear out the file list
diff --git a/srcpkgs/sendmidi/template b/srcpkgs/sendmidi/template
index 95b1862e1a619..2b44c25e7247a 100644
--- a/srcpkgs/sendmidi/template
+++ b/srcpkgs/sendmidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/SendMIDI/releases"
 distfiles="https://github.com/gbevin/SendMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=3fb3d16ee14784e057e633b6e57fede33ac291d9af85942106fde8b431e15740
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/snapcast/template b/srcpkgs/snapcast/template
index 2440d44d8f513..399882ada2065 100644
--- a/srcpkgs/snapcast/template
+++ b/srcpkgs/snapcast/template
@@ -21,10 +21,6 @@ checksum=c662c6eafbaa42a4797a4ed6ba4a7602332abf99f6ba6ea88ff8ae59978a86ba
 build_options="avahi pulseaudio"
 build_options_default="avahi pulseaudio"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vdoc README.md
 	vdoc doc/player_setup.md
diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index c406f9c72c155..3a7a68fc13bf9 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -22,7 +22,6 @@ checksum="ab4b3a5fecb1800f8eab82a92138a70227e869d2066ee881441b1e13035786dc
 nocross="https://travis-ci.org/bobertlo/void-packages/jobs/487251265"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/sonic-visualiser/template b/srcpkgs/sonic-visualiser/template
index 0f70214f8570a..f563ad3d40a63 100644
--- a/srcpkgs/sonic-visualiser/template
+++ b/srcpkgs/sonic-visualiser/template
@@ -16,10 +16,6 @@ changelog="https://raw.githubusercontent.com/sonic-visualiser/sonic-visualiser/d
 distfiles="https://github.com/sonic-visualiser/sonic-visualiser/releases/download/sv_v${version}/sonic-visualiser-${version}.tar.gz"
 checksum=0816e1ba9e3f97af495ece2554186bccad1cf47090ff8a13f1d08322212db487
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i "s/^general_link_args = \[\]/general_link_args = \['-latomic'\]/" meson.build
diff --git a/srcpkgs/squid/template b/srcpkgs/squid/template
index 49b9eb9d7b916..ca758380e900d 100644
--- a/srcpkgs/squid/template
+++ b/srcpkgs/squid/template
@@ -60,7 +60,6 @@ system_accounts="squid"
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/srt/template b/srcpkgs/srt/template
index 76a4d1055c7c5..3fa0bbcbddbdb 100644
--- a/srcpkgs/srt/template
+++ b/srcpkgs/srt/template
@@ -16,10 +16,6 @@ changelog="https://github.com/Haivision/srt/releases"
 distfiles="https://github.com/Haivision/srt/archive/refs/tags/v${version}.tar.gz"
 checksum=463970a3f575446b3f55abb6f323d5476c963c77b3c975cd902e9c87cdd9a92c
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 libsrt_package() {
 	depends="libsrt>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/stockfish/template b/srcpkgs/stockfish/template
index 363603f83d5a3..5203abfa66774 100644
--- a/srcpkgs/stockfish/template
+++ b/srcpkgs/stockfish/template
@@ -35,7 +35,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/supercollider/template b/srcpkgs/supercollider/template
index 42b58d5b6e3e7..7c147c4a59e77 100644
--- a/srcpkgs/supercollider/template
+++ b/srcpkgs/supercollider/template
@@ -6,7 +6,7 @@ build_style=cmake
 make_cmd=make
 configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON"
 hostmakedepends="emacs pkg-config qt5-host-tools qt5-qmake"
-makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel libatomic-devel
+makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel
  libsndfile-devel libXt-devel qt5-declarative-devel qt5-location-devel
  qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite
  qt5-plugin-tds qt5-sensors-devel qt5-tools-devel qt5-svg-devel
diff --git a/srcpkgs/supertuxkart/template b/srcpkgs/supertuxkart/template
index 47a962d24824d..85b54d559a317 100644
--- a/srcpkgs/supertuxkart/template
+++ b/srcpkgs/supertuxkart/template
@@ -19,10 +19,6 @@ changelog="https://raw.githubusercontent.com/supertuxkart/stk-code/master/CHANGE
 distfiles="https://github.com/supertuxkart/stk-code/releases/download/${version}/SuperTuxKart-${version}-src.tar.xz"
 checksum=9890392419baf4715313f14d5ad60746f276eed36eb580636caf44e2532c0f03
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 supertuxkart-data_package() {
 	short_desc+=" - data files"
 	pkg_install() {
diff --git a/srcpkgs/swi-prolog/template b/srcpkgs/swi-prolog/template
index 674f1505bf0d0..cf4715b1b5457 100644
--- a/srcpkgs/swi-prolog/template
+++ b/srcpkgs/swi-prolog/template
@@ -18,6 +18,5 @@ distfiles="http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz
 checksum=feb2815a51d34fa81cb34e8149830405935a7e1d1c1950461239750baa8b49f0
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
diff --git a/srcpkgs/syntax-highlighting/template b/srcpkgs/syntax-highlighting/template
index 70375ffe0b848..a954c8c38ddff 100644
--- a/srcpkgs/syntax-highlighting/template
+++ b/srcpkgs/syntax-highlighting/template
@@ -6,8 +6,7 @@ build_style=cmake
 configure_args="-DKATEHIGHLIGHTINGINDEXER_EXECUTABLE=/usr/libexec/${pkgname}/katehighlightingindexer"
 hostmakedepends="kcoreaddons extra-cmake-modules perl qt5-host-tools
  qt5-qmake qt5-tools qt5-devel qt5-tools-devel"
-makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel
- libatomic-devel"
+makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel"
 short_desc="Syntax highlighting engine for structured text and code"
 maintainer="John <me@johnnynator.dev>"
 license="LGPL-2.1-or-later"
diff --git a/srcpkgs/sysbench/template b/srcpkgs/sysbench/template
index e2fe7be0cc8b0..45e6ab6adb0d8 100644
--- a/srcpkgs/sysbench/template
+++ b/srcpkgs/sysbench/template
@@ -18,10 +18,6 @@ homepage="https://github.com/akopytov/sysbench"
 distfiles="https://github.com/akopytov/sysbench/archive/${version}.tar.gz"
 checksum=e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	autoreconf -fi
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index 22e46e4e95e15..19a6722f4697b 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config qt6-base python3 clang extra-cmake-modules
 makedepends="alsa-lib-devel boost-devel fmt-devel ffmpeg-devel gobject-introspection libdbusmenu-glib-devel libopenal-devel
  minizip-devel opus-devel xxHash-devel pulseaudio-devel range-v3
  qt6-svg-devel libva-devel rapidjson liblz4-devel liblzma-devel gtk+3-devel
- MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel libatomic-devel
+ MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel
  xcb-util-keysyms-devel $(vopt_if spellcheck hunspell-devel) protobuf-devel
  glibmm2.68-devel tg_owt webkit2gtk-devel rnnoise-devel jemalloc-devel qt6-declarative-devel"
 depends="qt6-imageformats ttf-opensans"
diff --git a/srcpkgs/thrift/template b/srcpkgs/thrift/template
index 1912cfb7ed333..4e0fbc519e64b 100644
--- a/srcpkgs/thrift/template
+++ b/srcpkgs/thrift/template
@@ -19,10 +19,6 @@ homepage="https://thrift.apache.org/"
 distfiles="https://github.com/apache/thrift/archive/v${version}.tar.gz"
 checksum=9cea30b9700153329ae1926cc05a20bbe3e8451ae270b0c8c5c5fe9929924cb3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	configure_args+=" -DBUILD_TESTING=OFF -DBUILD_TUTORIALS=OFF"
 fi
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 551e968ce984f..d26f88c3d7e0e 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -35,10 +35,6 @@ case $XBPS_TARGET_MACHINE in
 	ppc*) broken="xptcall bitrot" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # try to minimize memory usage via debug symbols
 # 'LLVM ERROR: out of memory' while compiling gtkrust
 if [ "$XBPS_WORDSIZE" = "32" ]; then
diff --git a/srcpkgs/tomahawk/template b/srcpkgs/tomahawk/template
index 341645af8e44c..cb6b40de7e907 100644
--- a/srcpkgs/tomahawk/template
+++ b/srcpkgs/tomahawk/template
@@ -39,10 +39,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS="-Wno-deprecated-declarations"
 
 tomahawk-devel_package() {
diff --git a/srcpkgs/uhd/template b/srcpkgs/uhd/template
index 46731dcdaf032..8645921e88d6f 100644
--- a/srcpkgs/uhd/template
+++ b/srcpkgs/uhd/template
@@ -32,7 +32,6 @@ else
 fi
 
 if [ "$_use_libatomic" = "yes" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index f9d3905ace6cf..4ceda6e7724ff 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
 checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/vkQuake/template b/srcpkgs/vkQuake/template
index 28c2a8d66e37b..876281c079071 100644
--- a/srcpkgs/vkQuake/template
+++ b/srcpkgs/vkQuake/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=b88d3dfc869d89820766e2dd18bdadb9681adfc4c9d05e09cbbebcc17ef1d150
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/vtk/template b/srcpkgs/vtk/template
index a1d61de2d1420..867554b13ac89 100644
--- a/srcpkgs/vtk/template
+++ b/srcpkgs/vtk/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	LDFLAGS="-lexecinfo"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	[ "$XBPS_TARGET_NO_ATOMIC8" ] || return 0
 
diff --git a/srcpkgs/warzone2100/template b/srcpkgs/warzone2100/template
index baf48548dd4a6..f8f23952f3f8b 100644
--- a/srcpkgs/warzone2100/template
+++ b/srcpkgs/warzone2100/template
@@ -17,10 +17,6 @@ distfiles="https://github.com/Warzone2100/${pkgname}/releases/download/${version
 checksum=01d608f6f9638e14d7c857df40ad339c1bfc207a05daafe7157ad8652a3405c3
 nocross="fails to detect SDL2 when cross-compiling"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "target_link_libraries(warzone2100 atomic)" >> CMakeLists.txt
diff --git a/srcpkgs/watchexec/template b/srcpkgs/watchexec/template
index a2fdc6e7e0454..4b8cf746d8066 100644
--- a/srcpkgs/watchexec/template
+++ b/srcpkgs/watchexec/template
@@ -12,7 +12,6 @@ distfiles="https://github.com/watchexec/watchexec/archive/refs/tags/v${version}.
 checksum=698ed1dc178279594542f325b23f321c888c9c12c1960fe11c0ca48ba6edad76
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template
index 15e98aaca3b0d..421fa8b2d0c83 100644
--- a/srcpkgs/webkit2gtk/template
+++ b/srcpkgs/webkit2gtk/template
@@ -26,7 +26,7 @@ makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
  libsoup-devel libsoup3-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
  dbus-glib-devel libwebp-devel gtk+3-devel gtk4-devel libgudev-devel
  libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
- woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel libavif-devel
+ woff2-devel freetype-devel libopenjpeg2-devel libavif-devel
  qt5-devel libmanette-devel libwpe-devel wpebackend-fdo-devel
  libgcrypt-devel libnuspell-devel libpsl-devel $(vopt_if x11 libXt-devel)
  $(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
diff --git a/srcpkgs/wt/template b/srcpkgs/wt/template
index de480ebb7dc6e..33a48ed75ffea 100644
--- a/srcpkgs/wt/template
+++ b/srcpkgs/wt/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/emweb/wt/archive/refs/tags/${version}.tar.gz"
 checksum=7090023d4fc4b6594bf4cb11072d9d3d775269327aece9a8993c7bbe46decb9d
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
index 10ed861b1391b..8e9851575bca8 100644
--- a/srcpkgs/xrootd/template
+++ b/srcpkgs/xrootd/template
@@ -21,5 +21,4 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
-	makedepends+=" libatomic-devel"
 fi
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index e53f25d270844..a1a9ea8d16c83 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -23,10 +23,6 @@ dkms_modules="zfs ${version}"
 
 replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
 	autoreconf -fi

From 8611ca58ff41f4fe0c005ab2940b26ba6aeacbe8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:51 +0200
Subject: [PATCH 12/23] cross-mips-linux-musl: use --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index 8865f6dc092b9..2c796a7c09cd7 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 5a8ff5d677bcdbd82a10a4774e27d1cd869f125c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 13/23] cross-mips-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 94691668dcf2f..7333d3b5d70cc 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From e62492256e693199fea1f1c4804772540010b53f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 14/23] cross-mipsel-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index a053fe5301538..992c6bc42e955 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 84f929d2d7fd4f8b86c2bdb12571d605838c214e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 15/23] cross-mipsel-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 29d7261e9b481..cde29e2129eef 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 788c1b595b1ab9a436e2649a7aca61799157fe9c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 16/23] cross-powerpc-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template
index 327f3f911eb5e..035dc50571a65 100644
--- a/srcpkgs/cross-powerpc-linux-gnu/template
+++ b/srcpkgs/cross-powerpc-linux-gnu/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From d5c55398ae62c85e6c196b1d1763f34f85e480c5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 17/23] cross-powerpc-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 85ea78c257f95..a73d324f40cc3 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 5d76ad20844970e05930bd1a4027ca6a0386c9ce Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 18/23] cross-powerpc64-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template
index aaab613d01e9b..0719663f235a0 100644
--- a/srcpkgs/cross-powerpc64-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpc-linux"
+ --enable-targets=powerpc-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 88194c571d91faec1830ccea1db70aed5f1d77e7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 19/23] cross-powerpc64-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 359557d3afb9c..5224e63219882 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 0863feace9a3c10aea78a120496e719bf1263f40 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 20/23] cross-powerpc64le-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template
index 577fccc6c5f8d..8e6967c4e2e1b 100644
--- a/srcpkgs/cross-powerpc64le-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64le-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64le-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpcle-linux"
+ --enable-targets=powerpcle-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 68babc6c6f566bb5de5b2093b334e46d504f4277 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 21/23] cross-powerpc64le-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 57c07e1d780b4..f7edddfb10a29 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From a56e8d92c3174d4eb3123c5a4afc8c0f0df49637 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 22/23] cross-powerpcle-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template
index 340a50e2af411..b0523cb7adad3 100644
--- a/srcpkgs/cross-powerpcle-linux-gnu/template
+++ b/srcpkgs/cross-powerpcle-linux-gnu/template
@@ -5,9 +5,10 @@ _glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-gnu
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 1fbfaa6a27c7810bc6e8dea8bdefb323af713e6d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:53 +0200
Subject: [PATCH 23/23] cross-powerpcle-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 4749c8965cdb3..c764f44f739a7 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
                   ` (7 preceding siblings ...)
  2023-07-24 20:30 ` [PR PATCH] [Updated] " Johnnynator
@ 2023-07-24 20:50 ` Johnnynator
  2023-07-26 21:27 ` [PR PATCH] [Merged]: " Johnnynator
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-24 20:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 575 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages riscv64gcc
https://github.com/void-linux/void-packages/pull/45183

Autolink libatomic, add riscv64 toolchains
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/45183.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-riscv64gcc-45183.patch --]
[-- Type: text/x-diff, Size: 146593 bytes --]

From 8c5f10b275d1ed9283c869334a30c9dfe42ce167 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 5 Mar 2022 18:03:37 +0100
Subject: [PATCH 01/23] gcc: use --enable-autolink-libatomic for platforms that
 often need atomics.

As explained in #35992, gcc often generates code that needs libatomic
on these platforms, so link to libatomic by default (as-needed).

Patches taken from Alpine.
---
 ...-go-fix-build-error-with-SYS_SECCOMP.patch |  41 +++
 srcpkgs/gcc/patches/libatomic-autolink.patch  | 267 ++++++++++++++++++
 srcpkgs/gcc/patches/libatomic-configure.patch |  58 ++++
 srcpkgs/gcc/template                          |  14 +-
 4 files changed, 373 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-autolink.patch
 create mode 100644 srcpkgs/gcc/patches/libatomic-configure.patch

diff --git a/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
new file mode 100644
index 0000000000000..db38df3b010ab
--- /dev/null
+++ b/srcpkgs/gcc/patches/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
@@ -0,0 +1,41 @@
+From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Wed, 29 Jun 2022 15:32:04 -0700
+Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patches for musl support, from Sören Tempel.
+
+Fixes https://gcc.gnu.org/PR105225
+
+Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
+Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
+Reviewed-by: Than McIntosh <thanm@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+ libgo/mksysinfo.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
+index 5aa30915..ea1fa17d 100755
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -127,6 +127,7 @@ fi
+ 
+ # The syscall numbers.  We force the names to upper case.
+ grep '^const _SYS_' gen-sysinfo.go | \
++  grep -v '^const _SYS_SECCOMP = ' | \
+   sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
+   while read sys; do
+     sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+@@ -506,7 +507,7 @@ fi
+ 
+ # For historical reasons Go uses the suffix "timespec" instead of "tim" for
+ # stat_t's time fields on NetBSD.
+-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
++st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
+ if test "${GOOS}" = "netbsd"; then
+     st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
+ fi
diff --git a/srcpkgs/gcc/patches/libatomic-autolink.patch b/srcpkgs/gcc/patches/libatomic-autolink.patch
new file mode 100644
index 0000000000000..20cdc42308dc5
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-autolink.patch
@@ -0,0 +1,267 @@
+Add --enable-autolink-libatomic, to make gcc link -latomic by default.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
+
+From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 9 Dec 2020 16:07:26 +0000
+Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
+ LINK_GCC_C_SEQUENCE_SPEC [PR81358]
+
+This fixes issues with RISC-V.
+---
+ Makefile.in           |  1 +
+ gcc/config.in         |  6 ++++++
+ gcc/config/gnu-user.h | 12 +++++++++++-
+ gcc/configure         | 32 ++++++++++++++++++++++++++++++--
+ gcc/configure.ac      | 22 +++++++++++++++++++++-
+ gcc/doc/install.texi  |  8 ++++++++
+ gcc/doc/tm.texi       |  8 +++++++-
+ gcc/doc/tm.texi.in    |  8 +++++++-
+ gcc/gcc.cc            | 12 +++++++++++-
+ 9 files changed, 102 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b564ddbf792..a95c7407d16 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -232,6 +232,7 @@ HOST_EXPORTS = \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
+ 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
+ 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
++	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
+ 	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
+ 	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ 	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
+diff --git a/gcc/config.in b/gcc/config.in
+index f0fbf123aa8..af84efc4f9e 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -118,6 +118,12 @@
+ #endif
+ 
+ 
++/* Define if libatomic should always be linked. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_AUTOLINK_LIBATOMIC
++#endif
++
++
+ /* Define to 1 to specify that we are using the BID decimal floating point
+    format instead of DPD */
+ #ifndef USED_FOR_TARGET
+diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
+index 8433e56c3e1..0347f10da8b 100644
+--- a/gcc/config/gnu-user.h
++++ b/gcc/config/gnu-user.h
+@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
+-  "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
++  "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
+    %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
+ 
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+diff --git a/gcc/configure b/gcc/configure
+index 2f6b3265a6c..6dc65bf4ccb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -981,6 +981,7 @@ with_changes_root_url
+ enable_languages
+ with_multilib_list
+ with_multilib_generator
++enable_autolink_libatomic
+ with_zstd
+ with_zstd_include
+ with_zstd_lib
+@@ -1710,6 +1711,9 @@ Optional Features:
+   --disable-shared        don't provide a shared libgcc
+   --disable-gcov          don't provide libgcov and related host tools
+   --enable-languages=LIST specify which front-ends to build
++  --enable-autolink-libatomic
++                          enable automatic linking of libatomic (ignored if
++                          not built)
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-sjlj-exceptions
+                           arrange to use setjmp/longjmp exception handling
+@@ -8324,7 +8328,6 @@ else
+ fi
+ 
+ 
+-
+ # Check whether --with-multilib-generator was given.
+ if test "${with_multilib_generator+set}" = set; then :
+   withval=$with_multilib_generator; :
+@@ -8332,6 +8335,32 @@ else
+   with_multilib_generator=default
+ fi
+ 
++# If libatomic is available, whether it should be linked automatically
++# Check whether --enable-autolink-libatomic was given.
++if test "${enable_autolink_libatomic+set}" = set; then :
++  enableval=$enable_autolink_libatomic;
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
++  esac
++
++else
++  enable_autolink_libatomic=''
++fi
++
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++
++$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
++$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
++  fi
++fi
++
+ 
+ # -------------------------
+ # Checks for other programs
+@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+-
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e683d3a7a5f..07c81c78336 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
+ :,
+ with_multilib_generator=default)
+ 
++# If libatomic is available, whether it should be linked automatically
++AC_ARG_ENABLE(autolink-libatomic,
++[AS_HELP_STRING([--enable-autolink-libatomic],
++		[enable automatic linking of libatomic (ignored if not built)])],
++[
++  case $enable_autolink_libatomic in
++    yes | no) ;;
++    *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
++--enable-autolink-libatomic.  Valid choices are 'yes' and 'no'.]) ;;
++  esac
++], [enable_autolink_libatomic=''])
++
++if test x$enable_autolink_libatomic = xyes; then
++  if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
++    AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
++	[Define if libatomic should always be linked.])
++  else
++    AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
++  fi
++fi
++
+ # -------------------------
+ # Checks for other programs
+ # -------------------------
+@@ -7839,4 +7860,3 @@ done
+ ], 
+ [subdirs='$subdirs'])
+ AC_OUTPUT
+-
+diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
+index 48408d842db..c90be0ee750 100644
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
+ environments.  Enabled by default, and may be disabled using
+ @option{--disable-canonical-system-headers}.
+ 
++@item --enable-autolink-libatomic
++@itemx --disable-autolink-libatomic
++Tell GCC that it should automatically link libatomic; if supported by
++the linker, the file is only linked as needed. This flag is ignored
++when libatomic is not built. Note that this conigure flag is in particular
++useful when building an offloading-target compiler; as for those, a
++user had to specify @code{-foffload=target=-latomic} otherwise.
++
+ @item --with-glibc-version=@var{major}.@var{minor}
+ Tell GCC that when the GNU C Library (glibc) is used on the target it
+ will be version @var{major}.@var{minor} or later.  Normally this can
+diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
+index c5006afc00d..56b62c69ae8 100644
+--- a/gcc/doc/tm.texi
++++ b/gcc/doc/tm.texi
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
+index f869ddd5e5b..57c93f24ac3 100644
+--- a/gcc/doc/tm.texi.in
++++ b/gcc/doc/tm.texi.in
+@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
+ 
+ @defmac LINK_GCC_C_SEQUENCE_SPEC
+ The sequence in which libgcc and libc are specified to the linker.
+-By default this is @code{%G %L %G}.
++By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
++@end defmac
++
++@defmac LINK_LIBATOMIC_SPEC
++This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
++libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
++is set.
+ @end defmac
+ 
+ @defmac POST_LINK_SPEC
+diff --git a/gcc/gcc.cc b/gcc/gcc.cc
+index 735b2b1bba1..f10f3c91aa7 100644
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -987,13 +987,23 @@ proper position among the other output files.  */
+ # define ASM_DEBUG_OPTION_SPEC ""
+ #endif
+ 
++#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
++#  ifdef LD_AS_NEEDED_OPTION
++#    define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
++#  else
++#    define LINK_LIBATOMIC_SPEC "-latomic"
++#  endif
++#elif !defined(LINK_LIBATOMIC_SPEC)
++#  define LINK_LIBATOMIC_SPEC ""
++#endif
++
+ /* Here is the spec for running the linker, after compiling all files.  */
+ 
+ /* This is overridable by the target in case they need to specify the
+    -lgcc and -lc order specially, yet not require them to override all
+    of LINK_COMMAND_SPEC.  */
+ #ifndef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
++#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
+ #endif
+ 
+ #ifdef ENABLE_DEFAULT_SSP
diff --git a/srcpkgs/gcc/patches/libatomic-configure.patch b/srcpkgs/gcc/patches/libatomic-configure.patch
new file mode 100644
index 0000000000000..232de555155fe
--- /dev/null
+++ b/srcpkgs/gcc/patches/libatomic-configure.patch
@@ -0,0 +1,58 @@
+Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
+
+Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
+
+From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sun, 29 Aug 2021 09:45:27 +0200
+Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
+ configure script
+
+Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
+default) causes the libatomic configure script to incorrectly detect
+which builtins are available on riscv64. This then causes incorrect code
+generation for libatomic since it assumes compiler builtins to be
+available which are not actually available on riscv64.
+
+This commit fixes this issue by disabling linking of libatomic configure
+test code entirely, thereby preventing linking against libatomic.
+
+See:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
+* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
+---
+ libatomic/configure.tgt | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index 33f8c91ce77..3999db2cf8a 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -30,6 +30,26 @@
+ # on ${target_cpu}.  For example to allow proper use of multilibs.
+ configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+ 
++# The libatomic configure script performs several checks to determine
++# whether builtins for atomic operations are available. When compiling
++# with --enable-autolink-libatomic the test code compiled by the
++# configure script is also linked against libatomic. This causes it
++# to think that builtins are available, even if there are not, since
++# the tested symbols are provided by libatomic.
++#
++# This is a hack to ensure that we don't link against libatomic by not
++# linking any configure test code at all when --enable-autolink-libatomic
++# is given.
++#
++# See:
++#
++#   * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
++#   * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
++#
++if test x$enable_autolink_libatomic = xyes; then
++	gcc_no_link=yes
++fi
++
+ case "${target_cpu}" in
+   alpha*)
+ 	# fenv.c needs this option to generate inexact exceptions.
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 7b8bf456ebbae..fc97d56b88ae7 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -195,17 +195,17 @@ do_configure() {
 
 	_hash=gnu
 	case "$XBPS_TARGET_MACHINE" in
-		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
-		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
-		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
-		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
-		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
-		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
+		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
+		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
+		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
+		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
+		armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
+		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
 		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
 		aarch64*) _args+=" --with-arch=armv8-a";;
 		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
 		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
-		ppc*) _args+=" --enable-secureplt";;
+		ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
 	esac
 
 	# on ppc64le-musl and all big endian ppc64

From b74de2ff6d1564026004b2885d2c1e2b12218ebf Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 18 Jul 2019 11:30:56 +0200
Subject: [PATCH 02/23] gcc: add riscv.

---
 srcpkgs/gcc/template | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index fc97d56b88ae7..459c83368c18c 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -55,7 +55,7 @@ else
 fi
 makedepends="zlib-devel libzstd-devel"
 depends="binutils libgcc-devel-${version}_${revision}
- libstdc++-devel-${version}_${revision}"
+ libstdc++-devel-${version}_${revision} libatomic-devel-${version}_${revision}"
 checkdepends="dejagnu"
 
 subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
@@ -125,6 +125,8 @@ case "$XBPS_TARGET_MACHINE" in
 	mipshf-musl) _triplet="mips-linux-muslhf";;
 	mipsel-musl) _triplet="mipsel-linux-musl";;
 	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
+	riscv64) _triplet="riscv64-linux-gnu";;
+	riscv64-musl) _triplet="riscv64-linux-musl";;
 esac
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	 depends+=" musl-devel";;
@@ -143,6 +145,7 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 case "$XBPS_TARGET_MACHINE" in
 	mips*) ;;
+	riscv*) ;;
 	x86_64*|i686) subpackages+=" libitm libitm-devel";;
 	*) subpackages+=" libitm libitm-devel";;
 esac

From fb5b645d8311c4909d2863ec4664095eba778723 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:57 +0100
Subject: [PATCH 03/23] cross-arm-linux-gnueabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 1a04ad3713af3..2c055324e8524 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _glibc_patchver="72-g0f90d6204d"
 pkgname=cross-arm-linux-gnueabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 5fefa419fa3b5eb4f1c0d603053207f18e3bbaea Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:12 +0200
Subject: [PATCH 04/23] New package: cross-riscv64-linux-gnu-0.35

---
 common/build-profiles/riscv64.sh         |  7 ++++
 common/build-style/void-cross.sh         |  3 --
 common/cross-profiles/riscv64.sh         | 12 ++++++
 common/shlibs                            |  1 +
 srcpkgs/cross-riscv64-linux-gnu-libc     |  1 +
 srcpkgs/cross-riscv64-linux-gnu/template | 51 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 common/build-profiles/riscv64.sh
 create mode 100644 common/cross-profiles/riscv64.sh
 create mode 120000 srcpkgs/cross-riscv64-linux-gnu-libc
 create mode 100644 srcpkgs/cross-riscv64-linux-gnu/template

diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh
new file mode 100644
index 0000000000000..02ef7f85f5219
--- /dev/null
+++ b/common/build-profiles/riscv64.sh
@@ -0,0 +1,7 @@
+XBPS_TARGET_CFLAGS="-march=rv64imafdc"
+XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
+XBPS_TRIPLET="riscv64-unknown-linux-gnu"
+XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_ZIG_CPU="baseline"
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 02bd1f5557416..d7da998ba354b 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -641,9 +641,6 @@ do_install() {
 	ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
 	rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
 
-	# Remove unnecessary libatomic which is only built for gccgo
-	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.*
-
 	# If libquadmath was forced (needed for gfortran on some platforms)
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh
new file mode 100644
index 0000000000000..18103d0bab5de
--- /dev/null
+++ b/common/cross-profiles/riscv64.sh
@@ -0,0 +1,12 @@
+# Cross build profile for riscv64 and Musl libc.
+
+XBPS_TARGET_MACHINE="riscv64"
+XBPS_TARGET_QEMU_MACHINE="riscv64"
+XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
+XBPS_CROSS_CFLAGS="-march=rv64imafdc"
+XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
+XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
+XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
+XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
+XBPS_CROSS_ZIG_CPU="baseline"
diff --git a/common/shlibs b/common/shlibs
index 0087cc2857855..8cc9d1f139bf3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -26,6 +26,7 @@ ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
 ld-linux.so.2 glibc-2.36_1 i686
 ld-linux.so.3 glibc-2.36_1 armv5tel
 ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64
 ld64.so.2 glibc-2.36_1 ppc64
 ld.so.1 glibc-2.36_1 mips
 ld.so.1 glibc-2.36_1 ppc
diff --git a/srcpkgs/cross-riscv64-linux-gnu-libc b/srcpkgs/cross-riscv64-linux-gnu-libc
new file mode 120000
index 0000000000000..e8371ddf3e4de
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-gnu
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
new file mode 100644
index 0000000000000..2eb8a05eded18
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -0,0 +1,51 @@
+# Template file for 'cross-riscv64-linux-gnu'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
+_glibc_patchver="72-g0f90d6204d"
+_linux_version=5.10.4
+pkgname=cross-riscv64-linux-gnu
+version=0.35
+revision=3
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
+homepage="https://www.voidlinux.org/"
+distfiles="${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz"
+distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
+# distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
+distfiles+=" https://vasilek.cz/paste/glibc-${_glibc_version}-${_glibc_patchver}.tar.xz"
+distfiles+=" ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 656200722d5ba968b4888a2d2950719d72c86290fd0479f61897d25b7db2cb57
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
+nocross=yes
+
+cross_glibc_cflags="-O2"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64" ]; then
+	broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-gnu-libc_package() {
+	short_desc+=" - glibc files"
+	nostrip=yes
+	noshlibprovides=yes
+	noverifyrdeps=yes
+
+	pkg_install() {
+		vmove usr/${sourcepkg/cross-}
+	}
+}

From 9cf829729210b61ab19ffda06112b0a889daa3bb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:12:14 +0200
Subject: [PATCH 05/23] New package: cross-riscv64-linux-musl-0.35

---
 srcpkgs/cross-riscv64-linux-musl-libc         |  1 +
 .../files/fix-cxxflags-passing.patch          |  1 +
 .../files/invalid_tls_model.patch             |  1 +
 .../files/libgnarl-musl.patch                 |  1 +
 .../files/musl-ada.patch                      |  1 +
 .../files/non-nullness.patch                  |  1 +
 srcpkgs/cross-riscv64-linux-musl/template     | 53 +++++++++++++++++++
 7 files changed, 59 insertions(+)
 create mode 120000 srcpkgs/cross-riscv64-linux-musl-libc
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
 create mode 120000 srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
 create mode 100644 srcpkgs/cross-riscv64-linux-musl/template

diff --git a/srcpkgs/cross-riscv64-linux-musl-libc b/srcpkgs/cross-riscv64-linux-musl-libc
new file mode 120000
index 0000000000000..29a94c9a7433d
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl-libc
@@ -0,0 +1 @@
+cross-riscv64-linux-musl
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000000000..4a8c831e615dc
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
new file mode 120000
index 0000000000000..8f276dc053855
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/invalid_tls_model.patch
@@ -0,0 +1 @@
+../../gcc/patches/invalid_tls_model.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
new file mode 120000
index 0000000000000..33ccc9789f93f
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/libgnarl-musl.patch
@@ -0,0 +1 @@
+../../gcc/files/libgnarl-musl.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
new file mode 120000
index 0000000000000..64906d48ecbf6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/musl-ada.patch
@@ -0,0 +1 @@
+../../gcc/patches/musl-ada.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
new file mode 120000
index 0000000000000..c8b653748fe84
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/files/non-nullness.patch
@@ -0,0 +1 @@
+../../gcc/patches/non-nullness.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
new file mode 100644
index 0000000000000..d20751fd9fdb6
--- /dev/null
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -0,0 +1,53 @@
+# Template file for 'cross-riscv64-linux-musl'
+_binutils_version=2.39
+_gcc_version=12.2.0
+_musl_version=1.1.24
+_linux_version=5.10.4
+_libucontext_version=1.0
+pkgname=cross-riscv64-linux-musl
+version=0.35
+revision=2
+build_style=void-cross
+configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
+hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
+makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
+ zlib-devel libzstd-devel"
+depends="${pkgname}-libc-${version}_${revision}"
+short_desc="Void cross toolchain for ${pkgname/cross-}"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
+distfiles="
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
+ ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
+ https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+ 904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
+ 23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"
+nocross=yes
+
+cross_musl_cflags="-O0"
+
+if [ "$XBPS_TARGET_MACHINE" = "riscv64-musl" ]; then
+        broken="Can't build crosstoolchain to itself"
+fi
+
+case "$XBPS_MACHINE" in
+        ppc64*) ;;
+        ppc*|mips*) broken="no gccgo support";;
+esac
+
+cross-riscv64-linux-musl-libc_package() {
+        short_desc+=" - libc files"
+        nostrip=yes
+        noshlibprovides=yes
+        noverifyrdeps=yes
+
+        pkg_install() {
+                vmove usr/${sourcepkg/cross-}
+        }
+}

From 258ed090926826a34ae3ac83d16475f333474388 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 Jul 2023 23:14:56 +0200
Subject: [PATCH 06/23] cross-vpkg-dummy: provide libatomic

---
 srcpkgs/cross-vpkg-dummy/template | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index baf92e2560c3a..9325168acb4cd 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -1,7 +1,7 @@
 # Template file for 'cross-vpkg-dummy'
 pkgname=cross-vpkg-dummy
 version=0.39
-revision=4
+revision=5
 build_style=meta
 depends="base-files>=0.126"
 short_desc="Dummy meta-pkg for cross building packages with xbps-src"
@@ -13,6 +13,8 @@ provides="
 	binutils-9999_1
 	libada-9999_1
 	libada-devel-9999_1
+	libatomic-9999_1
+	libatomic-devel-9999_1
 	libgcc-9999_1
 	libgcc-devel-9999_1
 	libstdc++-9999_1
@@ -36,6 +38,8 @@ conflicts="
 	binutils>=0
 	libada>=0
 	libada-devel>=0
+	libatomic>=0
+	libatomic-devel>=0
 	libgcc>=0
 	libgcc-devel>=0
 	libstdc++>=0
@@ -55,6 +59,7 @@ conflicts="
 	gcc-objc>=0
 	gcc-objc++>=0"
 shlib_provides="
+	libatomic.so.1
 	libgcc_s.so.1
 	libgnat-12.so
 	libgnarl-12.so
@@ -75,4 +80,5 @@ else
 	shlib_provides+=" ld-linux.so.2 ld-linux.so.3 ld-linux-x86-64.so.2"
 	shlib_provides+=" ld-linux-armhf.so.3 ld-linux-aarch64.so.1"
 	shlib_provides+=" ld64.so.2 ld.so.1 libthread_db.so.1"
+	shlib_provides+=" ld-linux-riscv64-lp64d.so.1"
 fi

From 3ebc806005013563ba7a790df69d9f2db93df266 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 6 Mar 2022 02:00:16 +0100
Subject: [PATCH 07/23] build-style/void-cross.sh: adjustments for
 --enable-autolink-libatomic.

---
 common/build-style/void-cross.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index d7da998ba354b..2e8ebb52ceaf9 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libmudflap \
 		--disable-libssp \
 		--disable-libitm \
-		--disable-libatomic \
+		--disable-libatomic --disable-autolink-libatomic \
 		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
@@ -377,6 +377,10 @@ _void_cross_build_gcc() {
 
 	msg_normal "Building gcc for ${tgt}\n"
 
+	# GIANT HACK: create an empty libatomic.a so gcc cross-compile
+	# below works.
+	ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
+
 	mkdir -p ${wrksrc}/gcc_build
 	cd ${wrksrc}/gcc_build
 

From 050f7c8aa18bf9619688b00e7885157a25f9c6fb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:03 +0200
Subject: [PATCH 08/23] cross-arm-linux-gnueabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-gnueabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index dbb8d90c8c244..c11560ff2a223 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 355e3b13b6eb6a8e95c13a29c3a51d71330bd268 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:21 +0200
Subject: [PATCH 09/23] cross-arm-linux-musleabi: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabi/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 8b25e9f7c365e..35e03b44b4f9a 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv5te --with-float=soft"
+configure_args="--with-arch=armv5te --with-float=soft
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From d79ed87fddab32904bf7e099df161bdab2114f06 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 10:58:27 +0200
Subject: [PATCH 10/23] cross-arm-linux-musleabihf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index d6dca4e920d5a..af1683f13df36 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,9 +6,10 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
+configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From a1add02d04be637b0cfd1caf586be7d66d0550a0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:20:09 +0200
Subject: [PATCH 11/23] bulk: remove libatomic-devel in dependency fields

---
 srcpkgs/ART/template                  |  2 +-
 srcpkgs/Aegisub/template              |  1 -
 srcpkgs/Carla/template                |  4 ----
 srcpkgs/Clipboard/template            |  1 -
 srcpkgs/CubicSDR/template             |  1 -
 srcpkgs/EternalTerminal/template      |  4 ----
 srcpkgs/FreeRADIUS/template           |  4 ----
 srcpkgs/LGOGDownloader/template       |  4 ----
 srcpkgs/LimeSuite/template            |  4 ----
 srcpkgs/MEGAcmd/template              |  1 -
 srcpkgs/OpenRCT2/template             |  1 -
 srcpkgs/OpenSubdiv/template           |  1 -
 srcpkgs/QMPlay2/template              |  1 -
 srcpkgs/SuiteSparse/template          |  4 ----
 srcpkgs/abseil-cpp/template           |  1 -
 srcpkgs/ahoviewer/template            |  4 ----
 srcpkgs/akonadi5/template             |  4 ----
 srcpkgs/alembic/template              | 10 ++++------
 srcpkgs/android-tools/template        |  1 -
 srcpkgs/apr-util/template             |  1 -
 srcpkgs/apr/template                  |  1 -
 srcpkgs/arcan/template                |  1 -
 srcpkgs/ardour/template               |  1 -
 srcpkgs/audacity/template             |  1 -
 srcpkgs/bacula-common/template        |  3 ---
 srcpkgs/bcc/template                  |  4 ----
 srcpkgs/bees/template                 |  1 -
 srcpkgs/bind/template                 |  2 +-
 srcpkgs/cabbage/template              |  1 -
 srcpkgs/capnproto/template            |  1 -
 srcpkgs/ccache/template               |  4 ----
 srcpkgs/ccls/template                 |  1 -
 srcpkgs/cereal/template               |  1 -
 srcpkgs/chatterino2/template          |  1 -
 srcpkgs/chromium/template             |  4 ++--
 srcpkgs/cjs/template                  |  1 -
 srcpkgs/cmus/template                 |  1 -
 srcpkgs/conduit/template              |  1 -
 srcpkgs/corectrl/template             |  1 -
 srcpkgs/dhcp/template                 |  4 ----
 srcpkgs/difftastic/template           |  1 -
 srcpkgs/digikam/template              |  1 -
 srcpkgs/dosbox-staging/template       |  1 -
 srcpkgs/duperemove/template           |  2 +-
 srcpkgs/edbrowse/template             |  1 -
 srcpkgs/electron19/template           |  4 ++--
 srcpkgs/electron24/template           |  4 ++--
 srcpkgs/encfs/template                |  1 -
 srcpkgs/fairy-stockfish/template      |  1 -
 srcpkgs/ffmpeg/template               |  4 ----
 srcpkgs/ffms2/template                |  1 -
 srcpkgs/filezilla/template            |  4 ----
 srcpkgs/fio/template                  |  1 -
 srcpkgs/firefox-esr/template          |  2 +-
 srcpkgs/firefox/template              |  2 +-
 srcpkgs/fish-shell/template           |  4 ----
 srcpkgs/fplll/template                |  4 ----
 srcpkgs/fselect/template              |  1 -
 srcpkgs/fswatch/template              |  1 -
 srcpkgs/geonkick/template             |  1 -
 srcpkgs/giada/template                |  4 ----
 srcpkgs/gjs/template                  |  4 ----
 srcpkgs/glirc/template                |  1 -
 srcpkgs/glog/template                 |  1 -
 srcpkgs/glslViewer/template           |  4 ----
 srcpkgs/gnunet/template               |  4 ----
 srcpkgs/gnuradio/template             |  1 -
 srcpkgs/goxel/template                |  4 ----
 srcpkgs/grpc/template                 |  1 -
 srcpkgs/gzdoom/template               |  1 -
 srcpkgs/haproxy/template              |  2 +-
 srcpkgs/hedgewars/template            |  4 ++--
 srcpkgs/highway/template              |  1 -
 srcpkgs/i2pd/template                 |  3 +--
 srcpkgs/inkscape/template             |  4 ----
 srcpkgs/jack_capture/template         |  1 -
 srcpkgs/kdiff3/template               |  1 -
 srcpkgs/kismet/template               |  1 -
 srcpkgs/kiwix-lib/template            |  4 ----
 srcpkgs/kiwix-tools/template          |  4 ----
 srcpkgs/kjsembed/template             |  4 ----
 srcpkgs/kodi/template                 |  1 -
 srcpkgs/krita/template                |  4 ----
 srcpkgs/kross/template                |  4 ----
 srcpkgs/kwin/template                 |  3 +--
 srcpkgs/lc0/template                  |  4 ----
 srcpkgs/libdex/template               |  2 +-
 srcpkgs/libfilezilla/template         |  1 -
 srcpkgs/libjxl/template               |  1 -
 srcpkgs/libogre/template              |  2 +-
 srcpkgs/libopenshot-audio/template    |  1 -
 srcpkgs/libplacebo/template           |  1 -
 srcpkgs/libreoffice/template          |  4 ----
 srcpkgs/libtd/template                |  1 -
 srcpkgs/libtorrent-rasterbar/template |  7 -------
 srcpkgs/llvm12/template               |  2 +-
 srcpkgs/llvm15/template               |  2 +-
 srcpkgs/lms/template                  |  1 -
 srcpkgs/mariadb/template              |  4 ++--
 srcpkgs/mesa/template                 |  2 +-
 srcpkgs/mgba/template                 |  1 -
 srcpkgs/mlt/template                  |  2 +-
 srcpkgs/mlt7/template                 |  2 +-
 srcpkgs/mozc/template                 |  4 ----
 srcpkgs/mozjs102/template             |  1 -
 srcpkgs/mozjs78/template              |  1 -
 srcpkgs/mpv/template                  |  4 ----
 srcpkgs/musikcube/template            |  4 ----
 srcpkgs/netdata/template              |  1 -
 srcpkgs/nix/template                  |  4 ----
 srcpkgs/nodejs/template               |  4 ++--
 srcpkgs/nushell/template              |  2 +-
 srcpkgs/opencv/template               |  4 ----
 srcpkgs/opendht/template              |  4 ----
 srcpkgs/openimageio/template          |  4 ----
 srcpkgs/openmpi/template              |  1 -
 srcpkgs/openmw/template               |  1 -
 srcpkgs/openttd/template              |  4 ----
 srcpkgs/openvdb/template              |  1 -
 srcpkgs/pipewire/template             |  1 -
 srcpkgs/plocate/template              |  1 -
 srcpkgs/poedit/template               |  1 -
 srcpkgs/polybar/template              |  1 -
 srcpkgs/primesieve/template           |  4 ----
 srcpkgs/prometheus-cpp/template       |  2 +-
 srcpkgs/protobuf/template             |  3 +--
 srcpkgs/python3-grpcio-tools/template |  4 ----
 srcpkgs/python3-grpcio/template       |  4 ----
 srcpkgs/python3-pyqt6/template        |  4 ----
 srcpkgs/qpdf/template                 |  1 -
 srcpkgs/qt5-webengine/template        | 14 --------------
 srcpkgs/qt5-webkit/template           |  1 -
 srcpkgs/qt5/template                  |  7 -------
 srcpkgs/qt6-3d/template               |  3 +--
 srcpkgs/qt6-base/template             |  2 +-
 srcpkgs/qt6-tools/template            |  2 +-
 srcpkgs/qtcreator/template            |  1 -
 srcpkgs/qtox/template                 |  4 ----
 srcpkgs/quickjs/template              |  1 -
 srcpkgs/rawtherapee/template          |  2 +-
 srcpkgs/receivemidi/template          |  4 ----
 srcpkgs/redis/template                |  4 ----
 srcpkgs/renderdoc/template            |  1 -
 srcpkgs/retroshare/template           |  4 ----
 srcpkgs/rocksdb/template              |  4 ----
 srcpkgs/rubberband/template           |  1 -
 srcpkgs/rust/template                 |  5 -----
 srcpkgs/sendmidi/template             |  4 ----
 srcpkgs/snapcast/template             |  4 ----
 srcpkgs/solvespace/template           |  1 -
 srcpkgs/sonic-visualiser/template     |  4 ----
 srcpkgs/squid/template                |  1 -
 srcpkgs/srt/template                  |  4 ----
 srcpkgs/stockfish/template            |  1 -
 srcpkgs/supercollider/template        |  2 +-
 srcpkgs/supertuxkart/template         |  4 ----
 srcpkgs/swi-prolog/template           |  1 -
 srcpkgs/syntax-highlighting/template  |  3 +--
 srcpkgs/sysbench/template             |  4 ----
 srcpkgs/telegram-desktop/template     |  2 +-
 srcpkgs/thrift/template               |  4 ----
 srcpkgs/thunderbird/template          |  4 ----
 srcpkgs/tomahawk/template             |  4 ----
 srcpkgs/uhd/template                  |  1 -
 srcpkgs/vapoursynth/template          |  1 -
 srcpkgs/vkQuake/template              |  1 -
 srcpkgs/vtk/template                  |  4 ----
 srcpkgs/warzone2100/template          |  4 ----
 srcpkgs/watchexec/template            |  1 -
 srcpkgs/webkit2gtk/template           |  2 +-
 srcpkgs/wt/template                   |  1 -
 srcpkgs/xrootd/template               |  1 -
 srcpkgs/zfs/template                  |  4 ----
 173 files changed, 42 insertions(+), 391 deletions(-)

diff --git a/srcpkgs/ART/template b/srcpkgs/ART/template
index a15bf7a9bdd17..a86a304711e84 100644
--- a/srcpkgs/ART/template
+++ b/srcpkgs/ART/template
@@ -4,7 +4,7 @@ version=1.13
 revision=2
 build_style=cmake
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel exiv2-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Fork of RawTherapee with additional features"
diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index 671c74ca645a0..3744c3cc6529f 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -27,7 +27,6 @@ desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/Carla/template b/srcpkgs/Carla/template
index c383f7b3133eb..3f055ca1c8a2a 100644
--- a/srcpkgs/Carla/template
+++ b/srcpkgs/Carla/template
@@ -34,10 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	export LDFLAGS="-lfts"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$CROSS_BUILD" ]; then
 		vsed -i -e 's#\./carla-lv2-export#/usr/bin/carla-lv2-export#g' \
diff --git a/srcpkgs/Clipboard/template b/srcpkgs/Clipboard/template
index d6bb7e23f6970..c33fb45eb942e 100644
--- a/srcpkgs/Clipboard/template
+++ b/srcpkgs/Clipboard/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/Slackadays/Clipboard/archive/refs/tags/${version}.
 checksum=f7ceb2dbb76bc094ac8afbef97bdef0f1a9451ca7dd1a4a181f3b2a859a2f094
 
 if [ "${XBPS_TARGET_NO_ATOMIC8}" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index e5e26088e7f32..c224fc1379bf1 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -20,6 +20,5 @@ build_options="alsa pulseaudio jack"
 build_options_default="alsa pulseaudio"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 156eab6ce47ec..e738148fbe3f9 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv EternalTerminal-et-v${version} ${build_wrksrc}
 	mv sanitizers-cmake-${_sanitizers_gitrev}/* \
diff --git a/srcpkgs/FreeRADIUS/template b/srcpkgs/FreeRADIUS/template
index ee2059a373b46..13d2ef286e22c 100644
--- a/srcpkgs/FreeRADIUS/template
+++ b/srcpkgs/FreeRADIUS/template
@@ -15,10 +15,6 @@ nocross=yes # Not supported by upstream
 system_accounts="_freeradius"
 make_dirs="/etc/raddb 0750 _freeradius _freeradius"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_install() {
 	# FreeRADIUS uses 'R' instead of 'DESTDIR'
 	export R=${DESTDIR}
diff --git a/srcpkgs/LGOGDownloader/template b/srcpkgs/LGOGDownloader/template
index 37bb3b973594c..e749d635c5c29 100644
--- a/srcpkgs/LGOGDownloader/template
+++ b/srcpkgs/LGOGDownloader/template
@@ -19,10 +19,6 @@ checksum=01c9556287d5f49662c2219365b9d306482e8efadc805c3dbb9381d5110df719
 build_options="qt"
 desc_option_qt="Include QT WebEngine to support solving captchas"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ -z "$CROSS_BUILD" ]; then
 	hostmakedepends+=" help2man"
 fi
diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index 25a49c5ad71e4..fe963be85f860 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -45,10 +45,6 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 
diff --git a/srcpkgs/MEGAcmd/template b/srcpkgs/MEGAcmd/template
index e4e0e2ee13f6b..cd0dfaf6d5a1d 100644
--- a/srcpkgs/MEGAcmd/template
+++ b/srcpkgs/MEGAcmd/template
@@ -18,7 +18,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/OpenRCT2/template b/srcpkgs/OpenRCT2/template
index ceb69d829a39c..5866e44d12da9 100644
--- a/srcpkgs/OpenRCT2/template
+++ b/srcpkgs/OpenRCT2/template
@@ -77,7 +77,6 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/OpenSubdiv/template b/srcpkgs/OpenSubdiv/template
index ffc64637bd4d3..1ee7eead6dfe9 100644
--- a/srcpkgs/OpenSubdiv/template
+++ b/srcpkgs/OpenSubdiv/template
@@ -21,7 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/QMPlay2/template b/srcpkgs/QMPlay2/template
index 850df9d418b90..00a55417659f6 100644
--- a/srcpkgs/QMPlay2/template
+++ b/srcpkgs/QMPlay2/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/zaps166/QMPlay2/releases/download/${version}/QMPla
 checksum=dc57afc6e3299701508e5dbffa486d7956d6764420dcc0f22a0da8f7d07a2137
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index 3490f6f3fa7f2..73dabfa8950ee 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -23,10 +23,6 @@ case "$XBPS_TARGET_MACHINE" in
 	*) ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 do_build() {
 	make library \
 		JOBS=$XBPS_MAKEJOBS \
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index ea2fa2506873f..5fe16466deb2c 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -5,7 +5,6 @@ revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
 hostmakedepends="pkg-config"
-makedepends="libatomic-devel"
 short_desc="Abseil common libraries"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
diff --git a/srcpkgs/ahoviewer/template b/srcpkgs/ahoviewer/template
index 27aa75d2589fe..ebe27060b424a 100644
--- a/srcpkgs/ahoviewer/template
+++ b/srcpkgs/ahoviewer/template
@@ -17,10 +17,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=a14e32b4a8095c9f8b4b607c090a50cc8ac1076550e57b5a9303c54089068152
 nocross="https://travis-ci.org/void-linux/void-packages/jobs/490108528#L1022"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "ahoviewer_LDADD += -latomic" >> src/Makefile.am
diff --git a/srcpkgs/akonadi5/template b/srcpkgs/akonadi5/template
index b38d9fe0d6a70..9be306794db1f 100644
--- a/srcpkgs/akonadi5/template
+++ b/srcpkgs/akonadi5/template
@@ -20,10 +20,6 @@ homepage="https://community.kde.org/KDE_PIM/Akonadi"
 distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-${version}.tar.xz"
 checksum=5e91b86e895263b76d6f1f00cd9fcd8399d5a6c293581e629ab310fc72dfa6a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e "s;^\(target_link_libraries(.*\);\1 atomic;" -i src/server/CMakeLists.txt
diff --git a/srcpkgs/alembic/template b/srcpkgs/alembic/template
index 53ff7d48719f2..1fbc7b13fab88 100644
--- a/srcpkgs/alembic/template
+++ b/srcpkgs/alembic/template
@@ -18,13 +18,11 @@ case "$XBPS_TARGET_MACHINE" in
 	ppc*) broken="undefined reference to '__sync_bool_compare_and_swap_8'";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-
-	post_patch() {
+post_patch() {
+	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		printf '\ntarget_link_libraries(Alembic PRIVATE atomic)\n' >> lib/Alembic/CMakeLists.txt
-	}
-fi
+	fi
+}
 
 post_install() {
 	vlicense LICENSE.txt
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index b813474eace03..54012fa5e79b2 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -16,7 +16,6 @@ distfiles="https://github.com/nmeum/android-tools/releases/download/${version}/a
 checksum=60234ecbca19a17a7e2f46a4581960d645b7c55b870d924a21494c76a6f548ec
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/apr-util/template b/srcpkgs/apr-util/template
index f1cd4363365a8..17a94361cd32d 100644
--- a/srcpkgs/apr-util/template
+++ b/srcpkgs/apr-util/template
@@ -23,7 +23,6 @@ checksum=d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/apr/template b/srcpkgs/apr/template
index 6fb1fefd4f627..e546186592bd4 100644
--- a/srcpkgs/apr/template
+++ b/srcpkgs/apr/template
@@ -25,7 +25,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/arcan/template b/srcpkgs/arcan/template
index 7be9652eccf3c..853e16fcad391 100644
--- a/srcpkgs/arcan/template
+++ b/srcpkgs/arcan/template
@@ -46,7 +46,6 @@ if [ "$XBPS_TARGET_WORDSIZE" = "$XBPS_WORDSIZE" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/ardour/template b/srcpkgs/ardour/template
index f45d263565b46..ab16f26eedf4f 100644
--- a/srcpkgs/ardour/template
+++ b/srcpkgs/ardour/template
@@ -24,7 +24,6 @@ export PATH="/usr/libexec/chroot-git:$PATH"
 conf_files="/etc/ardour7/*"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index d509c0a894077..28e9c4a3528f1 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -24,7 +24,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/bacula-common/template b/srcpkgs/bacula-common/template
index 1be957d9ed668..a3d2f1da2d82e 100644
--- a/srcpkgs/bacula-common/template
+++ b/srcpkgs/bacula-common/template
@@ -17,9 +17,6 @@ checksum=a40d04d2c48135972cecb6578405e835c4b9d798c0950017de0fad40ca94e8a0
 alternatives="bacula-db-backend:/usr/lib/libbaccats-${version}.so:/usr/lib/libbaccats-sqlite3-${version}.so"
 shlib_provides="libbaccats-${version}.so"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
 CFLAGS="-Wno-narrowing"
 
 post_install() {
diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index ecedbd8e4bef6..d613acc78be95 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -15,10 +15,6 @@ distfiles="https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-
 checksum=65adcaf4cee17fa3a94d0bb96d3691ca7e5864244e7bd52df93f7ae6c004f23d
 python_version="3"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	sed -i '/tests/d' CMakeLists.txt  # break on musl
 	sed -i 's/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc
diff --git a/srcpkgs/bees/template b/srcpkgs/bees/template
index 5296bf7991378..423d9187e601e 100644
--- a/srcpkgs/bees/template
+++ b/srcpkgs/bees/template
@@ -23,7 +23,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/bind/template b/srcpkgs/bind/template
index 54493e5d9cf90..ac720ac0e1b79 100644
--- a/srcpkgs/bind/template
+++ b/srcpkgs/bind/template
@@ -10,7 +10,7 @@ configure_args="--disable-static --enable-largefile --with-libtool
  --with-libidn2 --disable-backtrace"
 hostmakedepends="automake libtool perl pkg-config"
 makedepends="openssl-devel libxml2-devel libcap-devel readline-devel mit-krb5-devel
- libatomic-devel libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
+ libidn2-devel libuv-devel $(vopt_if geoip geoip-devel)"
 checkdepends="python3-pytest"
 short_desc="Berkeley Internet Name Domain server"
 maintainer="Randy McCaskill <randy@mccaskill.us>"
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index f8cb9a31c2d86..911af80be28d7 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -31,7 +31,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS=" -latomic"
 fi
 
diff --git a/srcpkgs/capnproto/template b/srcpkgs/capnproto/template
index 5ab6e0a62cdcf..77652040538be 100644
--- a/srcpkgs/capnproto/template
+++ b/srcpkgs/capnproto/template
@@ -16,7 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index bd6a537d7cb12..dd8d1e704ab6e 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -20,10 +20,6 @@ if [ -n "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DENABLE_TESTING=ON"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ccache-${version}/* .
 }
diff --git a/srcpkgs/ccls/template b/srcpkgs/ccls/template
index ecc9f3e38a5d8..ec0597c9f6d85 100644
--- a/srcpkgs/ccls/template
+++ b/srcpkgs/ccls/template
@@ -13,6 +13,5 @@ distfiles="https://github.com/MaskRay/ccls/archive/${version}.tar.gz"
 checksum=af19be36597c2a38b526ce7138c72a64c7fb63827830c4cff92256151fc7a6f4
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/cereal/template b/srcpkgs/cereal/template
index 32644ae3f39e4..a790d1f42b1c6 100644
--- a/srcpkgs/cereal/template
+++ b/srcpkgs/cereal/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/USCiLab/cereal/archive/v${version}.tar.gz"
 checksum=16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/chatterino2/template b/srcpkgs/chatterino2/template
index 977fa9771498e..32454a86e9d6e 100644
--- a/srcpkgs/chatterino2/template
+++ b/srcpkgs/chatterino2/template
@@ -34,7 +34,6 @@ checksum="f1fff3523f5a3f633430d44f7ca6c6c718a515258d50004a855e69e4aa989b4e
  f9cf386638f455c5d2e7a835b95941201387d2531b8682942d59827663b58341"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 3eb657ab23d28..da966f5303796 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -7,13 +7,13 @@ archs="i686* x86_64* aarch64* armv7l*"
 hostmakedepends="
  $(vopt_if clang "clang lld llvm15")
  bison git gperf hwids ninja nodejs perl pkg-config python3
- libatomic-devel libepoxy-devel libevent-devel libglib-devel
+ libepoxy-devel libevent-devel libglib-devel
  rust"
 makedepends="
  alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel
  fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel
  libXcomposite-devel libXcursor-devel libXdamage-devel libXi-devel libXrandr-devel
- libatomic-devel libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
+ libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel
  libexif-devel libflac-devel libgcrypt-devel libjpeg-turbo-devel libmtp-devel
  libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel
  libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel
diff --git a/srcpkgs/cjs/template b/srcpkgs/cjs/template
index b0fafe6603f8c..46bf5cb605166 100644
--- a/srcpkgs/cjs/template
+++ b/srcpkgs/cjs/template
@@ -23,7 +23,6 @@ checksum=212fa302f15ea955af6dc87fdba3898f751d078df91cb84b0e6615d5a2b84e15
 make_check=extended
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/cmus/template b/srcpkgs/cmus/template
index 0fcb424ce336c..0fdcec461c217 100644
--- a/srcpkgs/cmus/template
+++ b/srcpkgs/cmus/template
@@ -21,7 +21,6 @@ build_options_default="elogind"
 desc_option_elogind="Support MPRIS interface via elogind"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LDLIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/conduit/template b/srcpkgs/conduit/template
index 2f44e9d0f2e3d..1ab7a0df0d444 100644
--- a/srcpkgs/conduit/template
+++ b/srcpkgs/conduit/template
@@ -20,7 +20,6 @@ make_dirs="/var/lib/conduit 0700 _conduit _conduit
  /etc/conduit 755 _conduit _conduit"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/corectrl/template b/srcpkgs/corectrl/template
index b85385804faac..da0523eafb783 100644
--- a/srcpkgs/corectrl/template
+++ b/srcpkgs/corectrl/template
@@ -17,6 +17,5 @@ distfiles="${homepage}/-/archive/v${version}/corectrl-v${version}.tar.gz"
 checksum=6b8817ce1bb09257148e6d3f6196546724a8ea185fedfff70f302621ce36cc12
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
diff --git a/srcpkgs/dhcp/template b/srcpkgs/dhcp/template
index ca3423ce8833d..dee0043b9e67c 100644
--- a/srcpkgs/dhcp/template
+++ b/srcpkgs/dhcp/template
@@ -11,10 +11,6 @@ homepage="https://www.isc.org/downloads/dhcp"
 distfiles="http://ftp.isc.org/isc/dhcp/${version/P/-P}/dhcp-${version/P/-P}.tar.gz"
 checksum=b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 disable_parallel_build=yes
 conf_files="/etc/dhcpd.conf"
 
diff --git a/srcpkgs/difftastic/template b/srcpkgs/difftastic/template
index 2182ece1b6a76..769301f7b417b 100644
--- a/srcpkgs/difftastic/template
+++ b/srcpkgs/difftastic/template
@@ -12,7 +12,6 @@ distfiles="https://static.crates.io/crates/difftastic/difftastic-${version}.crat
 checksum=ff0b1d205396b2eb156bd56b4f361767c13a02a14db1b0c8c663e4ff16160f17
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 	if [ -z "$CROSS_BUILD" ]; then
 		broken="how is this supposed to even work"
diff --git a/srcpkgs/digikam/template b/srcpkgs/digikam/template
index 5c98ed64aada0..1cee24f3b60ef 100644
--- a/srcpkgs/digikam/template
+++ b/srcpkgs/digikam/template
@@ -35,7 +35,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
index 202f6a6911e22..f5483acab28a5 100644
--- a/srcpkgs/dosbox-staging/template
+++ b/srcpkgs/dosbox-staging/template
@@ -18,6 +18,5 @@ checksum=2ca69e65e6c181197b63388c60487a3bcea804232a28c44c37704e70d49a0392
 conflicts="dosbox"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/duperemove/template b/srcpkgs/duperemove/template
index d5ed8bea29fe4..03e02859cf62b 100644
--- a/srcpkgs/duperemove/template
+++ b/srcpkgs/duperemove/template
@@ -3,7 +3,7 @@ pkgname=duperemove
 version=0.11.2
 revision=1
 hostmakedepends="pkg-config"
-makedepends="sqlite-devel libglib-devel libgcrypt-devel libatomic-devel"
+makedepends="sqlite-devel libglib-devel libgcrypt-devel"
 short_desc="Tools for deduping file systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-only"
diff --git a/srcpkgs/edbrowse/template b/srcpkgs/edbrowse/template
index f5f78af47851f..947241eab2624 100644
--- a/srcpkgs/edbrowse/template
+++ b/srcpkgs/edbrowse/template
@@ -17,7 +17,6 @@ distfiles="https://github.com/CMB/edbrowse/archive/v${version}.tar.gz"
 checksum=2c7f6a07e5897060527b6cc5c19c45106444e2c4d8c9799434973c352d9ce4e6
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	make_build_args+=" QUICKJS_LDFLAGS+=-latomic"
 fi
 
diff --git a/srcpkgs/electron19/template b/srcpkgs/electron19/template
index 32ce301e730cf..3093248588438 100644
--- a/srcpkgs/electron19/template
+++ b/srcpkgs/electron19/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/electron24/template b/srcpkgs/electron24/template
index bdaa56adc8a65..431ba6b0f8301 100644
--- a/srcpkgs/electron24/template
+++ b/srcpkgs/electron24/template
@@ -9,7 +9,7 @@ create_wrksrc=yes
 build_wrksrc="src"
 hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
  libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel
- pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
+ pciutils-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel
  opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel
  alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel) jq"
@@ -21,7 +21,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel libatomic-devel
+ re2-devel fontconfig-devel freetype-devel opus-devel libffi-devel
  $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel
  $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel"
 short_desc="Cross platform application framework based on web technologies"
diff --git a/srcpkgs/encfs/template b/srcpkgs/encfs/template
index d041dace80d3b..e3fb3539f650b 100644
--- a/srcpkgs/encfs/template
+++ b/srcpkgs/encfs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fairy-stockfish/template b/srcpkgs/fairy-stockfish/template
index e8df08b5afc70..7a3c512bc4364 100644
--- a/srcpkgs/fairy-stockfish/template
+++ b/srcpkgs/fairy-stockfish/template
@@ -36,7 +36,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index aa058aab9ca9f..ae26496e79293 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -51,10 +51,6 @@ if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
 	build_options_default+=" svtav1"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _apply_patch() {
 	local args="$1" pname="$(basename $2)"
 
diff --git a/srcpkgs/ffms2/template b/srcpkgs/ffms2/template
index 68e8a0c14bce3..bfeb9698ceb46 100644
--- a/srcpkgs/ffms2/template
+++ b/srcpkgs/ffms2/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index a8d1338d37e7f..c8d7feab7b4f5 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -21,10 +21,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-gtk3-devel xdg-utils"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
diff --git a/srcpkgs/fio/template b/srcpkgs/fio/template
index 663bf2b08e3f4..5ca1157055e0c 100644
--- a/srcpkgs/fio/template
+++ b/srcpkgs/fio/template
@@ -20,7 +20,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/firefox-esr/template b/srcpkgs/firefox-esr/template
index 4d55e3ad54e77..2ddcc411b92eb 100644
--- a/srcpkgs/firefox-esr/template
+++ b/srcpkgs/firefox-esr/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template
index d29d5181a886b..875ca48580197 100644
--- a/srcpkgs/firefox/template
+++ b/srcpkgs/firefox/template
@@ -21,7 +21,7 @@ hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
 makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  pixman-devel libevent-devel libnotify-devel libvpx-devel libwebp-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
- libXdamage-devel freetype-devel libatomic-devel
+ libXdamage-devel freetype-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
diff --git a/srcpkgs/fish-shell/template b/srcpkgs/fish-shell/template
index 60f0f93412438..c5030d7b8d6d4 100644
--- a/srcpkgs/fish-shell/template
+++ b/srcpkgs/fish-shell/template
@@ -17,10 +17,6 @@ register_shell="/bin/fish /usr/bin/fish"
 # tests don't work as root
 make_check=ci-skip
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	# Starting with fish-3.0.0 this is a skeleton file with only comments
 	rm "${DESTDIR}/etc/fish/config.fish"
diff --git a/srcpkgs/fplll/template b/srcpkgs/fplll/template
index c53eee819b7b5..9843d46828414 100644
--- a/srcpkgs/fplll/template
+++ b/srcpkgs/fplll/template
@@ -12,10 +12,6 @@ changelog="https://github.com/fplll/fplll/releases"
 distfiles="https://github.com/fplll/fplll/releases/download/${version}/fplll-${version}.tar.gz"
 checksum=0fd9d378f04ff886d8864728baf5d90b8b0b82c1e541e92550644fb54f75691d
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 fplll-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/fselect/template b/srcpkgs/fselect/template
index 2aa8aa8bf435d..492c4b11d2720 100644
--- a/srcpkgs/fselect/template
+++ b/srcpkgs/fselect/template
@@ -19,7 +19,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/fswatch/template b/srcpkgs/fswatch/template
index dfb86f7258195..d2f0039c6c379 100644
--- a/srcpkgs/fswatch/template
+++ b/srcpkgs/fswatch/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/emcrisostomo/fswatch/releases/download/${version}/
 checksum=c38e341c567f5f16bfa64b72fc48bba5e93873d8572522e670e6f320bbc2122f
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS=-latomic
 fi
 
diff --git a/srcpkgs/geonkick/template b/srcpkgs/geonkick/template
index 5f73484a3fb75..d7494a6ff5057 100644
--- a/srcpkgs/geonkick/template
+++ b/srcpkgs/geonkick/template
@@ -19,6 +19,5 @@ if [ ${CROSS_BUILD} ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS='-latomic'"
 fi
diff --git a/srcpkgs/giada/template b/srcpkgs/giada/template
index 558097e3a0e25..a7ac263ce2f3d 100644
--- a/srcpkgs/giada/template
+++ b/srcpkgs/giada/template
@@ -16,10 +16,6 @@ changelog="https://github.com/monocasual/giada/raw/master/ChangeLog"
 distfiles="https://github.com/monocasual/giada/archive/v${version}.tar.gz"
 checksum=b879f5ba7e9f34d7422aedd89d1d0baa91387b3528e057b4df25e1f2f8d661ef
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e '/list(APPEND LIBRARIES)/a list(APPEND LIBRARIES atomic)' -i CMakeLists.txt
diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index 8e8698e3388a2..3794571631f4b 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -18,10 +18,6 @@ distfiles="${GNOME_SITE}/gjs/${version%.*}/gjs-${version}.tar.xz"
 checksum=a63f156964b136053eab51ea013114e7d7c193b7518d28c040b6b02c3c933a6d
 make_check_pre="xvfb-run"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_CHECK_PKGS" ]; then
 	hostmakedepends+=" dbus"
 else
diff --git a/srcpkgs/glirc/template b/srcpkgs/glirc/template
index 98a677886ae1c..da205ec9810b9 100644
--- a/srcpkgs/glirc/template
+++ b/srcpkgs/glirc/template
@@ -16,7 +16,6 @@ nopie=yes	# ghc is currently built without PIE support
 _cabal_opts="-g"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	_cabal_opts+=" --ghc-option -latomic"
 fi
 
diff --git a/srcpkgs/glog/template b/srcpkgs/glog/template
index 441a149514fd8..07d7137bc77e1 100644
--- a/srcpkgs/glog/template
+++ b/srcpkgs/glog/template
@@ -18,7 +18,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/glslViewer/template b/srcpkgs/glslViewer/template
index e832b3df7b704..72707d14294fa 100644
--- a/srcpkgs/glslViewer/template
+++ b/srcpkgs/glslViewer/template
@@ -18,10 +18,6 @@ distfiles="https://github.com/patriciogonzalezvivo/glslViewer/archive/${version}
 checksum="4d8bac6a801fa61b81e472a8dabfe5469a43c44547d558849a078ed2c26c8034
  a71f149e84afdf12aa88555efef09d0e420c5d5c6ba9c2d67126ecc49fddaff0"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv ${pkgname}-${version} ${build_wrksrc}
 	mv vera-${_vera_gitrev}/* ${build_wrksrc}/deps/vera
diff --git a/srcpkgs/gnunet/template b/srcpkgs/gnunet/template
index a8a6dabe66bab..1387a3cf6b37b 100644
--- a/srcpkgs/gnunet/template
+++ b/srcpkgs/gnunet/template
@@ -36,10 +36,6 @@ desc_option_jansson="Enable support for jansson"
 desc_option_opus="Enable support for opus"
 desc_option_zbar="Enable support for zbar"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	NOCONFIGURE=1 autoreconf -fi
 }
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 3308afa6e2c30..be803231f80d2 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -35,7 +35,6 @@ if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/goxel/template b/srcpkgs/goxel/template
index 636dd5f66a768..79268eaf8c1aa 100644
--- a/srcpkgs/goxel/template
+++ b/srcpkgs/goxel/template
@@ -13,10 +13,6 @@ homepage="https://guillaumechereau.github.io/goxel/"
 distfiles="https://github.com/guillaumechereau/goxel/archive/v${version}.tar.gz"
 checksum=e3825625e1af9f58593695b0129e39f68a8f3c7d5696c096b8ed2d8b9ac69430
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_build() {
 	if [ "$CROSS_BUILD" ];then
 		vsed -i SConstruct \
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 9c58c2509bee7..f5afad92794ed 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/gzdoom/template b/srcpkgs/gzdoom/template
index 781616f36a931..8991a8a415ce1 100644
--- a/srcpkgs/gzdoom/template
+++ b/srcpkgs/gzdoom/template
@@ -27,7 +27,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/haproxy/template b/srcpkgs/haproxy/template
index 635755fe4173d..c6578e0fc1dcf 100644
--- a/srcpkgs/haproxy/template
+++ b/srcpkgs/haproxy/template
@@ -5,7 +5,7 @@ revision=1
 build_style=gnu-makefile
 make_install_args="SBINDIR=${DESTDIR}/usr/bin DOCDIR=${DESTDIR}/usr/share/doc/${pkgname}"
 hostmakedepends="lua53-devel"
-makedepends="libatomic-devel openssl-devel lua53-devel pcre2-devel"
+makedepends="openssl-devel lua53-devel pcre2-devel"
 checkdepends="curl varnish"
 short_desc="Reliable, high performance TCP/HTTP load balancer"
 maintainer="Zach Dykstra <dykstra.zachary@gmail.com>"
diff --git a/srcpkgs/hedgewars/template b/srcpkgs/hedgewars/template
index 419f29b98b44d..15a1df6d8861d 100644
--- a/srcpkgs/hedgewars/template
+++ b/srcpkgs/hedgewars/template
@@ -35,8 +35,8 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ -n "$_use_c_engine" ]; then
-	hostmakedepends+=" glew-devel libatomic-devel ghc clang"
-	makedepends+=" glew-devel libatomic-devel"
+	hostmakedepends+=" glew-devel ghc clang"
+	makedepends+=" glew-devel"
 	configure_args+=" -DBUILD_ENGINE_C=1"
 	nopie_files+=" /usr/bin/hedgewars"
 fi
diff --git a/srcpkgs/highway/template b/srcpkgs/highway/template
index 47c51ec1d6165..4d6898b62c746 100644
--- a/srcpkgs/highway/template
+++ b/srcpkgs/highway/template
@@ -4,7 +4,6 @@ version=1.0.4
 revision=1
 build_style=cmake
 configure_args="-DHWY_SYSTEM_GTEST=ON -DHWY_ENABLE_EXAMPLES=OFF"
-makedepends="libatomic-devel"
 checkdepends="gtest-devel"
 short_desc="C++ library providing portable SIMD/vector intrinsics"
 maintainer="Joshua Krämer <joshua@kraemer.link>"
diff --git a/srcpkgs/i2pd/template b/srcpkgs/i2pd/template
index f4e21928b9dcc..8cfa4dd9a4954 100644
--- a/srcpkgs/i2pd/template
+++ b/srcpkgs/i2pd/template
@@ -4,8 +4,7 @@ version=2.48.0
 revision=1
 build_style=gnu-makefile
 make_build_args="USE_UPNP=yes"
-makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel
- libatomic-devel"
+makedepends="zlib-devel boost-devel openssl-devel miniupnpc-devel"
 short_desc="Full-featured C++ implementation of I2P client"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/inkscape/template b/srcpkgs/inkscape/template
index aa1ab218a442c..49633b61fd861 100644
--- a/srcpkgs/inkscape/template
+++ b/srcpkgs/inkscape/template
@@ -24,10 +24,6 @@ distfiles="https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.
 checksum=a0c7fd0d03c0a21535e648ef301dcf80dd7cfc1f3545e51065fbf1ba3ee8a5c4
 python_version=3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ "$XBPS_TARGET_LIBC" = musl ]; then
 		# disable errors for missing sentinels in glib variadic functions,
diff --git a/srcpkgs/jack_capture/template b/srcpkgs/jack_capture/template
index 5b604fdb2ed50..b5c59179d8d15 100644
--- a/srcpkgs/jack_capture/template
+++ b/srcpkgs/jack_capture/template
@@ -14,7 +14,6 @@ checksum=21afb0257ed7437708cc9e5bec2f6299599461b7eec8bf66967d8ecadb0751de
 CFLAGS+=" -D__USE_GNU"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/kdiff3/template b/srcpkgs/kdiff3/template
index 7ca6d77c9de2d..439abb790839a 100644
--- a/srcpkgs/kdiff3/template
+++ b/srcpkgs/kdiff3/template
@@ -19,6 +19,5 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 if [ $XBPS_TARGET_NO_ATOMIC8 ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 46cbf7b318116..5ede09fb77532 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -20,6 +20,5 @@ checksum=2149cceac5526508653f4d02dcf7a694e3da3dc000a2372a1ee4bf9988279781
 system_groups="kismet"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/kiwix-lib/template b/srcpkgs/kiwix-lib/template
index 6534f59384a53..4b8fa31866db7 100644
--- a/srcpkgs/kiwix-lib/template
+++ b/srcpkgs/kiwix-lib/template
@@ -14,10 +14,6 @@ changelog="https://github.com/kiwix/kiwix-lib/blob/${version}/ChangeLog"
 distfiles="https://sources.voidlinux-ppc.org/kiwix-lib-${version}/${version}.tar.gz"
 checksum=f76bfa90411c52d4d8c49ac5767928fc28d01ef26916d72df4856cf08b064202
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kiwix-lib-devel_package() {
 	short_desc+=" - development packages"
 	depends="pugixml-devel icu-devel xapian-core-devel libzim-devel
diff --git a/srcpkgs/kiwix-tools/template b/srcpkgs/kiwix-tools/template
index e9f0841b61aea..300aba74fecae 100644
--- a/srcpkgs/kiwix-tools/template
+++ b/srcpkgs/kiwix-tools/template
@@ -13,10 +13,6 @@ changelog="https://github.com/kiwix/kiwix-tools/blob/${version}/Changelog"
 distfiles="https://github.com/kiwix/kiwix-tools/archive/${version}.tar.gz"
 checksum=86325ec31976d40357f08c520806cf223fa1b0a5edb02ad106c2a0d6746ca364
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ] || [ "${XBPS_TARGET_MACHINE/-musl/}" = "armv7l" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" kiwix-lib-devel"
 fi
diff --git a/srcpkgs/kjsembed/template b/srcpkgs/kjsembed/template
index 1dcfd1d8338e6..6c3b334e85942 100644
--- a/srcpkgs/kjsembed/template
+++ b/srcpkgs/kjsembed/template
@@ -16,10 +16,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-host-tools qt5-qmake kdoctools"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kjsembed-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index 8057964d78a38..bd5433969db64 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -96,7 +96,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
 	LDFLAGS+=" -latomic"
 fi
diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template
index 8280590f39efc..420783517167f 100644
--- a/srcpkgs/krita/template
+++ b/srcpkgs/krita/template
@@ -32,10 +32,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) makedepends+=" vc";;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	# CMake won't search in those directories because of CMAKE_FIND_ROOT_PATH
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/kross/template b/srcpkgs/kross/template
index 49bc5f603ed85..0f287825f7ae6 100644
--- a/srcpkgs/kross/template
+++ b/srcpkgs/kross/template
@@ -15,10 +15,6 @@ homepage="https://invent.kde.org/frameworks/kross"
 distfiles="${KDE_SITE}/frameworks/${version%.*}/portingAids/${pkgname}-${version}.tar.xz"
 checksum=3f0eac7ceaf22fae6202efb66b73e192b781e5733566cbf3362d82be8e8cbe8e
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 kross-devel_package() {
 	short_desc+=" - development"
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/kwin/template b/srcpkgs/kwin/template
index c530ec5ea57d6..91a1176995720 100644
--- a/srcpkgs/kwin/template
+++ b/srcpkgs/kwin/template
@@ -13,8 +13,7 @@ makedepends="plasma-framework-devel kcmutils-devel knewstuff-devel
  kscreenlocker-devel kinit-devel xcb-util-cursor-devel qt5-multimedia-devel
  kdecoration-devel libxkbcommon-devel libinput-devel libSM-devel
  libICE-devel xcb-util-wm-devel qt5-sensors-devel lcms2-devel
- pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids
- libatomic-devel"
+ pipewire-devel krunner-devel xorg-server-xwayland libxcvt-devel hwids"
 depends="breeze hicolor-icon-theme kinit qt5-core>=5.15.2<5.16.0
  hwids libcap-progs"
 short_desc="KDE Window manager"
diff --git a/srcpkgs/lc0/template b/srcpkgs/lc0/template
index 9e419aa99689a..01ad362471c70 100644
--- a/srcpkgs/lc0/template
+++ b/srcpkgs/lc0/template
@@ -27,10 +27,6 @@ if [ "$CROSS_BUILD" ] && [ "$build_option_openblas" ]; then
 	configure_args+=" -Dopenblas_include=${XBPS_CROSS_BASE}/usr/include/openblas/"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc*) export CXXFLAGS+=" -DNO_WARN_X86_INTRINSICS";;
 esac
diff --git a/srcpkgs/libdex/template b/srcpkgs/libdex/template
index 4c6f15150f4a4..06b6c90365726 100644
--- a/srcpkgs/libdex/template
+++ b/srcpkgs/libdex/template
@@ -10,7 +10,7 @@ configure_args="-Dexamples=false
  $(vopt_bool vala vapi)"
 hostmakedepends="pkg-config glib-devel gettext
  $(vopt_if vala vala) $(vopt_if gtk_doc gi-docgen)"
-makedepends="glib-devel libgirepository-devel libatomic-devel
+makedepends="glib-devel libgirepository-devel
  liburing-devel $(vopt_if vala 'vala vala-devel')"
 short_desc="Future-based programming for GLib-based applications"
 maintainer="oreo639 <oreo6391@gmail.com>"
diff --git a/srcpkgs/libfilezilla/template b/srcpkgs/libfilezilla/template
index 3f14afac2e55a..ada549cb23f35 100644
--- a/srcpkgs/libfilezilla/template
+++ b/srcpkgs/libfilezilla/template
@@ -16,7 +16,6 @@ distfiles="https://download.filezilla-project.org/${pkgname}/${pkgname}-${versio
 checksum=2a8f57a06b52f6413b47d6a5dfbe7e9e31c84cc0784076f2f7e395232b0bd461
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index 8aa7c970accbb..a32e13469a280 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -26,7 +26,6 @@ checksum="c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420
 skip_extraction="skcms-${_skcms_hash}.tar.gz"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/libogre/template b/srcpkgs/libogre/template
index aa04d72212472..38e9cb9d52c6c 100644
--- a/srcpkgs/libogre/template
+++ b/srcpkgs/libogre/template
@@ -8,7 +8,7 @@ configure_args="-DOGRE_INSTALL_SAMPLES=TRUE -DOGRE_INSTALL_DOCS=TRUE
 make_build_target="all OgreDoc"
 hostmakedepends="pkg-config graphviz doxygen dejavu-fonts-ttf"
 makedepends="boost-devel freetype-devel libXaw-devel libXrandr-devel
- MesaLib-devel zziplib-devel libcppunit-devel glu-devel libatomic-devel
+ MesaLib-devel zziplib-devel libcppunit-devel glu-devel
  freeimage-devel pugixml-devel python3-devel"
 short_desc="Scene-oriented, flexible 3D engine"
 maintainer="Enno Boland <gottox@voidlinux.org>"
diff --git a/srcpkgs/libopenshot-audio/template b/srcpkgs/libopenshot-audio/template
index 99ed64a757f4e..deeb6fae494e2 100644
--- a/srcpkgs/libopenshot-audio/template
+++ b/srcpkgs/libopenshot-audio/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/OpenShot/libopenshot-audio/archive/v${version}.tar
 checksum=007ba6ee812a58506341dd66055dba575b3907e5274a0e7416f99c2fbb80021c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/libplacebo/template b/srcpkgs/libplacebo/template
index b58d978095d1a..9258c184247d5 100644
--- a/srcpkgs/libplacebo/template
+++ b/srcpkgs/libplacebo/template
@@ -16,7 +16,6 @@ distfiles="https://code.videolan.org/videolan/libplacebo/-/archive/v${version}/l
 checksum=7b3c857934ee3d30f743e43d7f0606e10950806661ea0ea385f8a1f06cbab854
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template
index bf5d7af39190a..35c83414acaf1 100644
--- a/srcpkgs/libreoffice/template
+++ b/srcpkgs/libreoffice/template
@@ -170,10 +170,6 @@ case "$XBPS_TARGET_MACHINE" in
 		;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS+=" -DGLM_ENABLE_EXPERIMENTAL -DU_USING_ICU_NAMESPACE=1"
 
 # Move files listed in a <name>_list.txt into $PKGDESTDIR
diff --git a/srcpkgs/libtd/template b/srcpkgs/libtd/template
index a54fe851decf6..68f7106dfebcb 100644
--- a/srcpkgs/libtd/template
+++ b/srcpkgs/libtd/template
@@ -19,7 +19,6 @@ fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
-	makedepends+=" libatomic-devel"
 fi
 
 pre_configure() {
diff --git a/srcpkgs/libtorrent-rasterbar/template b/srcpkgs/libtorrent-rasterbar/template
index b34c92df1ee24..297239391080b 100644
--- a/srcpkgs/libtorrent-rasterbar/template
+++ b/srcpkgs/libtorrent-rasterbar/template
@@ -19,10 +19,6 @@ CXXFLAGS="-std=c++14"
 
 # TODO: The test_resume failed in CI for i686 but passed with xbps-uunshare
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i CMakeLists.txt -e "s;Threads::Threads;& atomic;"
@@ -51,9 +47,6 @@ libtorrent-rasterbar-python3_package() {
 
 libtorrent-rasterbar-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision} openssl-devel boost-devel geoip-devel"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index aea0b43cf573b..86e86bb96c63f 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -27,7 +27,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm12>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/llvm15/template b/srcpkgs/llvm15/template
index 7eaadb18b9d65..81571270b03c3 100644
--- a/srcpkgs/llvm15/template
+++ b/srcpkgs/llvm15/template
@@ -32,7 +32,7 @@ configure_args="
 hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx
  python3-recommonmark python3-sphinx-automodapi"
 makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
- libxml2-devel binutils-devel libatomic-devel"
+ libxml2-devel binutils-devel"
 depends="libllvm15>=${version}_${revision}"
 short_desc="Low Level Virtual Machine"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/lms/template b/srcpkgs/lms/template
index d20ae1ec1fc86..2df52c51dbfe6 100644
--- a/srcpkgs/lms/template
+++ b/srcpkgs/lms/template
@@ -18,7 +18,6 @@ _lms_homedir="/var/lms"
 make_dirs="/var/lms 755 _lms _lms"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template
index 95e5eeb77d527..f8987e06ed1c6 100644
--- a/srcpkgs/mariadb/template
+++ b/srcpkgs/mariadb/template
@@ -19,7 +19,7 @@ configure_args="-DBUILD_CONFIG=mysql_release
  -DWITH_READLINE=ON -DWITH_SYSTEMD=no -DWITH_PCRE=system"
 hostmakedepends="bison perl flex pkg-config"
 makedepends="ncurses-devel gnutls-devel libaio-devel boost-devel pam-devel zlib-devel
- pcre2-devel libatomic-devel"
+ pcre2-devel"
 depends="perl"
 checkdepends="perl"
 short_desc="Fast SQL database server, drop-in replacement for MySQL"
@@ -83,7 +83,7 @@ libmariadbclient_package() {
 }
 
 libmariadbclient-devel_package() {
-	depends="libmariadbclient>=${version}_${revision} libatomic-devel"
+	depends="libmariadbclient>=${version}_${revision}"
 	provides="libmysqlclient-devel-${version}_${revision}"
 	replaces="libmysqlclient-devel>=0"
 	short_desc+=" - client development files"
diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index b07f38864ea8e..df788fe3b0f00 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -11,7 +11,7 @@ configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
 hostmakedepends="gettext flex llvm pkg-config python3-Mako glslang
  $(vopt_if wayland 'wayland-protocols wayland-devel')"
 makedepends="elfutils-devel expat-devel libXdamage-devel
- libXxf86vm-devel libatomic-devel libdrm-devel libffi-devel libva-devel
+ libXxf86vm-devel libdrm-devel libffi-devel libva-devel
  libvdpau-devel libxshmfence-devel ncurses-devel zlib-devel
  $(vopt_if wayland 'wayland-devel wayland-protocols') llvm libsensors-devel
  libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua53-devel
diff --git a/srcpkgs/mgba/template b/srcpkgs/mgba/template
index ae0504311eee0..4af085188bf44 100644
--- a/srcpkgs/mgba/template
+++ b/srcpkgs/mgba/template
@@ -15,7 +15,6 @@ distfiles="https://github.com/mgba-emu/${pkgname}/archive/${version}.tar.gz"
 checksum="60afef8fb79ba1f7be565b737bae73c6604a790391c737f291482a7422d675ae"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/mlt/template b/srcpkgs/mlt/template
index 8933eb4e7bb9e..5ad199461e694 100644
--- a/srcpkgs/mlt/template
+++ b/srcpkgs/mlt/template
@@ -11,7 +11,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which"
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel"
+ libvidstab-devel"
 depends="mlt-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="Orphaned <orphan@voidlinux.org>"
diff --git a/srcpkgs/mlt7/template b/srcpkgs/mlt7/template
index 9fb7f60d692e1..df3e2c559ad6c 100644
--- a/srcpkgs/mlt7/template
+++ b/srcpkgs/mlt7/template
@@ -9,7 +9,7 @@ hostmakedepends="doxygen pkg-config ladspa-sdk swig python3 which
 makedepends="alsa-lib-devel ffmpeg-devel gtk+-devel jack-devel ladspa-sdk
  libexif-devel libsamplerate-devel libxml2-devel sox-devel SDL_image-devel
  fftw-devel frei0r-plugins python3-devel pulseaudio-devel movit-devel
- libvidstab-devel libatomic-devel qt5-svg-devel"
+ libvidstab-devel qt5-svg-devel"
 depends="mlt7-data>=${version}_${revision} ladspa-sdk-example-plugins"
 short_desc="Multimedia framework, designed for television broadcasting"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index e7735cb57f4fc..991c06425b436 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -40,10 +40,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="Does not build"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	mv mozc-* mozc
 
diff --git a/srcpkgs/mozjs102/template b/srcpkgs/mozjs102/template
index 4bbc084b5a44d..2bb2d3e7287a1 100644
--- a/srcpkgs/mozjs102/template
+++ b/srcpkgs/mozjs102/template
@@ -25,7 +25,6 @@ checksum=47f8f6243bce8c2ef51adf8c9626bbf643e1c225dcb9ba5653a055ed5e76ca48
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
index 10d9af44619f7..8e7175156669c 100644
--- a/srcpkgs/mozjs78/template
+++ b/srcpkgs/mozjs78/template
@@ -21,7 +21,6 @@ CXXFLAGS="-Wno-class-memaccess"
 LDFLAGS="-Wl,-z,stack-size=1048576"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/mpv/template b/srcpkgs/mpv/template
index d4fefbf5e3c7c..80a5d524d9e67 100644
--- a/srcpkgs/mpv/template
+++ b/srcpkgs/mpv/template
@@ -43,10 +43,6 @@ changelog="https://github.com/mpv-player/mpv/releases"
 distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
 checksum=41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2
  sndio vapoursynth vdpau vulkan wayland x11"
 build_options_default="alsa jack lcms lua pulseaudio pipewire vdpau vulkan
diff --git a/srcpkgs/musikcube/template b/srcpkgs/musikcube/template
index 7c569303c0543..193cb06a5fadb 100644
--- a/srcpkgs/musikcube/template
+++ b/srcpkgs/musikcube/template
@@ -24,10 +24,6 @@ build_options_default="elogind"
 
 export CMAKE_GENERATOR="Unix Makefiles"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.txt
 }
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 176bcf26d8c53..2d670e5e284ed 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -37,7 +37,6 @@ system_accounts="_netdata"
 conf_files="/etc/${pkgname}/*.conf"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export LIBS="-latomic"
 fi
diff --git a/srcpkgs/nix/template b/srcpkgs/nix/template
index 20eb0d85fdaf4..06f34d6e9a0f1 100644
--- a/srcpkgs/nix/template
+++ b/srcpkgs/nix/template
@@ -62,10 +62,6 @@ make_dirs="
 	/nix/var/nix/db 0755 root root
 	/nix/store 1775 root nixbld"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	./bootstrap.sh
 }
diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template
index aa03b7f48c27e..31268b558f81b 100644
--- a/srcpkgs/nodejs/template
+++ b/srcpkgs/nodejs/template
@@ -3,10 +3,10 @@ pkgname=nodejs
 version=18.16.0
 revision=2
 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079
-hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel
+hostmakedepends="which pkg-config python3 zlib-devel
  $(vopt_if icu icu-devel) $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
-makedepends="libatomic-devel zlib-devel $(vopt_if icu icu-devel)
+makedepends="zlib-devel $(vopt_if icu icu-devel)
  $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
  $(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)"
 checkdepends="procps-ng iana-etc"
diff --git a/srcpkgs/nushell/template b/srcpkgs/nushell/template
index c0ea4d3a94e0b..8bcb50e307c86 100644
--- a/srcpkgs/nushell/template
+++ b/srcpkgs/nushell/template
@@ -6,7 +6,7 @@ build_style=cargo
 configure_args="--features=extra"
 hostmakedepends="pkg-config python3 libgit2-devel"
 makedepends="openssl-devel libgit2-devel libX11-devel libxcb-devel
- libatomic-devel libcurl-devel libzstd-devel liblz4-devel zlib-devel
+ libcurl-devel libzstd-devel liblz4-devel zlib-devel
  nghttp2-devel bzip2-devel sqlite-devel"
 short_desc="Modern shell for the GitHub era"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 69c635b1ad2bc..62226978fa3e0 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -30,10 +30,6 @@ patch_args="-Np1 -d ${build_wrksrc}"
 # tests hang indenfinitely, even with test data included
 make_check=no
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
diff --git a/srcpkgs/opendht/template b/srcpkgs/opendht/template
index 2902fc6d4a701..25d74d1138c6b 100644
--- a/srcpkgs/opendht/template
+++ b/srcpkgs/opendht/template
@@ -14,10 +14,6 @@ homepage="https://github.com/savoirfairelinux/opendht"
 distfiles="https://github.com/savoirfairelinux/opendht/archive/refs/tags/v${version}.tar.gz"
 checksum=5144bc4456d396b527b59065064bbc31fbe0d2af5fd052506219a66895791e64
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 opendht-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision} gnutls-devel nettle-devel"
diff --git a/srcpkgs/openimageio/template b/srcpkgs/openimageio/template
index 0e9e22e9685d9..69a9e23786942 100644
--- a/srcpkgs/openimageio/template
+++ b/srcpkgs/openimageio/template
@@ -27,10 +27,6 @@ case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*) configure_args+=" -DUSE_SIMD=sse2" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense LICENSE.md LICENSE
 }
diff --git a/srcpkgs/openmpi/template b/srcpkgs/openmpi/template
index 291225502c4f1..77038695442e7 100644
--- a/srcpkgs/openmpi/template
+++ b/srcpkgs/openmpi/template
@@ -28,7 +28,6 @@ else
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	export LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/openmw/template b/srcpkgs/openmw/template
index 70a9ec64a4cd8..3462591ec174f 100644
--- a/srcpkgs/openmw/template
+++ b/srcpkgs/openmw/template
@@ -30,7 +30,6 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/openttd/template b/srcpkgs/openttd/template
index 4bfb9a56c0768..40596ac750b28 100644
--- a/srcpkgs/openttd/template
+++ b/srcpkgs/openttd/template
@@ -34,10 +34,6 @@ checksum="aafa16d2fb67165134c73a888f79f7a5ed7da17a04cf6e9ecf672c9cb89e7192
  e0a218b7dd9438e701503b0f84c25a97c1c11b7c2f025323fb19d6db16ef3759
  5a4277a2e62d87f2952ea5020dc20fb2f6ffafdccf9913fbf35ad45ee30ec762"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	bsdtar xf opengfx-${_gfxver}.tar
 	bsdtar xf opensfx-${_sfxver}.tar
diff --git a/srcpkgs/openvdb/template b/srcpkgs/openvdb/template
index 0084a3cb85bae..30a61927059d9 100644
--- a/srcpkgs/openvdb/template
+++ b/srcpkgs/openvdb/template
@@ -23,7 +23,6 @@ if [ "$XBPS_WORDSIZE" -eq 32 ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index eacba5647d8e6..a24ce15e5970e 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -45,7 +45,6 @@ desc_option_ffado="Enable support for FireWire based audio devices"
 replaces="libpulseaudio-pipewire>=0"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/plocate/template b/srcpkgs/plocate/template
index bc37ca01e9740..32a64971a2699 100644
--- a/srcpkgs/plocate/template
+++ b/srcpkgs/plocate/template
@@ -26,7 +26,6 @@ alternatives="
  locate:updatedb.conf.5:/usr/share/man/man5/pupdatedb.conf.5"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index f27cb3e5dbeff..377183469ae74 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -24,7 +24,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/polybar/template b/srcpkgs/polybar/template
index b59ed9cd039a8..10d3ffa4ba75f 100644
--- a/srcpkgs/polybar/template
+++ b/srcpkgs/polybar/template
@@ -38,7 +38,6 @@ desc_option_mpd="Enable support for MPD"
 desc_option_network="Enable support for network"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/primesieve/template b/srcpkgs/primesieve/template
index 84452b604d55f..eb8b48b9ad31f 100644
--- a/srcpkgs/primesieve/template
+++ b/srcpkgs/primesieve/template
@@ -12,10 +12,6 @@ changelog="https://raw.githubusercontent.com/kimwalisch/primesieve/master/Change
 distfiles="https://github.com/kimwalisch/primesieve/archive/refs/tags/v${version}.tar.gz"
 checksum=bab3bc4a1f3247f95b83dfc494ab0ce37a370a7b05379640f58e786d8d5fba61
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vlicense COPYING
 }
diff --git a/srcpkgs/prometheus-cpp/template b/srcpkgs/prometheus-cpp/template
index 3012d53ef47a6..d0a4f97698010 100644
--- a/srcpkgs/prometheus-cpp/template
+++ b/srcpkgs/prometheus-cpp/template
@@ -8,7 +8,7 @@ _hash_civetweb=fbdee7440be24f904208c15a1fc9e2582b866049
 create_wrksrc=yes
 build_style=cmake
 hostmakedepends="telegraf protobuf"
-makedepends="protobuf-devel libatomic-devel"
+makedepends="protobuf-devel"
 short_desc="Prometheus Client Library in Modern C++"
 maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="MIT"
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 828c4b050fdca..a0bfce84c0c1f 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -8,8 +8,7 @@ configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
  -Dprotobuf_BUILD_TESTS=OFF"
 # XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
 hostmakedepends="pkg-config"
-makedepends="zlib-devel gtest-devel libatomic-devel
- abseil-cpp-devel"
+makedepends="zlib-devel gtest-devel abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
diff --git a/srcpkgs/python3-grpcio-tools/template b/srcpkgs/python3-grpcio-tools/template
index e36b420967f64..fba74665b9062 100644
--- a/srcpkgs/python3-grpcio-tools/template
+++ b/srcpkgs/python3-grpcio-tools/template
@@ -16,10 +16,6 @@ checksum=84cc64e5b46bad43d5d7bd2fd772b656eba0366961187a847e908e2cb735db91
 
 export GRPC_PYTHON_BUILD_WITH_CYTHON=1
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_check() {
 	# Subprocesses fail to find the compiled extension when only
 	# PYTHONPATH is set, so copy the extension into to source tree
diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 25ea3fc346208..25662e963632e 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -14,10 +14,6 @@ homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
 checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"
 fi
diff --git a/srcpkgs/python3-pyqt6/template b/srcpkgs/python3-pyqt6/template
index 2cf8da5e62b50..881668fd7a1f9 100644
--- a/srcpkgs/python3-pyqt6/template
+++ b/srcpkgs/python3-pyqt6/template
@@ -20,10 +20,6 @@ distfiles="$PYPI_SITE/P/PyQt6/PyQt6-$version.tar.gz"
 checksum=b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc
 lib32disabled=yes
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # Split like qt6, but keep qt6-core in main pkg
 
 python3-pyqt6-core-devel_package() {
diff --git a/srcpkgs/qpdf/template b/srcpkgs/qpdf/template
index 5e16b8b5d050a..46bddaf810736 100644
--- a/srcpkgs/qpdf/template
+++ b/srcpkgs/qpdf/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/qpdf/qpdf/archive/refs/tags/v${version}.tar.gz"
 checksum=0e15aaed511928a3d0f5a416e6521640a561a8ce522c574f93ef6472915151f3
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS="-latomic"
 fi
 
diff --git a/srcpkgs/qt5-webengine/template b/srcpkgs/qt5-webengine/template
index edeb07f1ab7a7..679d0fa2ad84b 100644
--- a/srcpkgs/qt5-webengine/template
+++ b/srcpkgs/qt5-webengine/template
@@ -60,24 +60,10 @@ if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
 	broken="webengine only supports little endian"
 fi
 
-if [ "$XBPS_NO_ATOMIC8" ]; then
-	hostmakedepends+=" libatomic-devel"
-fi
-
-# ppc64 still needs libatomic here, as does s390x but we don't have that
-case "$XBPS_MACHINE" in
-	ppc64*) hostmakedepends+=" libatomic-devel"
-esac
-
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
-case "$XBPS_TARGET_MACHINE" in
-	ppc64*) makedepends+=" libatomic-devel" ;;
-esac
-
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*-musl) makedepends+=" libucontext-devel" ;;
 esac
diff --git a/srcpkgs/qt5-webkit/template b/srcpkgs/qt5-webkit/template
index b66658071d43d..4ea5f11b1fc0a 100644
--- a/srcpkgs/qt5-webkit/template
+++ b/srcpkgs/qt5-webkit/template
@@ -41,7 +41,6 @@ esac
 
 # some platforms need libatomic
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LIBS+=" -latomic"
 fi
 
diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index d3821efbe3784..86ea3ec2c11b9 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -49,10 +49,6 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" postgresql-libs-devel"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 _cleanup_wrksrc_leak() {
 	if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then
 		# Replace references to ${wrksrc} in cmake files
@@ -1075,9 +1071,6 @@ qt5-devel_package() {
 		qt5-network-${version}_${revision}
 		qt5-xml-${version}_${revision}
 		qt5-host-tools-${version}_${revision}"
-	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-		depends+=" libatomic-devel"
-	fi
 	short_desc+=" - Development files"
 	# qt5-enginio-devel is gone
 	pkg_install() {
diff --git a/srcpkgs/qt6-3d/template b/srcpkgs/qt6-3d/template
index 4b7fbee0562e4..cce8faba43362 100644
--- a/srcpkgs/qt6-3d/template
+++ b/srcpkgs/qt6-3d/template
@@ -4,8 +4,7 @@ version=6.5.0
 revision=1
 build_style=cmake
 hostmakedepends="perl qt6-declarative-host-tools"
-makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel
- libatomic-devel"
+makedepends="qt6-declarative-devel qt6-shadertools-devel libassimp-devel"
 short_desc="Cross-platform application and UI framework - 3d"
 maintainer="John <me@johnnynator.dev>"
 license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
diff --git a/srcpkgs/qt6-base/template b/srcpkgs/qt6-base/template
index c2e526cf9c223..891d14580c73a 100644
--- a/srcpkgs/qt6-base/template
+++ b/srcpkgs/qt6-base/template
@@ -23,7 +23,7 @@ makedepends="zlib-devel libzstd-devel dbus-devel
  xcb-util-renderutil-devel xcb-util-wm-devel
  MesaLib-devel pcre2-devel icu-devel mtdev-devel harfbuzz-devel
  libpng-devel tslib-devel libinput-devel gtk+3-devel
- libmariadbclient-devel postgresql-libs-devel libatomic-devel
+ libmariadbclient-devel postgresql-libs-devel
  unixodbc-devel cups-devel libproxy-devel brotli-devel
  sqlite-devel Vulkan-Headers mit-krb5-devel vulkan-loader libb2-devel
  xcb-util-cursor-devel"
diff --git a/srcpkgs/qt6-tools/template b/srcpkgs/qt6-tools/template
index 2d13e8974409c..2166d4aa633ff 100644
--- a/srcpkgs/qt6-tools/template
+++ b/srcpkgs/qt6-tools/template
@@ -9,7 +9,7 @@ configure_args="-DEXTERNAL_GUMBO=ON -DLITEHTML_UTF8=ON -DUSE_ICU=ON
  -DQT_FEATURE_distancefieldgenerator=ON"
 hostmakedepends="qt6-base perl qt6-plugin-sqlite clang llvm clang-tools-extra
  qt6-declarative-host-tools"
-makedepends="qt6-base-devel libatomic-devel qt6-plugin-sqlite qt6-declarative-devel
+makedepends="qt6-base-devel qt6-plugin-sqlite qt6-declarative-devel
  gumbo-parser-devel icu-devel llvm clang-tools-extra"
 short_desc="Cross-platform application and UI framework (QT6) - qt6-tools component"
 maintainer="John <me@johnnynator.dev>"
diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template
index 71beaceaf3b64..8438bb1229dd1 100644
--- a/srcpkgs/qtcreator/template
+++ b/srcpkgs/qtcreator/template
@@ -36,7 +36,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CXXFLAGS+=" -latomic "
 fi
 
diff --git a/srcpkgs/qtox/template b/srcpkgs/qtox/template
index 16019d7eaec9e..39c643fecdb5a 100644
--- a/srcpkgs/qtox/template
+++ b/srcpkgs/qtox/template
@@ -23,7 +23,3 @@ checksum=cd0781241b4ea536da90ce8c72ad9f2aa9bbdf9fbae5d38ee645e30d790fa7f2
 build_options="snorenotify"
 build_options_default="snorenotify"
 desc_option_snorenotify="Enable support for desktop notifications"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
diff --git a/srcpkgs/quickjs/template b/srcpkgs/quickjs/template
index 562ca371bc5db..52e343d12ff81 100644
--- a/srcpkgs/quickjs/template
+++ b/srcpkgs/quickjs/template
@@ -19,7 +19,6 @@ if [ "$CROSS_BUILD" ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	CFLAGS+=" -DLINK_ATOMIC"
 	export EXTRA_LIBS="-latomic"
 fi
diff --git a/srcpkgs/rawtherapee/template b/srcpkgs/rawtherapee/template
index 6745c96a109ae..463d9cfb3f127 100644
--- a/srcpkgs/rawtherapee/template
+++ b/srcpkgs/rawtherapee/template
@@ -5,7 +5,7 @@ revision=2
 build_style=cmake
 configure_args="-DCACHE_NAME_SUFFIX=\"\""
 hostmakedepends="pkg-config"
-makedepends="fftw-devel gtkmm-devel lensfun-devel libatomic-devel
+makedepends="fftw-devel gtkmm-devel lensfun-devel
  libcanberra-devel libgomp-devel libiptcdata-devel librsvg-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Free RAW converter and digital photo processing software"
diff --git a/srcpkgs/receivemidi/template b/srcpkgs/receivemidi/template
index 7d83a46b3cb49..4f9a0b7566cd5 100644
--- a/srcpkgs/receivemidi/template
+++ b/srcpkgs/receivemidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/ReceiveMIDI/releases"
 distfiles="https://github.com/gbevin/ReceiveMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=54697ad1a723eea5e3f19ec3bf153795e765b278953dde8be7f350001637bc0a
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/redis/template b/srcpkgs/redis/template
index 8e8ac83a965f7..39c45c443d30b 100644
--- a/srcpkgs/redis/template
+++ b/srcpkgs/redis/template
@@ -29,10 +29,6 @@ else
 	make_build_args+=" MALLOC=jemalloc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	vsed -i \
 		-e "s|^# bind 127.0.0.1|bind 127.0.0.1|" \
diff --git a/srcpkgs/renderdoc/template b/srcpkgs/renderdoc/template
index 39d51d2416770..b663608ce29ec 100644
--- a/srcpkgs/renderdoc/template
+++ b/srcpkgs/renderdoc/template
@@ -34,7 +34,6 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DNEED_LIBATOMIC=ON"
 fi
 
diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template
index 8a0786c21a082..5fe0e45e4cb0b 100644
--- a/srcpkgs/retroshare/template
+++ b/srcpkgs/retroshare/template
@@ -20,10 +20,6 @@ checksum=c545b9249ac7dbfef72a2d636bc0f8b729c7ce05f21a54dd9284b2a387592d4a
 
 export CXXFLAGS="-std=c++14"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	for l in COPYING LICENSES/*; do
 		vlicense "$l"
diff --git a/srcpkgs/rocksdb/template b/srcpkgs/rocksdb/template
index 4da7dfcf0673f..eea463a6d1a9f 100644
--- a/srcpkgs/rocksdb/template
+++ b/srcpkgs/rocksdb/template
@@ -13,10 +13,6 @@ homepage="https://github.com/facebook/rocksdb"
 distfiles="https://github.com/facebook/rocksdb/archive/v${version}.tar.gz"
 checksum=886378093098a1b2521b824782db7f7dd86224c232cf9652fcaf88222420b292
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="assembler errors"
 fi
diff --git a/srcpkgs/rubberband/template b/srcpkgs/rubberband/template
index 04e4d91c0f105..32f1f9f160794 100644
--- a/srcpkgs/rubberband/template
+++ b/srcpkgs/rubberband/template
@@ -17,7 +17,6 @@ distfiles="https://breakfastquay.com/files/releases/rubberband-${version}.tar.bz
 checksum=82edacd0c50bfe56a6a85db1fcd4ca3346940ffe02843fc50f8b92f99a97d172
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 3331675ac2509..0d955b4a8d146 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -41,11 +41,6 @@ else
 	hostmakedepends+=" rust-bootstrap"
 fi
 
-# see https://github.com/rust-lang/rust/commit/1db81713f6475bebd0ae689ac7139c53d2843c48
-case "$XBPS_TARGET_MACHINE" in
-	armv*) makedepends+=" libatomic-devel" ;;
-esac
-
 # we need this because cargo verifies checksums of all files in vendor
 # crates when it builds and gives us no way to override or update the
 # file sanely... so just clear out the file list
diff --git a/srcpkgs/sendmidi/template b/srcpkgs/sendmidi/template
index 95b1862e1a619..2b44c25e7247a 100644
--- a/srcpkgs/sendmidi/template
+++ b/srcpkgs/sendmidi/template
@@ -15,10 +15,6 @@ changelog="https://github.com/gbevin/SendMIDI/releases"
 distfiles="https://github.com/gbevin/SendMIDI/archive/refs/tags/${version}.tar.gz"
 checksum=3fb3d16ee14784e057e633b6e57fede33ac291d9af85942106fde8b431e15740
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_patch() {
 	if [ -z "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -e 's/-latomic//g' -i Makefile
diff --git a/srcpkgs/snapcast/template b/srcpkgs/snapcast/template
index 2440d44d8f513..399882ada2065 100644
--- a/srcpkgs/snapcast/template
+++ b/srcpkgs/snapcast/template
@@ -21,10 +21,6 @@ checksum=c662c6eafbaa42a4797a4ed6ba4a7602332abf99f6ba6ea88ff8ae59978a86ba
 build_options="avahi pulseaudio"
 build_options_default="avahi pulseaudio"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_install() {
 	vdoc README.md
 	vdoc doc/player_setup.md
diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index c406f9c72c155..3a7a68fc13bf9 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -22,7 +22,6 @@ checksum="ab4b3a5fecb1800f8eab82a92138a70227e869d2066ee881441b1e13035786dc
 nocross="https://travis-ci.org/bobertlo/void-packages/jobs/487251265"
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args=" -DCMAKE_CXX_STANDARD_LIBRARIES='-latomic'"
 fi
 
diff --git a/srcpkgs/sonic-visualiser/template b/srcpkgs/sonic-visualiser/template
index 0f70214f8570a..f563ad3d40a63 100644
--- a/srcpkgs/sonic-visualiser/template
+++ b/srcpkgs/sonic-visualiser/template
@@ -16,10 +16,6 @@ changelog="https://raw.githubusercontent.com/sonic-visualiser/sonic-visualiser/d
 distfiles="https://github.com/sonic-visualiser/sonic-visualiser/releases/download/sv_v${version}/sonic-visualiser-${version}.tar.gz"
 checksum=0816e1ba9e3f97af495ece2554186bccad1cf47090ff8a13f1d08322212db487
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		vsed -i "s/^general_link_args = \[\]/general_link_args = \['-latomic'\]/" meson.build
diff --git a/srcpkgs/squid/template b/srcpkgs/squid/template
index 49b9eb9d7b916..ca758380e900d 100644
--- a/srcpkgs/squid/template
+++ b/srcpkgs/squid/template
@@ -60,7 +60,6 @@ system_accounts="squid"
 make_check=no
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/srt/template b/srcpkgs/srt/template
index 76a4d1055c7c5..3fa0bbcbddbdb 100644
--- a/srcpkgs/srt/template
+++ b/srcpkgs/srt/template
@@ -16,10 +16,6 @@ changelog="https://github.com/Haivision/srt/releases"
 distfiles="https://github.com/Haivision/srt/archive/refs/tags/v${version}.tar.gz"
 checksum=463970a3f575446b3f55abb6f323d5476c963c77b3c975cd902e9c87cdd9a92c
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 libsrt_package() {
 	depends="libsrt>=${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/stockfish/template b/srcpkgs/stockfish/template
index 363603f83d5a3..5203abfa66774 100644
--- a/srcpkgs/stockfish/template
+++ b/srcpkgs/stockfish/template
@@ -35,7 +35,6 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/supercollider/template b/srcpkgs/supercollider/template
index 42b58d5b6e3e7..7c147c4a59e77 100644
--- a/srcpkgs/supercollider/template
+++ b/srcpkgs/supercollider/template
@@ -6,7 +6,7 @@ build_style=cmake
 make_cmd=make
 configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON"
 hostmakedepends="emacs pkg-config qt5-host-tools qt5-qmake"
-makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel libatomic-devel
+makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel
  libsndfile-devel libXt-devel qt5-declarative-devel qt5-location-devel
  qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite
  qt5-plugin-tds qt5-sensors-devel qt5-tools-devel qt5-svg-devel
diff --git a/srcpkgs/supertuxkart/template b/srcpkgs/supertuxkart/template
index 47a962d24824d..85b54d559a317 100644
--- a/srcpkgs/supertuxkart/template
+++ b/srcpkgs/supertuxkart/template
@@ -19,10 +19,6 @@ changelog="https://raw.githubusercontent.com/supertuxkart/stk-code/master/CHANGE
 distfiles="https://github.com/supertuxkart/stk-code/releases/download/${version}/SuperTuxKart-${version}-src.tar.xz"
 checksum=9890392419baf4715313f14d5ad60746f276eed36eb580636caf44e2532c0f03
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 supertuxkart-data_package() {
 	short_desc+=" - data files"
 	pkg_install() {
diff --git a/srcpkgs/swi-prolog/template b/srcpkgs/swi-prolog/template
index 674f1505bf0d0..cf4715b1b5457 100644
--- a/srcpkgs/swi-prolog/template
+++ b/srcpkgs/swi-prolog/template
@@ -18,6 +18,5 @@ distfiles="http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz
 checksum=feb2815a51d34fa81cb34e8149830405935a7e1d1c1950461239750baa8b49f0
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
diff --git a/srcpkgs/syntax-highlighting/template b/srcpkgs/syntax-highlighting/template
index 70375ffe0b848..a954c8c38ddff 100644
--- a/srcpkgs/syntax-highlighting/template
+++ b/srcpkgs/syntax-highlighting/template
@@ -6,8 +6,7 @@ build_style=cmake
 configure_args="-DKATEHIGHLIGHTINGINDEXER_EXECUTABLE=/usr/libexec/${pkgname}/katehighlightingindexer"
 hostmakedepends="kcoreaddons extra-cmake-modules perl qt5-host-tools
  qt5-qmake qt5-tools qt5-devel qt5-tools-devel"
-makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel
- libatomic-devel"
+makedepends="qt5-devel qt5-tools-devel qt5-xmlpatterns-devel"
 short_desc="Syntax highlighting engine for structured text and code"
 maintainer="John <me@johnnynator.dev>"
 license="LGPL-2.1-or-later"
diff --git a/srcpkgs/sysbench/template b/srcpkgs/sysbench/template
index e2fe7be0cc8b0..45e6ab6adb0d8 100644
--- a/srcpkgs/sysbench/template
+++ b/srcpkgs/sysbench/template
@@ -18,10 +18,6 @@ homepage="https://github.com/akopytov/sysbench"
 distfiles="https://github.com/akopytov/sysbench/archive/${version}.tar.gz"
 checksum=e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	autoreconf -fi
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index 22e46e4e95e15..19a6722f4697b 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -15,7 +15,7 @@ hostmakedepends="pkg-config qt6-base python3 clang extra-cmake-modules
 makedepends="alsa-lib-devel boost-devel fmt-devel ffmpeg-devel gobject-introspection libdbusmenu-glib-devel libopenal-devel
  minizip-devel opus-devel xxHash-devel pulseaudio-devel range-v3
  qt6-svg-devel libva-devel rapidjson liblz4-devel liblzma-devel gtk+3-devel
- MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel libatomic-devel
+ MesaLib-devel qt6-wayland-devel qt6-qt5compat-devel
  xcb-util-keysyms-devel $(vopt_if spellcheck hunspell-devel) protobuf-devel
  glibmm2.68-devel tg_owt webkit2gtk-devel rnnoise-devel jemalloc-devel qt6-declarative-devel"
 depends="qt6-imageformats ttf-opensans"
diff --git a/srcpkgs/thrift/template b/srcpkgs/thrift/template
index 1912cfb7ed333..4e0fbc519e64b 100644
--- a/srcpkgs/thrift/template
+++ b/srcpkgs/thrift/template
@@ -19,10 +19,6 @@ homepage="https://thrift.apache.org/"
 distfiles="https://github.com/apache/thrift/archive/v${version}.tar.gz"
 checksum=9cea30b9700153329ae1926cc05a20bbe3e8451ae270b0c8c5c5fe9929924cb3
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 if [ "$CROSS_BUILD" ]; then
 	configure_args+=" -DBUILD_TESTING=OFF -DBUILD_TUTORIALS=OFF"
 fi
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 551e968ce984f..d26f88c3d7e0e 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -35,10 +35,6 @@ case $XBPS_TARGET_MACHINE in
 	ppc*) broken="xptcall bitrot" ;;
 esac
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 # try to minimize memory usage via debug symbols
 # 'LLVM ERROR: out of memory' while compiling gtkrust
 if [ "$XBPS_WORDSIZE" = "32" ]; then
diff --git a/srcpkgs/tomahawk/template b/srcpkgs/tomahawk/template
index 341645af8e44c..cb6b40de7e907 100644
--- a/srcpkgs/tomahawk/template
+++ b/srcpkgs/tomahawk/template
@@ -39,10 +39,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" musl-legacy-compat"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 CXXFLAGS="-Wno-deprecated-declarations"
 
 tomahawk-devel_package() {
diff --git a/srcpkgs/uhd/template b/srcpkgs/uhd/template
index 46731dcdaf032..8645921e88d6f 100644
--- a/srcpkgs/uhd/template
+++ b/srcpkgs/uhd/template
@@ -32,7 +32,6 @@ else
 fi
 
 if [ "$_use_libatomic" = "yes" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
 fi
 
diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index f9d3905ace6cf..4ceda6e7724ff 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -14,7 +14,6 @@ distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
 checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS="-latomic"
 fi
 
diff --git a/srcpkgs/vkQuake/template b/srcpkgs/vkQuake/template
index 28c2a8d66e37b..876281c079071 100644
--- a/srcpkgs/vkQuake/template
+++ b/srcpkgs/vkQuake/template
@@ -14,7 +14,6 @@ distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=b88d3dfc869d89820766e2dd18bdadb9681adfc4c9d05e09cbbebcc17ef1d150
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	LDFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/vtk/template b/srcpkgs/vtk/template
index a1d61de2d1420..867554b13ac89 100644
--- a/srcpkgs/vtk/template
+++ b/srcpkgs/vtk/template
@@ -33,10 +33,6 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	LDFLAGS="-lexecinfo"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	[ "$XBPS_TARGET_NO_ATOMIC8" ] || return 0
 
diff --git a/srcpkgs/warzone2100/template b/srcpkgs/warzone2100/template
index baf48548dd4a6..f8f23952f3f8b 100644
--- a/srcpkgs/warzone2100/template
+++ b/srcpkgs/warzone2100/template
@@ -17,10 +17,6 @@ distfiles="https://github.com/Warzone2100/${pkgname}/releases/download/${version
 checksum=01d608f6f9638e14d7c857df40ad339c1bfc207a05daafe7157ad8652a3405c3
 nocross="fails to detect SDL2 when cross-compiling"
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 post_extract() {
 	if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 		echo "target_link_libraries(warzone2100 atomic)" >> CMakeLists.txt
diff --git a/srcpkgs/watchexec/template b/srcpkgs/watchexec/template
index a2fdc6e7e0454..4b8cf746d8066 100644
--- a/srcpkgs/watchexec/template
+++ b/srcpkgs/watchexec/template
@@ -12,7 +12,6 @@ distfiles="https://github.com/watchexec/watchexec/archive/refs/tags/v${version}.
 checksum=698ed1dc178279594542f325b23f321c888c9c12c1960fe11c0ca48ba6edad76
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template
index 15e98aaca3b0d..421fa8b2d0c83 100644
--- a/srcpkgs/webkit2gtk/template
+++ b/srcpkgs/webkit2gtk/template
@@ -26,7 +26,7 @@ makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
  libsoup-devel libsoup3-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
  dbus-glib-devel libwebp-devel gtk+3-devel gtk4-devel libgudev-devel
  libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
- woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel libavif-devel
+ woff2-devel freetype-devel libopenjpeg2-devel libavif-devel
  qt5-devel libmanette-devel libwpe-devel wpebackend-fdo-devel
  libgcrypt-devel libnuspell-devel libpsl-devel $(vopt_if x11 libXt-devel)
  $(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
diff --git a/srcpkgs/wt/template b/srcpkgs/wt/template
index de480ebb7dc6e..33a48ed75ffea 100644
--- a/srcpkgs/wt/template
+++ b/srcpkgs/wt/template
@@ -13,7 +13,6 @@ distfiles="https://github.com/emweb/wt/archive/refs/tags/${version}.tar.gz"
 checksum=7090023d4fc4b6594bf4cb11072d9d3d775269327aece9a8993c7bbe46decb9d
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
 	configure_args+=" -DCMAKE_CXX_FLAGS=-latomic"
 fi
 
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
index 10ed861b1391b..8e9851575bca8 100644
--- a/srcpkgs/xrootd/template
+++ b/srcpkgs/xrootd/template
@@ -21,5 +21,4 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
 fi
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
-	makedepends+=" libatomic-devel"
 fi
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index e53f25d270844..a1a9ea8d16c83 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -23,10 +23,6 @@ dkms_modules="zfs ${version}"
 
 replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-fi
-
 pre_configure() {
 	export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
 	autoreconf -fi

From bdb105e75fca13d7d5cf6ebdb0966aa9375a0ffe Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:51 +0200
Subject: [PATCH 12/23] cross-mips-linux-musl: use --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index 8865f6dc092b9..2c796a7c09cd7 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 08a5f3fa428328479877482327b25320bf57efe0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 13/23] cross-mips-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mips-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 94691668dcf2f..7333d3b5d70cc 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 9c0446e3c55aa3af8f56506843e548a7bcd97b24 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 14/23] cross-mipsel-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index a053fe5301538..992c6bc42e955 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From d6f2905ebe49783c5734f306d02ab8b2446b9644 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 15/23] cross-mipsel-linux-muslhf: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 29d7261e9b481..cde29e2129eef 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
- --with-linker-hash-style=sysv"
+ --with-linker-hash-style=sysv --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 42b8ef37cac443679a5636ff23cd46edfb461f3f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 16/23] cross-powerpc-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template
index 327f3f911eb5e..035dc50571a65 100644
--- a/srcpkgs/cross-powerpc-linux-gnu/template
+++ b/srcpkgs/cross-powerpc-linux-gnu/template
@@ -6,9 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 0fb53217b22db7a1e983644fc487c24492b25191 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 17/23] cross-powerpc-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 85ea78c257f95..a73d324f40cc3 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 75c0e855c2d2f71b731060cd9f4aea3b3ae978a7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 18/23] cross-powerpc64-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template
index aaab613d01e9b..0719663f235a0 100644
--- a/srcpkgs/cross-powerpc64-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpc-linux"
+ --enable-targets=powerpc-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From f5c74f8d80471acd4cf84cb8121d42907774f763 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 19/23] cross-powerpc64-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 359557d3afb9c..5224e63219882 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From e229760cdf0f9d3ce0efd3304535f881b2c3242f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 20/23] cross-powerpc64le-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-gnu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template
index 577fccc6c5f8d..8e6967c4e2e1b 100644
--- a/srcpkgs/cross-powerpc64le-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64le-linux-gnu/template
@@ -6,10 +6,10 @@ _glibc_patchver="72-g0f90d6204d"
 _linux_version=5.10.4
 pkgname=cross-powerpc64le-linux-gnu
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
- --enable-targets=powerpcle-linux"
+ --enable-targets=powerpcle-linux --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From 73e3716437fe1ecc8e917e9926a5001613784a84 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 21/23] cross-powerpc64le-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 57c07e1d780b4..f7edddfb10a29 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,10 +6,11 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"
+ --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From c29e5379612a0f12af1bf89240b5655ed37de549 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:52 +0200
Subject: [PATCH 22/23] cross-powerpcle-linux-gnu: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-gnu/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template
index 340a50e2af411..b0523cb7adad3 100644
--- a/srcpkgs/cross-powerpcle-linux-gnu/template
+++ b/srcpkgs/cross-powerpcle-linux-gnu/template
@@ -5,9 +5,10 @@ _glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-gnu
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
-configure_args="--enable-secureplt --disable-vtable-verify"
+configure_args="--enable-secureplt --disable-vtable-verify
+ --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

From df6fe28af07ad7c62d3857570beab26dabf9f95b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 22 Jul 2023 16:26:53 +0200
Subject: [PATCH 23/23] cross-powerpcle-linux-musl: use
 --enable-autolink-libatomic.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 4749c8965cdb3..c764f44f739a7 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,10 +5,10 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=4
+revision=5
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
- --disable-decimal-float"
+ --disable-decimal-float --enable-autolink-libatomic"
 hostmakedepends="texinfo tar gcc-objc flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
  zlib-devel libzstd-devel"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Merged]: Autolink libatomic, add riscv64 toolchains
  2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
                   ` (8 preceding siblings ...)
  2023-07-24 20:50 ` Johnnynator
@ 2023-07-26 21:27 ` Johnnynator
  9 siblings, 0 replies; 11+ messages in thread
From: Johnnynator @ 2023-07-26 21:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 408 bytes --]

There's a merged pull request on the void-packages repository

Autolink libatomic, add riscv64 toolchains
https://github.com/void-linux/void-packages/pull/45183

Description:
Cleaning up my $dev branch

- gcc: use --enable-autolink-libatomic for platforms that often need atomics.
- gcc: add riscv.
- New package: cross-riscv64-linux-gnu-0.35
- New package: cross-riscv64-linux-musl-0.35

[ci skip]


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-07-26 21:27 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-21 20:56 [PR PATCH] [WiP] Autolink libatomic, add riscv64 toolchains Johnnynator
2023-07-21 21:15 ` [PR PATCH] [Updated] " Johnnynator
2023-07-21 21:17 ` Johnnynator
2023-07-21 22:06 ` Johnnynator
2023-07-22  9:01 ` Johnnynator
2023-07-22 14:20 ` Johnnynator
2023-07-22 14:27 ` Johnnynator
2023-07-22 14:29 ` Johnnynator
2023-07-24 20:30 ` [PR PATCH] [Updated] " Johnnynator
2023-07-24 20:50 ` Johnnynator
2023-07-26 21:27 ` [PR PATCH] [Merged]: " Johnnynator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).