New commits:
commit 72bdcad021479d442ff9046c3f8403b7dc99090b
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
mesa: allow a build without any vulkan or gallium drivers
We need to pass empty lists to overwrite the default, which would
auto-detect a list.
commit 9614705feeac6dbfd5ab62311303ae1b211a8177
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
llvm: actually allow a build with SPIR-V-less libclc
This enables me to get any llvm with libclc at all.
commit 6f01837c87956117dfe48119c25cf7df11bb5c9f
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
firefox-esr: version 128.8.0esr, ++SECURITY_PATCH
This is a version that shall build again with python-3.12.
diff --git a/devel/llvm/BUILD b/devel/llvm/BUILD
index d654b17..01e6f3f 100755
--- a/devel/llvm/BUILD
+++ b/devel/llvm/BUILD
@@ -58,7 +58,7 @@ if [[ "$LLVM_WITH_LIBCLC" == y ]] ;then
fi &&
# workaround for https://github.com/llvm/llvm-project/issues/109537
-if [[ "$LLVM_WITH_LIBCLC" == y ]] ;then
+if [[ "$LLVM_WITH_LIBCLC" == y ]] && list_find "$LLVM_LIBCLC_TARGETS"
spirv;then
local spirvcmd="$(command -v llvm-spirv)"
if [ -z "$spirvcmd" ] ;then
message "${PROBLEM_COLOR}libclc with SPIR-V support requires llvm-spirv
(https://github.com/llvm/llvm-project/issues/109537),${NORMAL_COLOR}"
diff --git a/devel/llvm/HISTORY b/devel/llvm/HISTORY
index 3d3e354..74d9574 100644
--- a/devel/llvm/HISTORY
+++ b/devel/llvm/HISTORY
@@ -1,6 +1,9 @@
2025-03-05 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 20.1.0, SPIRV_VERSION 19.1.5
+2025-03-06 Thomas Orgis <sobukus AT sourcemage.org>
+ * BUILD: allow build with libclc _without_ SPIR-V in it
+
2025-03-02 Justin Boffemmyer <flux AT sourcemage.org>
* BUILD, PREPARE: explicitly warn the user about libclc SPIR-V builds
needing llvm-spirv
diff --git a/graphics-libs/mesa/BUILD b/graphics-libs/mesa/BUILD
index 89ecc17..20d6216 100755
--- a/graphics-libs/mesa/BUILD
+++ b/graphics-libs/mesa/BUILD
@@ -65,6 +65,9 @@ meson_opt feature "xmlconfig"
"$MESA_XMLCONFIG" &&
if [ -n "$MESA_GALLIUM" ] && ! list_find "$MESA_GALLIUM" none ;then
meson_opt list "gallium-drivers" "$MESA_GALLIUM"
+else
+ # default would be auto
+ meson_opt list "gallium-drivers" ""
fi &&
if [ -n "$MESA_RUSTICL_DRIVERS" ] ;then
@@ -93,6 +96,9 @@ fi &&
if [ -n "$MESA_VULKAN" ] && ! list_find "$MESA_VULKAN" none ;then
meson_opt list "vulkan-drivers" "$MESA_VULKAN"
+else
+ # default would be auto
+ meson_opt list "vulkan-drivers" ""
fi &&
if [ -n "$MESA_VULKAN_LAYERS" ] && ! list_find "$MESA_VULKAN_LAYERS" none
;then
diff --git a/graphics-libs/mesa/HISTORY b/graphics-libs/mesa/HISTORY
index 0f4d7ec..4e6f9b9 100644
--- a/graphics-libs/mesa/HISTORY
+++ b/graphics-libs/mesa/HISTORY
@@ -1,3 +1,6 @@
+2015-03-06 Thomas Orgis <sobukus AT sourcemage.org>
+ * BUILD: allow to really disable all vulkan or gallium drivers
+
2025-02-20 Pavel Vinogradov <public AT sourcemage.org>
* CONFIGURE: removed dangling && from previous change
diff --git a/http/firefox-esr/BUILD b/http/firefox-esr/BUILD
index 525b1f3..78cbf86 100755
--- a/http/firefox-esr/BUILD
+++ b/http/firefox-esr/BUILD
@@ -57,8 +57,9 @@ else
fi &&
for option in $OPTS; do
- echo "ac_add_options $option" >> .mozconfig
-done &&
+ echo "ac_add_options $option"
+done >> .mozconfig &&
-optional_depends wireless_tools \
- "--enable-necko-wifi" \
- "--disable-necko-wifi" \
- "for Necko WiFi scanning" &&
-
for b in $FIREFOX_AUDIO
do
case $b in
@@ -125,7 +122,16 @@ if is_depends_enabled $SPELL alsa-lib; then
depends yasm
fi &&
# To remove version suffix from some directories
sed 's;-$(MOZ_APP_VERSION);;g' -i config/baseconfig.mk &&
@@ -54,8 +56,8 @@ case "$HOST" in
;;
esac &&
b/http/firefox-esr/patches/0004-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
new file mode 100644
index 0000000..300846f
--- /dev/null
+++
b/http/firefox-esr/patches/0004-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
@@ -0,0 +1,35 @@
+From d8ec0bd6f3b0ad2dfd8a97a864f08decaafdea69 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel AT sholland.org>
+Date: Sun, 8 Jan 2017 19:16:38 -0600
+Subject: [PATCH 10/30] musl: Add alternate name for private siginfo struct
+ member
+
+musl does not provide a macro for detecting its presence. For now,
+assume that it is the only non-glibc-based libc on Linux systems.
+
+Signed-off-by: Samuel Holland <samuel AT sholland.org>
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+index 9884be8bb2..86d8f88e30 100644
+--- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
++++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+@@ -174,7 +174,11 @@ void Trap::SigSys(int nr, LinuxSigInfo* info,
ucontext_t* ctx) {
+ // If the version of glibc doesn't include this information in
+ // siginfo_t (older than 2.17), we need to explicitly copy it
+ // into an arch_sigsys structure.
+- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++#if defined(__GLIBC__)
++ memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++#else
++ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
++#endif
+ #endif
+
+ #if defined(__mips__)
+--
+2.34.1
+
diff --git
a/http/firefox-esr/patches/0005-bmo-1559213-Support-system-av1.patch
b/http/firefox-esr/patches/0005-bmo-1559213-Support-system-av1.patch
deleted file mode 100644
index e894258..0000000
--- a/http/firefox-esr/patches/0005-bmo-1559213-Support-system-av1.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 8a4627c0c910415b00bebeb976dc6ea8c3e0d5d0 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi AT gentoo.org>
-Date: Mon, 6 Apr 2020 19:36:02 +0200
-Subject: [PATCH 06/30] bmo#1559213: Support system av1
-
-Allow building against system-wide av1.
-
-Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1559213
-Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
----
- config/external/moz.build | 5 +++--
- config/system-headers.mozbuild | 8 ++++++++
- dom/media/platforms/moz.build | 5 +++++
- toolkit/moz.configure | 20 ++++++++++++++++++--
- 4 files changed, 34 insertions(+), 4 deletions(-)
-
-diff --git a/config/external/moz.build b/config/external/moz.build
-index ab771212bf..75595d999c 100644
---- a/config/external/moz.build
-+++ b/config/external/moz.build
-@@ -49,8 +49,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
- external_dirs += ["media/libvpx"]
-
- if CONFIG["MOZ_AV1"]:
-- external_dirs += ["media/libaom"]
-- external_dirs += ["media/libdav1d"]
-+ if not CONFIG["MOZ_SYSTEM_AV1"]:
-+ external_dirs += ["media/libaom"]
-+ external_dirs += ["media/libdav1d"]
-
- if not CONFIG["MOZ_SYSTEM_PNG"]:
- external_dirs += ["media/libpng"]
-diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
-index 2f7ae39515..96ab3a6466 100644
---- a/config/system-headers.mozbuild
-+++ b/config/system-headers.mozbuild
-@@ -1301,6 +1301,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
- 'proxy.h',
- ]
-
-+if CONFIG['MOZ_SYSTEM_AV1']:
-+ system_headers += [
-+ 'aom/aom_decoder.h',
-+ 'aom/aomdx.h',
-+ 'aom/aom_image.h',
-+ 'dav1d/dav1d.h',
-+ ]
-+
- if CONFIG['MOZ_SYSTEM_LIBVPX']:
- system_headers += [
- 'vpx_mem/vpx_mem.h',
-diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
-index 8509aec6ef..7c5a1df63d 100644
---- a/dom/media/platforms/moz.build
-+++ b/dom/media/platforms/moz.build
-@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
- "agnostic/AOMDecoder.cpp",
- "agnostic/DAV1DDecoder.cpp",
- ]
-+ if CONFIG["MOZ_SYSTEM_AV1"]:
-+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBAOM_CFLAGS"]
-+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBAOM_LIBS"]
-+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBDAV1D_CFLAGS"]
-+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBDAV1D_LIBS"]
-
- if CONFIG["MOZ_OMX"]:
- EXPORTS += [
-diff --git a/toolkit/moz.configure b/toolkit/moz.configure
-index a68e1b347d..7b7975bd12 100644
---- a/toolkit/moz.configure
-+++ b/toolkit/moz.configure
-@@ -544,14 +544,29 @@ def av1(value):
- if value:
- return True
-
-+option("--with-system-av1", help="Use system av1 (located with pkg-config)")
-
--@depends(target, when=av1 & compile_environment)
-+system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
-+ when='--with-system-av1')
-+
-+system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >=
0.1.1',
-+ when='--with-system-av1')
-+
-+@depends(system_libaom_info, system_libdav1d_info)
-+def system_av1(system_libaom_info, system_libdav1d_info):
-+ has_av1_libs = False
-+ if system_libaom_info and system_libdav1d_info:
-+ has_av1_libs = True
-+ return has_av1_libs
-+
-+
-+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) &
compile_environment)
- def dav1d_asm(target):
- if target.cpu in ("aarch64", "x86", "x86_64"):
- return True
-
-
--@depends(target, when=av1 & compile_environment)
-+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) &
compile_environment)
- def dav1d_nasm(target):
- if target.cpu in ("x86", "x86_64"):
- return namespace(version="2.14", what="AV1")
-@@ -561,6 +576,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
- set_define("MOZ_DAV1D_ASM", dav1d_asm)
- set_config("MOZ_AV1", av1)
- set_define("MOZ_AV1", av1)
-+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
-
- # JXL Image Codec Support
- # ==============================================================
---
-2.34.1
-
diff --git a/http/firefox-esr/patches/0005-musl-Fix-syscall-wrappers.patch
b/http/firefox-esr/patches/0005-musl-Fix-syscall-wrappers.patch
new file mode 100644
index 0000000..d9dda49
--- /dev/null
+++ b/http/firefox-esr/patches/0005-musl-Fix-syscall-wrappers.patch
@@ -0,0 +1,42 @@
+From 1b46c0fc085fe93c36320d7ac1004c83efccdccc Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel AT sholland.org>
+Date: Sun, 8 Jan 2017 19:19:23 -0600
+Subject: [PATCH 11/30] musl: Fix syscall wrappers
+
+musl defines p{read,write}64 to their non-suffixed equivalents to avoid
+duplication in its syscall wrappers. This breaks macro expansion here,
+leading to errors such as:
+
+In function size_t sys_pread64(int, void*, size_t, off_t):
+ error: '__NR_pread' was not declared in this scope
+
+The fix here is to undefine the p{read,write}64 macros, so the syscall
+expands to (e.g.) __NR_pread64 instead.
+
+Signed-off-by: Samuel Holland <samuel AT sholland.org>
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ .../src/third_party/lss/linux_syscall_support.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git
a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+index 1abe0ba5b0..d6087a1674 100644
+---
a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
++++
b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+@@ -173,6 +173,13 @@ extern "C" {
+ # undef __NR_waitpid
+ #endif
+
++#ifdef pread64
++#undef pread64
++#endif
++#ifdef pwrite64
++#undef pwrite64
++#endif
++
+ /* As glibc often provides subtly incompatible data structures (and implicit
+ * wrapper functions that convert them), we provide our own kernel data
+ * structures for use by the system calls.
+--
+2.34.1
+
diff --git
a/http/firefox-esr/patches/0006-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
b/http/firefox-esr/patches/0006-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
deleted file mode 100644
index 300846f..0000000
---
a/http/firefox-esr/patches/0006-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From d8ec0bd6f3b0ad2dfd8a97a864f08decaafdea69 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel AT sholland.org>
-Date: Sun, 8 Jan 2017 19:16:38 -0600
-Subject: [PATCH 10/30] musl: Add alternate name for private siginfo struct
- member
-
-musl does not provide a macro for detecting its presence. For now,
-assume that it is the only non-glibc-based libc on Linux systems.
-
-Signed-off-by: Samuel Holland <samuel AT sholland.org>
-Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
----
- security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
-index 9884be8bb2..86d8f88e30 100644
---- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
-+++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
-@@ -174,7 +174,11 @@ void Trap::SigSys(int nr, LinuxSigInfo* info,
ucontext_t* ctx) {
- // If the version of glibc doesn't include this information in
- // siginfo_t (older than 2.17), we need to explicitly copy it
- // into an arch_sigsys structure.
-- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
-+#if defined(__GLIBC__)
-+ memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
-+#else
-+ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
-+#endif
- #endif
-
- #if defined(__mips__)
---
-2.34.1
-
diff --git
a/http/firefox-esr/patches/0006-musl-Only-use-system-heap-reporter-with-glibc.patch
b/http/firefox-esr/patches/0006-musl-Only-use-system-heap-reporter-with-glibc.patch
new file mode 100644
index 0000000..08f0214
--- /dev/null
+++
b/http/firefox-esr/patches/0006-musl-Only-use-system-heap-reporter-with-glibc.patch
@@ -0,0 +1,33 @@
+From 68dd87a3dc06cf59396dccc3e031761f7237656e Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy AT gentoo.org>
+Date: Mon, 6 Apr 2020 20:09:26 +0200
+Subject: [PATCH 12/30] musl: Only use system heap reporter with glibc
+
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ xpcom/base/nsMemoryReporterManager.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp
b/xpcom/base/nsMemoryReporterManager.cpp
+index bd4629c785..b513f81216 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -647,6 +647,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr,
cpu_type_t aType) {
+ return NS_OK;
+ }
+
++#ifdef __GLIBC__
+ # define HAVE_SYSTEM_HEAP_REPORTER 1
+ // Windows can have multiple separate heaps, but we should not touch
non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.
So we
+@@ -679,6 +680,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr,
cpu_type_t aType) {
+ *aSizeOut = heapSize;
+ return NS_OK;
+ }
++#endif
+
+ struct SegmentKind {
+ DWORD mState;
+--
+2.34.1
+
diff --git a/http/firefox-esr/patches/0007-musl-Fix-syscall-wrappers.patch
b/http/firefox-esr/patches/0007-musl-Fix-syscall-wrappers.patch
deleted file mode 100644
index d9dda49..0000000
--- a/http/firefox-esr/patches/0007-musl-Fix-syscall-wrappers.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 1b46c0fc085fe93c36320d7ac1004c83efccdccc Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel AT sholland.org>
-Date: Sun, 8 Jan 2017 19:19:23 -0600
-Subject: [PATCH 11/30] musl: Fix syscall wrappers
-
-musl defines p{read,write}64 to their non-suffixed equivalents to avoid
-duplication in its syscall wrappers. This breaks macro expansion here,
-leading to errors such as:
-
-In function size_t sys_pread64(int, void*, size_t, off_t):
- error: '__NR_pread' was not declared in this scope
-
-The fix here is to undefine the p{read,write}64 macros, so the syscall
-expands to (e.g.) __NR_pread64 instead.
-
-Signed-off-by: Samuel Holland <samuel AT sholland.org>
-Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
----
- .../src/third_party/lss/linux_syscall_support.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git
a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
-index 1abe0ba5b0..d6087a1674 100644
----
a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
-+++
b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
-@@ -173,6 +173,13 @@ extern "C" {
- # undef __NR_waitpid
- #endif
-
-+#ifdef pread64
-+#undef pread64
-+#endif
-+#ifdef pwrite64
-+#undef pwrite64
-+#endif
-+
- /* As glibc often provides subtly incompatible data structures (and implicit
- * wrapper functions that convert them), we provide our own kernel data
- * structures for use by the system calls.
---
-2.34.1
-
diff --git
a/http/firefox-esr/patches/0007-musl-Set-pthread-name-for-non-glibc-systems.patch