diff --git a/pkgs/applications/misc/prusa-slicer/wxWidgets-Makefile.in-fix.patch b/pkgs/applications/misc/prusa-slicer/wxWidgets-Makefile.in-fix.patch deleted file mode 100644 index aadf9765882d..000000000000 --- a/pkgs/applications/misc/prusa-slicer/wxWidgets-Makefile.in-fix.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index 8f33aa2ff4..39928382da 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -4358,7 +4358,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS = \ - monodll_msw_utils.o \ - monodll_utilsexc.o \ - monodll_fswatcher.o \ -- monodll_msw_secretstore.o -+ monodll_msw_secretstore.o \ - monodll_msw_uilocale.o - @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS) - @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \ -@@ -5284,7 +5284,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS = \ - monodll_uuid.o \ - monodll_msw_evtloop.o \ - monodll_access.o \ -- monodll_dark_mode.o -+ monodll_dark_mode.o \ - monodll_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS = \ -@@ -6196,7 +6196,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 = \ - monodll_uuid.o \ - monodll_msw_evtloop.o \ - monodll_access.o \ -- monodll_dark_mode.o -+ monodll_dark_mode.o \ - monodll_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_1 = \ -@@ -6371,7 +6371,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 = \ - monolib_msw_utils.o \ - monolib_utilsexc.o \ - monolib_fswatcher.o \ -- monolib_msw_secretstore.o -+ monolib_msw_secretstore.o \ - monolib_msw_uilocale.o - @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1) - @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \ -@@ -7297,7 +7297,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 = \ - monolib_uuid.o \ - monolib_msw_evtloop.o \ - monolib_access.o \ -- monolib_dark_mode.o -+ monolib_dark_mode.o \ - monolib_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_2 = \ -@@ -8209,7 +8209,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 = \ - monolib_uuid.o \ - monolib_msw_evtloop.o \ - monolib_access.o \ -- monolib_dark_mode.o -+ monolib_dark_mode.o \ - monolib_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_3 = \ -@@ -8436,7 +8436,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 = \ - basedll_msw_utils.o \ - basedll_utilsexc.o \ - basedll_fswatcher.o \ -- basedll_msw_secretstore.o -+ basedll_msw_secretstore.o \ - basedll_msw_uilocale.o - @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2) - @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \ -@@ -8523,7 +8523,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 = \ - baselib_msw_utils.o \ - baselib_utilsexc.o \ - baselib_fswatcher.o \ -- baselib_msw_secretstore.o -+ baselib_msw_secretstore.o \ - baselib_msw_uilocale.o - @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3) - @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \ -@@ -9464,7 +9464,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 = \ - coredll_uuid.o \ - coredll_msw_evtloop.o \ - coredll_access.o \ -- coredll_dark_mode.o -+ coredll_dark_mode.o \ - coredll_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_4 = \ -@@ -10376,7 +10376,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 = \ - coredll_uuid.o \ - coredll_msw_evtloop.o \ - coredll_access.o \ -- coredll_dark_mode.o -+ coredll_dark_mode.o \ - coredll_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_5 = \ -@@ -11204,7 +11204,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 = \ - corelib_uuid.o \ - corelib_msw_evtloop.o \ - corelib_access.o \ -- corelib_dark_mode.o -+ corelib_dark_mode.o \ - corelib_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_6 = \ -@@ -12116,7 +12116,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 = \ - corelib_uuid.o \ - corelib_msw_evtloop.o \ - corelib_access.o \ -- corelib_dark_mode.o -+ corelib_dark_mode.o \ - corelib_msw_bmpbndl.o - @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7) - @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_7 = \ diff --git a/pkgs/by-name/at/atf/pr-85.patch b/pkgs/by-name/at/atf/pr-85.patch deleted file mode 100644 index d438ce16b048..000000000000 --- a/pkgs/by-name/at/atf/pr-85.patch +++ /dev/null @@ -1,1529 +0,0 @@ -From 1f0ee71c000074ca48c2d9edc94f152747835e20 Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Thu, 5 Dec 2024 23:07:18 -0800 -Subject: [PATCH 1/9] Garbage collect stray reference to auto_array - -This entry should have been removed in the referenced commit. - -Fixes: 6639d083e7d5b4b478397cc416cd42a756d17b0c ---- - atf-c++/detail/Makefile.am.inc | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/atf-c++/detail/Makefile.am.inc b/atf-c++/detail/Makefile.am.inc -index b3181346..29b41c3f 100644 ---- a/atf-c++/detail/Makefile.am.inc -+++ b/atf-c++/detail/Makefile.am.inc -@@ -25,7 +25,6 @@ - - libatf_c___la_SOURCES += atf-c++/detail/application.cpp \ - atf-c++/detail/application.hpp \ -- atf-c++/detail/auto_array.hpp \ - atf-c++/detail/env.cpp \ - atf-c++/detail/env.hpp \ - atf-c++/detail/exceptions.cpp \ - -From bb58a4dfbc98e95c365be8033f9778571f35ef9d Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Thu, 5 Dec 2024 23:25:26 -0800 -Subject: [PATCH 2/9] Require C++-14 at bare minimum - -This change imports ac_cxx_compile_stdcxx.m4 from gnu,org and makes use -of the `AX_CXX_COMPILE_STDCXX` macro in configure.ac to ensure that the -compiler specified supports C++-14 (at bare minimum). This is being done -to quell some issues reported by scan-build about the code using C++ -range-based for-loops (a feature added in C++-11). ---- - configure.ac | 3 +- - m4/ac_cxx_compile_stdcxx.m4 | 1070 +++++++++++++++++++++++++++++++++++ - 2 files changed, 1072 insertions(+), 1 deletion(-) - create mode 100644 m4/ac_cxx_compile_stdcxx.m4 - -diff --git a/configure.ac b/configure.ac -index c37aca44..6d802144 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -58,8 +58,9 @@ AM_PROG_CC_C_O - dnl The C compiler check automatically aborts if the compiler does not work. - dnl Nothing to do here. - --AC_LANG(C++) - AC_PROG_CXX -+AC_LANG_COMPILER(C++) -+AX_CXX_COMPILE_STDCXX(14, noext, mandatory) - AC_CACHE_CHECK([whether the C++ compiler works], - [atf_cv_prog_cxx_works], - [AC_LANG_PUSH([C++]) -diff --git a/m4/ac_cxx_compile_stdcxx.m4 b/m4/ac_cxx_compile_stdcxx.m4 -new file mode 100644 -index 00000000..fe6ae17e ---- /dev/null -+++ b/m4/ac_cxx_compile_stdcxx.m4 -@@ -0,0 +1,1070 @@ -+# =========================================================================== -+# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) -+# -+# DESCRIPTION -+# -+# Check for baseline language coverage in the compiler for the specified -+# version of the C++ standard. If necessary, add switches to CXX and -+# CXXCPP to enable support. VERSION may be '11', '14', '17', '20', or -+# '23' for the respective C++ standard version. -+# -+# The second argument, if specified, indicates whether you insist on an -+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. -+# -std=c++11). If neither is specified, you get whatever works, with -+# preference for no added switch, and then for an extended mode. -+# -+# The third argument, if specified 'mandatory' or if left unspecified, -+# indicates that baseline support for the specified C++ standard is -+# required and that the macro should error out if no mode with that -+# support is found. If specified 'optional', then configuration proceeds -+# regardless, after defining HAVE_CXX${VERSION} if and only if a -+# supporting mode is found. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Benjamin Kosnik -+# Copyright (c) 2012 Zack Weinberg -+# Copyright (c) 2013 Roy Stogner -+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov -+# Copyright (c) 2015 Paul Norman -+# Copyright (c) 2015 Moritz Klammler -+# Copyright (c) 2016, 2018 Krzesimir Nowak -+# Copyright (c) 2019 Enji Cooper -+# Copyright (c) 2020 Jason Merrill -+# Copyright (c) 2021, 2024 Jörn Heusipp -+# Copyright (c) 2015, 2022, 2023, 2024 Olly Betts -+# -+# Copying and distribution of this file, with or without modification, are -+# permitted in any medium without royalty provided the copyright notice -+# and this notice are preserved. This file is offered as-is, without any -+# warranty. -+ -+#serial 25 -+ -+dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro -+dnl (serial version number 13). -+ -+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl -+ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], -+ [$1], [14], [ax_cxx_compile_alternatives="14 1y"], -+ [$1], [17], [ax_cxx_compile_alternatives="17 1z"], -+ [$1], [20], [ax_cxx_compile_alternatives="20"], -+ [$1], [23], [ax_cxx_compile_alternatives="23"], -+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl -+ m4_if([$2], [], [], -+ [$2], [ext], [], -+ [$2], [noext], [], -+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl -+ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], -+ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], -+ [$3], [optional], [ax_cxx_compile_cxx$1_required=false], -+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) -+ AC_LANG_PUSH([C++])dnl -+ ac_success=no -+ -+ m4_if([$2], [], [dnl -+ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, -+ ax_cv_cxx_compile_cxx$1, -+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], -+ [ax_cv_cxx_compile_cxx$1=yes], -+ [ax_cv_cxx_compile_cxx$1=no])]) -+ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then -+ ac_success=yes -+ fi]) -+ -+ m4_if([$2], [noext], [], [dnl -+ if test x$ac_success = xno; then -+ for alternative in ${ax_cxx_compile_alternatives}; do -+ switch="-std=gnu++${alternative}" -+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) -+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, -+ $cachevar, -+ [ac_save_CXX="$CXX" -+ CXX="$CXX $switch" -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], -+ [eval $cachevar=yes], -+ [eval $cachevar=no]) -+ CXX="$ac_save_CXX"]) -+ if eval test x\$$cachevar = xyes; then -+ CXX="$CXX $switch" -+ if test -n "$CXXCPP" ; then -+ CXXCPP="$CXXCPP $switch" -+ fi -+ ac_success=yes -+ break -+ fi -+ done -+ fi]) -+ -+ m4_if([$2], [ext], [], [dnl -+ if test x$ac_success = xno; then -+ dnl HP's aCC needs +std=c++11 according to: -+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf -+ dnl Cray's crayCC needs "-h std=c++11" -+ dnl MSVC needs -std:c++NN for C++17 and later (default is C++14) -+ for alternative in ${ax_cxx_compile_alternatives}; do -+ for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}" MSVC; do -+ if test x"$switch" = xMSVC; then -+ dnl AS_TR_SH maps both `:` and `=` to `_` so -std:c++17 would collide -+ dnl with -std=c++17. We suffix the cache variable name with _MSVC to -+ dnl avoid this. -+ switch=-std:c++${alternative} -+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_${switch}_MSVC]) -+ else -+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) -+ fi -+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, -+ $cachevar, -+ [ac_save_CXX="$CXX" -+ CXX="$CXX $switch" -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], -+ [eval $cachevar=yes], -+ [eval $cachevar=no]) -+ CXX="$ac_save_CXX"]) -+ if eval test x\$$cachevar = xyes; then -+ CXX="$CXX $switch" -+ if test -n "$CXXCPP" ; then -+ CXXCPP="$CXXCPP $switch" -+ fi -+ ac_success=yes -+ break -+ fi -+ done -+ if test x$ac_success = xyes; then -+ break -+ fi -+ done -+ fi]) -+ AC_LANG_POP([C++]) -+ if test x$ax_cxx_compile_cxx$1_required = xtrue; then -+ if test x$ac_success = xno; then -+ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) -+ fi -+ fi -+ if test x$ac_success = xno; then -+ HAVE_CXX$1=0 -+ AC_MSG_NOTICE([No compiler with C++$1 support was found]) -+ else -+ HAVE_CXX$1=1 -+ AC_DEFINE(HAVE_CXX$1,1, -+ [define if the compiler supports basic C++$1 syntax]) -+ fi -+ AC_SUBST(HAVE_CXX$1) -+]) -+ -+ -+dnl Test body for checking C++11 support -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], -+ [_AX_CXX_COMPILE_STDCXX_testbody_new_in_11] -+) -+ -+dnl Test body for checking C++14 support -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], -+ [_AX_CXX_COMPILE_STDCXX_testbody_new_in_11 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14] -+) -+ -+dnl Test body for checking C++17 support -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], -+ [_AX_CXX_COMPILE_STDCXX_testbody_new_in_11 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17] -+) -+ -+dnl Test body for checking C++20 support -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], -+ [_AX_CXX_COMPILE_STDCXX_testbody_new_in_11 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_20] -+) -+ -+dnl Test body for checking C++23 support -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_23], -+ [_AX_CXX_COMPILE_STDCXX_testbody_new_in_11 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 -+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_23] -+) -+ -+ -+dnl Tests for new features in C++11 -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ -+ -+// If the compiler admits that it is not ready for C++11, why torture it? -+// Hopefully, this will speed up the test. -+ -+#ifndef __cplusplus -+ -+#error "This is not a C++ compiler" -+ -+// MSVC always sets __cplusplus to 199711L in older versions; newer versions -+// only set it correctly if /Zc:__cplusplus is specified as well as a -+// /std:c++NN switch: -+// -+// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ -+// -+// The value __cplusplus ought to have is available in _MSVC_LANG since -+// Visual Studio 2015 Update 3: -+// -+// https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros -+// -+// This was also the first MSVC version to support C++14 so we can't use the -+// value of either __cplusplus or _MSVC_LANG to quickly rule out MSVC having -+// C++11 or C++14 support, but we can check _MSVC_LANG for C++17 and later. -+#elif __cplusplus < 201103L && !defined _MSC_VER -+ -+#error "This is not a C++11 compiler" -+ -+#else -+ -+namespace cxx11 -+{ -+ -+ namespace test_static_assert -+ { -+ -+ template -+ struct check -+ { -+ static_assert(sizeof(int) <= sizeof(T), "not big enough"); -+ }; -+ -+ } -+ -+ namespace test_final_override -+ { -+ -+ struct Base -+ { -+ virtual ~Base() {} -+ virtual void f() {} -+ }; -+ -+ struct Derived : public Base -+ { -+ virtual ~Derived() override {} -+ virtual void f() override {} -+ }; -+ -+ } -+ -+ namespace test_double_right_angle_brackets -+ { -+ -+ template < typename T > -+ struct check {}; -+ -+ typedef check single_type; -+ typedef check> double_type; -+ typedef check>> triple_type; -+ typedef check>>> quadruple_type; -+ -+ } -+ -+ namespace test_decltype -+ { -+ -+ int -+ f() -+ { -+ int a = 1; -+ decltype(a) b = 2; -+ return a + b; -+ } -+ -+ } -+ -+ namespace test_type_deduction -+ { -+ -+ template < typename T1, typename T2 > -+ struct is_same -+ { -+ static const bool value = false; -+ }; -+ -+ template < typename T > -+ struct is_same -+ { -+ static const bool value = true; -+ }; -+ -+ template < typename T1, typename T2 > -+ auto -+ add(T1 a1, T2 a2) -> decltype(a1 + a2) -+ { -+ return a1 + a2; -+ } -+ -+ int -+ test(const int c, volatile int v) -+ { -+ static_assert(is_same::value == true, ""); -+ static_assert(is_same::value == false, ""); -+ static_assert(is_same::value == false, ""); -+ auto ac = c; -+ auto av = v; -+ auto sumi = ac + av + 'x'; -+ auto sumf = ac + av + 1.0; -+ static_assert(is_same::value == true, ""); -+ static_assert(is_same::value == true, ""); -+ static_assert(is_same::value == true, ""); -+ static_assert(is_same::value == false, ""); -+ static_assert(is_same::value == true, ""); -+ return (sumf > 0.0) ? sumi : add(c, v); -+ } -+ -+ } -+ -+ namespace test_noexcept -+ { -+ -+ int f() { return 0; } -+ int g() noexcept { return 0; } -+ -+ static_assert(noexcept(f()) == false, ""); -+ static_assert(noexcept(g()) == true, ""); -+ -+ } -+ -+ namespace test_constexpr -+ { -+ -+ template < typename CharT > -+ unsigned long constexpr -+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept -+ { -+ return *s ? strlen_c_r(s + 1, acc + 1) : acc; -+ } -+ -+ template < typename CharT > -+ unsigned long constexpr -+ strlen_c(const CharT *const s) noexcept -+ { -+ return strlen_c_r(s, 0UL); -+ } -+ -+ static_assert(strlen_c("") == 0UL, ""); -+ static_assert(strlen_c("1") == 1UL, ""); -+ static_assert(strlen_c("example") == 7UL, ""); -+ static_assert(strlen_c("another\0example") == 7UL, ""); -+ -+ } -+ -+ namespace test_rvalue_references -+ { -+ -+ template < int N > -+ struct answer -+ { -+ static constexpr int value = N; -+ }; -+ -+ answer<1> f(int&) { return answer<1>(); } -+ answer<2> f(const int&) { return answer<2>(); } -+ answer<3> f(int&&) { return answer<3>(); } -+ -+ void -+ test() -+ { -+ int i = 0; -+ const int c = 0; -+ static_assert(decltype(f(i))::value == 1, ""); -+ static_assert(decltype(f(c))::value == 2, ""); -+ static_assert(decltype(f(0))::value == 3, ""); -+ } -+ -+ } -+ -+ namespace test_uniform_initialization -+ { -+ -+ struct test -+ { -+ static const int zero {}; -+ static const int one {1}; -+ }; -+ -+ static_assert(test::zero == 0, ""); -+ static_assert(test::one == 1, ""); -+ -+ } -+ -+ namespace test_lambdas -+ { -+ -+ void -+ test1() -+ { -+ auto lambda1 = [](){}; -+ auto lambda2 = lambda1; -+ lambda1(); -+ lambda2(); -+ } -+ -+ int -+ test2() -+ { -+ auto a = [](int i, int j){ return i + j; }(1, 2); -+ auto b = []() -> int { return '0'; }(); -+ auto c = [=](){ return a + b; }(); -+ auto d = [&](){ return c; }(); -+ auto e = [a, &b](int x) mutable { -+ const auto identity = [](int y){ return y; }; -+ for (auto i = 0; i < a; ++i) -+ a += b--; -+ return x + identity(a + b); -+ }(0); -+ return a + b + c + d + e; -+ } -+ -+ int -+ test3() -+ { -+ const auto nullary = [](){ return 0; }; -+ const auto unary = [](int x){ return x; }; -+ using nullary_t = decltype(nullary); -+ using unary_t = decltype(unary); -+ const auto higher1st = [](nullary_t f){ return f(); }; -+ const auto higher2nd = [unary](nullary_t f1){ -+ return [unary, f1](unary_t f2){ return f2(unary(f1())); }; -+ }; -+ return higher1st(nullary) + higher2nd(nullary)(unary); -+ } -+ -+ } -+ -+ namespace test_variadic_templates -+ { -+ -+ template -+ struct sum; -+ -+ template -+ struct sum -+ { -+ static constexpr auto value = N0 + sum::value; -+ }; -+ -+ template <> -+ struct sum<> -+ { -+ static constexpr auto value = 0; -+ }; -+ -+ static_assert(sum<>::value == 0, ""); -+ static_assert(sum<1>::value == 1, ""); -+ static_assert(sum<23>::value == 23, ""); -+ static_assert(sum<1, 2>::value == 3, ""); -+ static_assert(sum<5, 5, 11>::value == 21, ""); -+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); -+ -+ } -+ -+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae -+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function -+ // because of this. -+ namespace test_template_alias_sfinae -+ { -+ -+ struct foo {}; -+ -+ template -+ using member = typename T::member_type; -+ -+ template -+ void func(...) {} -+ -+ template -+ void func(member*) {} -+ -+ void test(); -+ -+ void test() { func(0); } -+ -+ } -+ -+} // namespace cxx11 -+ -+#endif // __cplusplus >= 201103L -+ -+]]) -+ -+ -+dnl Tests for new features in C++14 -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ -+ -+// If the compiler admits that it is not ready for C++14, why torture it? -+// Hopefully, this will speed up the test. -+ -+#ifndef __cplusplus -+ -+#error "This is not a C++ compiler" -+ -+#elif __cplusplus < 201402L && !defined _MSC_VER -+ -+#error "This is not a C++14 compiler" -+ -+#else -+ -+namespace cxx14 -+{ -+ -+ namespace test_polymorphic_lambdas -+ { -+ -+ int -+ test() -+ { -+ const auto lambda = [](auto&&... args){ -+ const auto istiny = [](auto x){ -+ return (sizeof(x) == 1UL) ? 1 : 0; -+ }; -+ const int aretiny[] = { istiny(args)... }; -+ return aretiny[0]; -+ }; -+ return lambda(1, 1L, 1.0f, '1'); -+ } -+ -+ } -+ -+ namespace test_binary_literals -+ { -+ -+ constexpr auto ivii = 0b0000000000101010; -+ static_assert(ivii == 42, "wrong value"); -+ -+ } -+ -+ namespace test_generalized_constexpr -+ { -+ -+ template < typename CharT > -+ constexpr unsigned long -+ strlen_c(const CharT *const s) noexcept -+ { -+ auto length = 0UL; -+ for (auto p = s; *p; ++p) -+ ++length; -+ return length; -+ } -+ -+ static_assert(strlen_c("") == 0UL, ""); -+ static_assert(strlen_c("x") == 1UL, ""); -+ static_assert(strlen_c("test") == 4UL, ""); -+ static_assert(strlen_c("another\0test") == 7UL, ""); -+ -+ } -+ -+ namespace test_lambda_init_capture -+ { -+ -+ int -+ test() -+ { -+ auto x = 0; -+ const auto lambda1 = [a = x](int b){ return a + b; }; -+ const auto lambda2 = [a = lambda1(x)](){ return a; }; -+ return lambda2(); -+ } -+ -+ } -+ -+ namespace test_digit_separators -+ { -+ -+ constexpr auto ten_million = 100'000'000; -+ static_assert(ten_million == 100000000, ""); -+ -+ } -+ -+ namespace test_return_type_deduction -+ { -+ -+ auto f(int& x) { return x; } -+ decltype(auto) g(int& x) { return x; } -+ -+ template < typename T1, typename T2 > -+ struct is_same -+ { -+ static constexpr auto value = false; -+ }; -+ -+ template < typename T > -+ struct is_same -+ { -+ static constexpr auto value = true; -+ }; -+ -+ int -+ test() -+ { -+ auto x = 0; -+ static_assert(is_same::value, ""); -+ static_assert(is_same::value, ""); -+ return x; -+ } -+ -+ } -+ -+} // namespace cxx14 -+ -+#endif // __cplusplus >= 201402L -+ -+]]) -+ -+ -+dnl Tests for new features in C++17 -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ -+ -+// If the compiler admits that it is not ready for C++17, why torture it? -+// Hopefully, this will speed up the test. -+ -+#ifndef __cplusplus -+ -+#error "This is not a C++ compiler" -+ -+#elif (defined _MSVC_LANG ? _MSVC_LANG : __cplusplus) < 201703L -+ -+#error "This is not a C++17 compiler" -+ -+#else -+ -+#include -+#include -+#include -+ -+namespace cxx17 -+{ -+ -+ namespace test_constexpr_lambdas -+ { -+ -+ constexpr int foo = [](){return 42;}(); -+ -+ } -+ -+ namespace test::nested_namespace::definitions -+ { -+ -+ } -+ -+ namespace test_fold_expression -+ { -+ -+ template -+ int multiply(Args... args) -+ { -+ return (args * ... * 1); -+ } -+ -+ template -+ bool all(Args... args) -+ { -+ return (args && ...); -+ } -+ -+ } -+ -+ namespace test_extended_static_assert -+ { -+ -+ static_assert (true); -+ -+ } -+ -+ namespace test_auto_brace_init_list -+ { -+ -+ auto foo = {5}; -+ auto bar {5}; -+ -+ static_assert(std::is_same, decltype(foo)>::value); -+ static_assert(std::is_same::value); -+ } -+ -+ namespace test_typename_in_template_template_parameter -+ { -+ -+ template typename X> struct D; -+ -+ } -+ -+ namespace test_fallthrough_nodiscard_maybe_unused_attributes -+ { -+ -+ int f1() -+ { -+ return 42; -+ } -+ -+ [[nodiscard]] int f2() -+ { -+ [[maybe_unused]] auto unused = f1(); -+ -+ switch (f1()) -+ { -+ case 17: -+ f1(); -+ [[fallthrough]]; -+ case 42: -+ f1(); -+ } -+ return f1(); -+ } -+ -+ } -+ -+ namespace test_extended_aggregate_initialization -+ { -+ -+ struct base1 -+ { -+ int b1, b2 = 42; -+ }; -+ -+ struct base2 -+ { -+ base2() { -+ b3 = 42; -+ } -+ int b3; -+ }; -+ -+ struct derived : base1, base2 -+ { -+ int d; -+ }; -+ -+ derived d1 {{1, 2}, {}, 4}; // full initialization -+ derived d2 {{}, {}, 4}; // value-initialized bases -+ -+ } -+ -+ namespace test_general_range_based_for_loop -+ { -+ -+ struct iter -+ { -+ int i; -+ -+ int& operator* () -+ { -+ return i; -+ } -+ -+ const int& operator* () const -+ { -+ return i; -+ } -+ -+ iter& operator++() -+ { -+ ++i; -+ return *this; -+ } -+ }; -+ -+ struct sentinel -+ { -+ int i; -+ }; -+ -+ bool operator== (const iter& i, const sentinel& s) -+ { -+ return i.i == s.i; -+ } -+ -+ bool operator!= (const iter& i, const sentinel& s) -+ { -+ return !(i == s); -+ } -+ -+ struct range -+ { -+ iter begin() const -+ { -+ return {0}; -+ } -+ -+ sentinel end() const -+ { -+ return {5}; -+ } -+ }; -+ -+ void f() -+ { -+ range r {}; -+ -+ for (auto i : r) -+ { -+ [[maybe_unused]] auto v = i; -+ } -+ } -+ -+ } -+ -+ namespace test_lambda_capture_asterisk_this_by_value -+ { -+ -+ struct t -+ { -+ int i; -+ int foo() -+ { -+ return [*this]() -+ { -+ return i; -+ }(); -+ } -+ }; -+ -+ } -+ -+ namespace test_enum_class_construction -+ { -+ -+ enum class byte : unsigned char -+ {}; -+ -+ byte foo {42}; -+ -+ } -+ -+ namespace test_constexpr_if -+ { -+ -+ template -+ int f () -+ { -+ if constexpr(cond) -+ { -+ return 13; -+ } -+ else -+ { -+ return 42; -+ } -+ } -+ -+ } -+ -+ namespace test_selection_statement_with_initializer -+ { -+ -+ int f() -+ { -+ return 13; -+ } -+ -+ int f2() -+ { -+ if (auto i = f(); i > 0) -+ { -+ return 3; -+ } -+ -+ switch (auto i = f(); i + 4) -+ { -+ case 17: -+ return 2; -+ -+ default: -+ return 1; -+ } -+ } -+ -+ } -+ -+ namespace test_template_argument_deduction_for_class_templates -+ { -+ -+ template -+ struct pair -+ { -+ pair (T1 p1, T2 p2) -+ : m1 {p1}, -+ m2 {p2} -+ {} -+ -+ T1 m1; -+ T2 m2; -+ }; -+ -+ void f() -+ { -+ [[maybe_unused]] auto p = pair{13, 42u}; -+ } -+ -+ } -+ -+ namespace test_non_type_auto_template_parameters -+ { -+ -+ template -+ struct B -+ {}; -+ -+ B<5> b1; -+ B<'a'> b2; -+ -+ } -+ -+ namespace test_structured_bindings -+ { -+ -+ int arr[2] = { 1, 2 }; -+ std::pair pr = { 1, 2 }; -+ -+ auto f1() -> int(&)[2] -+ { -+ return arr; -+ } -+ -+ auto f2() -> std::pair& -+ { -+ return pr; -+ } -+ -+ struct S -+ { -+ int x1 : 2; -+ volatile double y1; -+ }; -+ -+ S f3() -+ { -+ return {}; -+ } -+ -+ auto [ x1, y1 ] = f1(); -+ auto& [ xr1, yr1 ] = f1(); -+ auto [ x2, y2 ] = f2(); -+ auto& [ xr2, yr2 ] = f2(); -+ const auto [ x3, y3 ] = f3(); -+ -+ } -+ -+ namespace test_exception_spec_type_system -+ { -+ -+ struct Good {}; -+ struct Bad {}; -+ -+ void g1() noexcept; -+ void g2(); -+ -+ template -+ Bad -+ f(T*, T*); -+ -+ template -+ Good -+ f(T1*, T2*); -+ -+ static_assert (std::is_same_v); -+ -+ } -+ -+ namespace test_inline_variables -+ { -+ -+ template void f(T) -+ {} -+ -+ template inline T g(T) -+ { -+ return T{}; -+ } -+ -+ template<> inline void f<>(int) -+ {} -+ -+ template<> int g<>(int) -+ { -+ return 5; -+ } -+ -+ } -+ -+} // namespace cxx17 -+ -+#endif // (defined _MSVC_LANG ? _MSVC_LANG : __cplusplus) < 201703L -+ -+]]) -+ -+ -+dnl Tests for new features in C++20 -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ -+ -+#ifndef __cplusplus -+ -+#error "This is not a C++ compiler" -+ -+#elif (defined _MSVC_LANG ? _MSVC_LANG : __cplusplus) < 202002L -+ -+#error "This is not a C++20 compiler" -+ -+#else -+ -+#include -+ -+namespace cxx20 -+{ -+ -+// As C++20 supports feature test macros in the standard, there is no -+// immediate need to actually test for feature availability on the -+// Autoconf side. -+ -+} // namespace cxx20 -+ -+#endif // (defined _MSVC_LANG ? _MSVC_LANG : __cplusplus) < 202002L -+ -+]]) -+ -+ -+dnl Tests for new features in C++23 -+ -+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_23], [[ -+ -+#ifndef __cplusplus -+ -+#error "This is not a C++ compiler" -+ -+#elif (defined _MSVC_LANG ? _MSVC_LANG : __cplusplus) < 202302L -+ -+#error "This is not a C++23 compiler" -+ -+#else -+ -+#include -+ -+namespace cxx23 -+{ -+ -+// As C++23 supports feature test macros in the standard, there is no -+// immediate need to actually test for feature availability on the -+// Autoconf side. -+ -+} // namespace cxx23 -+ -+#endif // (defined _MSVC_LANG ? _MSVC_LANG : __cplusplus) < 202302L -+ -+]]) - -From e00b7f9250e0b7dae44e6b9191be0aa31d8cb668 Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Sat, 7 Dec 2024 18:18:02 -0800 -Subject: [PATCH 3/9] Stop shipping atf-*-api(3) manpages - -These manpages have been deprecated for at least a release. Remove them -and all of the logic associated with them. - -Signed-off-by: Enji Cooper ---- - Makefile.am | 8 -------- - configure.ac | 3 --- - 2 files changed, 11 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 913910c2..d202fd1d 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -114,12 +114,4 @@ clean-all: - - .PHONY: $(PHONY_TARGETS) - --# TODO(jmmv): Remove after atf 0.22. --install-data-hook: -- cd $(DESTDIR)$(man3dir) && \ -- for binding in c c++ sh; do \ -- rm -f "atf-$${binding}-api.3"; \ -- $(LN_S) "atf-$${binding}.3" "atf-$${binding}-api.3"; \ -- done -- - # vim: syntax=make:noexpandtab:shiftwidth=8:softtabstop=8 -diff --git a/configure.ac b/configure.ac -index 6d802144..a2d68cee 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -74,9 +74,6 @@ fi - - KYUA_DEVELOPER_MODE([C,C++]) - --dnl TODO(jmmv): Remove once the atf-*-api.3 symlinks are removed. --AC_PROG_LN_S -- - ATF_MODULE_APPLICATION - ATF_MODULE_DEFS - ATF_MODULE_ENV - -From aa0fe99ef3de0f31dbaefb5268015258478d0ba4 Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Sat, 7 Dec 2024 18:20:47 -0800 -Subject: [PATCH 4/9] Expose WCOREDUMP(..) in a deterministic manner - -WCOREDUMP is considered an extension to the POSIX spec on multiple -platforms, and thus is not automatically exposed on all platforms. Add the -relevant preprocessor defines to config.h via autoconf, then leverage them -in atf-c(3). - -This helps ensure that the platforms which support WCOREDUMP properly -expose the macro. - -Signed-off-by: Enji Cooper ---- - atf-c/detail/process.c | 2 ++ - configure.ac | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/atf-c/detail/process.c b/atf-c/detail/process.c -index 567d28ec..84bb4882 100644 ---- a/atf-c/detail/process.c -+++ b/atf-c/detail/process.c -@@ -23,6 +23,8 @@ - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -+#include "config.h" -+ - #include "atf-c/detail/process.h" - - #include -diff --git a/configure.ac b/configure.ac -index a2d68cee..3a88354b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -58,6 +58,8 @@ AM_PROG_CC_C_O - dnl The C compiler check automatically aborts if the compiler does not work. - dnl Nothing to do here. - -+AC_USE_SYSTEM_EXTENSIONS -+ - AC_PROG_CXX - AC_LANG_COMPILER(C++) - AX_CXX_COMPILE_STDCXX(14, noext, mandatory) - -From deee8f2628847e3fff6fd2af04f163fadee4c61c Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Tue, 10 Dec 2024 14:26:58 -0800 -Subject: [PATCH 5/9] Add compiler feature detection for - `__attribute__((nonnull))` - -This feature is being detected so several functions can be appropriately -marked as taking non-NULL/-nullptr parameters, and the compiler and static -analyzers can (in turn) make intelligent decisions when optimizing and -analyzing code, respectively. - -Signed-off-by: Enji Cooper ---- - atf-c/defs.h.in | 1 + - m4/module-defs.m4 | 21 +++++++++++++++++++++ - 2 files changed, 22 insertions(+) - -diff --git a/atf-c/defs.h.in b/atf-c/defs.h.in -index 6059e7fd..5346e56a 100644 ---- a/atf-c/defs.h.in -+++ b/atf-c/defs.h.in -@@ -27,6 +27,7 @@ - #define ATF_C_DEFS_H - - #define ATF_DEFS_ATTRIBUTE_FORMAT_PRINTF(a, b) @ATTRIBUTE_FORMAT_PRINTF@ -+#define ATF_DEFS_ATTRIBUTE_NONNULL @ATTRIBUTE_NONNULL@ - #define ATF_DEFS_ATTRIBUTE_NORETURN @ATTRIBUTE_NORETURN@ - #define ATF_DEFS_ATTRIBUTE_UNUSED @ATTRIBUTE_UNUSED@ - -diff --git a/m4/module-defs.m4 b/m4/module-defs.m4 -index b1c9cc84..feb3df27 100644 ---- a/m4/module-defs.m4 -+++ b/m4/module-defs.m4 -@@ -54,6 +54,26 @@ test_printf(const char *format, ...) - AC_SUBST([ATTRIBUTE_FORMAT_PRINTF], [${value}]) - ]) - -+AC_DEFUN([ATF_ATTRIBUTE_NONNULL], [ -+ AC_CACHE_CHECK( -+ [whether __attribute__((nonnull)) is supported], -+ [kyua_cv_attribute_nonnull], [ -+ AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM([ -+void func(char *foo __attribute__((nonnull))); -+])], -+ [kyua_cv_attribute_nonnull=yes], -+ [kyua_cv_attribute_nonnull=no]) -+ ]) -+ if test x"${kyua_cv_attribute_nonnull}" = xyes; then -+ value="__attribute__((nonnull))" -+ else -+ value="" -+ fi -+ AC_SUBST([ATTRIBUTE_NONNULL], [${value}]) -+]) -+ -+ - AC_DEFUN([ATF_ATTRIBUTE_NORETURN], [ - dnl XXX This check is overly simple and should be fixed. For example, - dnl Sun's cc does support the noreturn attribute but CC (the C++ -@@ -103,6 +123,7 @@ function(int a __attribute__((__unused__))) - - AC_DEFUN([ATF_MODULE_DEFS], [ - ATF_ATTRIBUTE_FORMAT_PRINTF -+ ATF_ATTRIBUTE_NONNULL - ATF_ATTRIBUTE_NORETURN - ATF_ATTRIBUTE_UNUSED - ]) - -From 1ca4688b87e8bcb3bfc5c05ef61b385d59019383 Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Wed, 25 Dec 2024 11:31:12 -0800 -Subject: [PATCH 6/9] Restore AC_PROG_CPP - -This was accidentally deleted post-0.21 release. It's still needed by -tests and build infrastructure. - -Signed-off-by: Enji Cooper ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 3a88354b..e42ee5e1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -62,6 +62,7 @@ AC_USE_SYSTEM_EXTENSIONS - - AC_PROG_CXX - AC_LANG_COMPILER(C++) -+AC_PROG_CPP - AX_CXX_COMPILE_STDCXX(14, noext, mandatory) - AC_CACHE_CHECK([whether the C++ compiler works], - [atf_cv_prog_cxx_works], - -From bff968f5a164a81819046c55881e6083a7607dcf Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Sat, 7 Dec 2024 18:12:02 -0800 -Subject: [PATCH 7/9] atf-c/detail/env.c: remove unnecessary complexity - -The libcalls used have been in the POSIX standard since 2008.1. Require -them to be present instead of conditionally hoping they're present. - -This fixes an issue where the autoconf code was messing up with a -combination of clang tools, which resulted in the autoconf code failing -to properly determine whether or not the functions were available. - -Signed-off-by: Enji Cooper ---- - atf-c/detail/env.c | 41 +++-------------------------------------- - configure.ac | 1 - - m4/module-env.m4 | 28 ---------------------------- - 3 files changed, 3 insertions(+), 67 deletions(-) - delete mode 100644 m4/module-env.m4 - -diff --git a/atf-c/detail/env.c b/atf-c/detail/env.c -index 8ee3d697..36de217c 100644 ---- a/atf-c/detail/env.c -+++ b/atf-c/detail/env.c -@@ -25,10 +25,6 @@ - - #include "atf-c/detail/env.h" - --#if defined(HAVE_CONFIG_H) --#include "config.h" --#endif -- - #include - #include - -@@ -65,25 +61,11 @@ atf_env_set(const char *name, const char *val) - { - atf_error_t err; - --#if defined(HAVE_SETENV) - if (setenv(name, val, 1) == -1) -- err = atf_libc_error(errno, "Cannot set environment variable " -- "'%s' to '%s'", name, val); -+ err = atf_libc_error(errno, -+ "Cannot set environment variable '%s' to '%s'", name, val); - else - err = atf_no_error(); --#elif defined(HAVE_PUTENV) -- char *buf; -- -- err = atf_text_format(&buf, "%s=%s", name, val); -- if (!atf_is_error(err)) { -- if (putenv(buf) == -1) -- err = atf_libc_error(errno, "Cannot set environment variable " -- "'%s' to '%s'", name, val); -- free(buf); -- } --#else --# error "Don't know how to set an environment variable." --#endif - - return err; - } -@@ -91,24 +73,7 @@ atf_env_set(const char *name, const char *val) - atf_error_t - atf_env_unset(const char *name) - { -- atf_error_t err; - --#if defined(HAVE_UNSETENV) - unsetenv(name); -- err = atf_no_error(); --#elif defined(HAVE_PUTENV) -- char *buf; -- -- err = atf_text_format(&buf, "%s=", name); -- if (!atf_is_error(err)) { -- if (putenv(buf) == -1) -- err = atf_libc_error(errno, "Cannot unset environment variable" -- " '%s'", name); -- free(buf); -- } --#else --# error "Don't know how to unset an environment variable." --#endif -- -- return err; -+ return (atf_no_error()); - } -diff --git a/configure.ac b/configure.ac -index e42ee5e1..00ee124c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -79,7 +79,6 @@ KYUA_DEVELOPER_MODE([C,C++]) - - ATF_MODULE_APPLICATION - ATF_MODULE_DEFS --ATF_MODULE_ENV - ATF_MODULE_FS - - ATF_RUNTIME_TOOL([ATF_BUILD_CC], -diff --git a/m4/module-env.m4 b/m4/module-env.m4 -deleted file mode 100644 -index 963aab38..00000000 ---- a/m4/module-env.m4 -+++ /dev/null -@@ -1,28 +0,0 @@ --dnl Copyright (c) 2007 The NetBSD Foundation, Inc. --dnl All rights reserved. --dnl --dnl Redistribution and use in source and binary forms, with or without --dnl modification, are permitted provided that the following conditions --dnl are met: --dnl 1. Redistributions of source code must retain the above copyright --dnl notice, this list of conditions and the following disclaimer. --dnl 2. Redistributions in binary form must reproduce the above copyright --dnl notice, this list of conditions and the following disclaimer in the --dnl documentation and/or other materials provided with the distribution. --dnl --dnl THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND --dnl CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, --dnl INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF --dnl MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. --dnl IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY --dnl DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL --dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE --dnl GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER --dnl IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR --dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN --dnl IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- --AC_DEFUN([ATF_MODULE_ENV], [ -- AC_CHECK_FUNCS([putenv setenv unsetenv]) --]) - -From 402b9362d01448074c4d2d91a8c770e591577167 Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Wed, 25 Dec 2024 17:19:28 -0800 -Subject: [PATCH 8/9] Remove ATF_BUILD_CXX require.progs check - -This particular check unfortunately doesn't work when ATF_BUILD_CXX -contains multiple CXXFLAGS, or contains a path with spaces in it. Remove -this check to unbreak the dependent tests -post-793d4640031dc06ce8a239ffa9ab61322104c4ca. - -Signed-off-by: Enji Cooper ---- - atf-c++/detail/test_helpers.hpp | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/atf-c++/detail/test_helpers.hpp b/atf-c++/detail/test_helpers.hpp -index c1171801..1c4c316f 100644 ---- a/atf-c++/detail/test_helpers.hpp -+++ b/atf-c++/detail/test_helpers.hpp -@@ -45,8 +45,6 @@ - { \ - set_md_var("descr", "Tests that the " hdrname " file can be " \ - "included on its own, without any prerequisites"); \ -- const std::string cxx = atf::env::get("ATF_BUILD_CXX", ATF_BUILD_CXX); \ -- set_md_var("require.progs", cxx); \ - } \ - ATF_TEST_CASE_BODY(name) \ - { \ -@@ -58,8 +56,6 @@ - ATF_TEST_CASE_HEAD(name) \ - { \ - set_md_var("descr", descr); \ -- const std::string cxx = atf::env::get("ATF_BUILD_CXX", ATF_BUILD_CXX); \ -- set_md_var("require.progs", cxx); \ - } \ - ATF_TEST_CASE_BODY(name) \ - { \ - -From f054eebc616577d973fa6f3b4ec440bb29671c20 Mon Sep 17 00:00:00 2001 -From: Enji Cooper -Date: Wed, 25 Dec 2024 20:17:15 -0800 -Subject: [PATCH 9/9] Remove redundant C++ toolchain check - -The C++ toolchain is sanity checked when C++14 conformance is checked; -there's no reason why we need to check whether or not the C++ toolchain -works again. - -Signed-off-by: Enji Cooper ---- - configure.ac | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 00ee124c..e36f9817 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -64,16 +64,6 @@ AC_PROG_CXX - AC_LANG_COMPILER(C++) - AC_PROG_CPP - AX_CXX_COMPILE_STDCXX(14, noext, mandatory) --AC_CACHE_CHECK([whether the C++ compiler works], -- [atf_cv_prog_cxx_works], -- [AC_LANG_PUSH([C++]) -- AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], -- [atf_cv_prog_cxx_works=yes], -- [atf_cv_prog_cxx_works=no]) -- AC_LANG_POP]) --if test "${atf_cv_prog_cxx_works}" = no; then -- AC_MSG_ERROR([C++ compiler cannot create executables]) --fi - - KYUA_DEVELOPER_MODE([C,C++]) - diff --git a/pkgs/by-name/ed/edopro/ocgcore-lua-symbols.patch b/pkgs/by-name/ed/edopro/ocgcore-lua-symbols.patch deleted file mode 100644 index 253051ebf0f7..000000000000 --- a/pkgs/by-name/ed/edopro/ocgcore-lua-symbols.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 41e750142b44465f3af197b7e2f0d6f54fc48c2d Mon Sep 17 00:00:00 2001 -From: OPNA2608 -Date: Mon, 21 Oct 2024 17:42:24 +0200 -Subject: [PATCH] Mark Lua symbols as C symbols - -Otherwise linking against our Lua built by a C-compiler fails due to the symbols being resolved as C++ symbols. ---- - interpreter.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/interpreter.h b/interpreter.h -index 6c405a1..c471ecb 100644 ---- a/interpreter.h -+++ b/interpreter.h -@@ -9,9 +9,11 @@ - #define INTERPRETER_H_ - - // Due to longjmp behaviour, we must build Lua as C++ to avoid UB -+extern "C" { - #include - #include - #include -+} - - #include "common.h" - #include --- -2.44.1 - diff --git a/pkgs/by-name/ki/kikit/drop-versioneer.patch b/pkgs/by-name/ki/kikit/drop-versioneer.patch deleted file mode 100644 index efddd64c7f23..000000000000 --- a/pkgs/by-name/ki/kikit/drop-versioneer.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/setup.py b/setup.py -index 9351fc9..75dfb2c 100644 ---- a/setup.py -+++ b/setup.py -@@ -66,9 +66,6 @@ - "solidpython>=1.1.2", - "commentjson>=0.9" - ], -- setup_requires=[ -- "versioneer" -- ], - extras_require={ - "dev": ["pytest"], - }, diff --git a/pkgs/by-name/vp/vpkedit/patches/fix-standalone-check.patch b/pkgs/by-name/vp/vpkedit/patches/fix-standalone-check.patch deleted file mode 100644 index 2c8495908060..000000000000 --- a/pkgs/by-name/vp/vpkedit/patches/fix-standalone-check.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/src/gui/utility/Options.cpp -+++ b/src/gui/utility/Options.cpp -@@ -13,15 +13,7 @@ - QSettings* opts = nullptr; - - bool Options::isStandalone() { --#ifdef VPKEDIT_BUILD_FOR_STRATA_SOURCE -- // Standalone mode is only used to check if we should write a physical config file. -- // If we're building for a Strata Source game, we should just use the system registry. -- // No need to pollute the bin folder! -- return false; --#else -- QFileInfo nonportable(QApplication::applicationDirPath() + "/.nonportable"); -- return !(nonportable.exists() && nonportable.isFile()); --#endif -+ return true; - } - - void Options::setupOptions(QSettings& options) { diff --git a/pkgs/by-name/ze/zellij/rust-1.86.patch b/pkgs/by-name/ze/zellij/rust-1.86.patch deleted file mode 100644 index bf938bfb3604..000000000000 --- a/pkgs/by-name/ze/zellij/rust-1.86.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 95ea43f1969d9f9ee50a701023b5f90cf36d3967 Mon Sep 17 00:00:00 2001 -From: tranzystorekk -Date: Thu, 3 Apr 2025 17:36:02 +0200 -Subject: [PATCH] fix(deps): fix --locked build on rust 1.86 - ---- - Cargo.lock | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index 4b7bebbc67..83298ba165 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -4084,7 +4084,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "c17a3bd88f2155da63a1f2fcb8a56377a24f0b6dfed12733bb5f544e86f690c5" - dependencies = [ - "leb128", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - ] - - [[package]] -@@ -4099,9 +4099,9 @@ dependencies = [ - - [[package]] - name = "wasmparser" --version = "0.221.2" -+version = "0.221.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9845c470a2e10b61dd42c385839cdd6496363ed63b5c9e420b5488b77bd22083" -+checksum = "d06bfa36ab3ac2be0dee563380147a5b81ba10dd8885d7fbbc9eb574be67d185" - dependencies = [ - "bitflags 2.5.0", - "hashbrown 0.15.2", -@@ -4129,7 +4129,7 @@ checksum = "a80742ff1b9e6d8c231ac7c7247782c6fc5bce503af760bca071811e5fc9ee56" - dependencies = [ - "anyhow", - "termcolor", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - ] - - [[package]] -@@ -4172,7 +4172,7 @@ dependencies = [ - "target-lexicon", - "trait-variant", - "wasm-encoder 0.221.2", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - "wasmtime-asm-macros", - "wasmtime-cache", - "wasmtime-component-macro", -@@ -4260,7 +4260,7 @@ dependencies = [ - "smallvec", - "target-lexicon", - "thiserror 1.0.61", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - "wasmtime-environ", - "wasmtime-versioned-export-macros", - ] -@@ -4287,7 +4287,7 @@ dependencies = [ - "smallvec", - "target-lexicon", - "wasm-encoder 0.221.2", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - "wasmprinter", - "wasmtime-component-util", - ] -@@ -4398,7 +4398,7 @@ dependencies = [ - "gimli 0.31.1", - "object 0.36.7", - "target-lexicon", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - "wasmtime-cranelift", - "wasmtime-environ", - "winch-codegen", -@@ -4635,7 +4635,7 @@ dependencies = [ - "smallvec", - "target-lexicon", - "thiserror 1.0.61", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - "wasmtime-cranelift", - "wasmtime-environ", - ] -@@ -4893,9 +4893,9 @@ dependencies = [ - - [[package]] - name = "wit-parser" --version = "0.221.2" -+version = "0.221.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "fbe1538eea6ea5ddbe5defd0dc82539ad7ba751e1631e9185d24a931f0a5adc8" -+checksum = "896112579ed56b4a538b07a3d16e562d101ff6265c46b515ce0c701eef16b2ac" - dependencies = [ - "anyhow", - "id-arena", -@@ -4906,7 +4906,7 @@ dependencies = [ - "serde_derive", - "serde_json", - "unicode-xid", -- "wasmparser 0.221.2", -+ "wasmparser 0.221.3", - ] - - [[package]] diff --git a/pkgs/development/interpreters/python/cpython/CVE-2025-0938.patch b/pkgs/development/interpreters/python/cpython/CVE-2025-0938.patch deleted file mode 100644 index 4bd6916a6297..000000000000 --- a/pkgs/development/interpreters/python/cpython/CVE-2025-0938.patch +++ /dev/null @@ -1,200 +0,0 @@ -From 6204ab9f989be3841c8c47e1e2cfe6a658fe16d5 Mon Sep 17 00:00:00 2001 -From: Seth Michael Larson -Date: Tue, 28 Jan 2025 14:09:00 -0600 -Subject: [PATCH 1/4] gh-105704: Disallow square brackets ( and ) in domain - names for parsed URLs - ---- - Lib/test/test_urlparse.py | 14 +++++++++++++ - Lib/urllib/parse.py | 20 +++++++++++++++++-- - ...-01-28-14-08-03.gh-issue-105704.EnhHxu.rst | 4 ++++ - 3 files changed, 36 insertions(+), 2 deletions(-) - create mode 100644 Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst - -diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py -index 4516bdea6adb19..0f15a0998ff2ea 100644 ---- a/Lib/test/test_urlparse.py -+++ b/Lib/test/test_urlparse.py -@@ -1412,6 +1412,20 @@ def test_invalid_bracketed_hosts(self): - self.assertRaises(ValueError, urllib.parse.urlsplit, 'Scheme://user@[0439:23af::2309::fae7:1234]/Path?Query') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'Scheme://user@[0439:23af:2309::fae7:1234:2342:438e:192.0.2.146]/Path?Query') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'Scheme://user@]v6a.ip[/Path') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[v6a.ip]') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[v6a.ip].suffix') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[v6a.ip]/') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[v6a.ip].suffix/') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[v6a.ip]?') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[v6a.ip].suffix?') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]/') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix/') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]?') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix?') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://user@prefix.[v6a.ip]') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://user@[v6a.ip].suffix') - - def test_splitting_bracketed_hosts(self): - p1 = urllib.parse.urlsplit('scheme://user@[v6a.ip]/path?query') -diff --git a/Lib/urllib/parse.py b/Lib/urllib/parse.py -index c412c729852272..9d51f4c6812b57 100644 ---- a/Lib/urllib/parse.py -+++ b/Lib/urllib/parse.py -@@ -439,6 +439,23 @@ def _checknetloc(netloc): - raise ValueError("netloc '" + netloc + "' contains invalid " + - "characters under NFKC normalization") - -+def _check_bracketed_netloc(netloc): -+ # Note that this function must mirror the splitting -+ # done in NetlocResultMixins._hostinfo(). -+ hostname_and_port = netloc.rpartition('@')[2] -+ before_bracket, have_open_br, bracketed = hostname_and_port.partition('[') -+ if have_open_br: -+ # No data is allowed before a bracket. -+ if before_bracket: -+ raise ValueError("Invalid IPv6 URL") -+ hostname, _, port = bracketed.partition(']') -+ # No data is allowed after the bracket but before the port delimiter. -+ if port and not port.startswith(":"): -+ raise ValueError("Invalid IPv6 URL") -+ else: -+ hostname, _, port = hostname_and_port.partition(':') -+ _check_bracketed_host(hostname) -+ - # Valid bracketed hosts are defined in - # https://www.rfc-editor.org/rfc/rfc3986#page-49 and https://url.spec.whatwg.org/ - def _check_bracketed_host(hostname): -@@ -505,8 +522,7 @@ def _urlsplit(url, scheme=None, allow_fragments=True): - (']' in netloc and '[' not in netloc)): - raise ValueError("Invalid IPv6 URL") - if '[' in netloc and ']' in netloc: -- bracketed_host = netloc.partition('[')[2].partition(']')[0] -- _check_bracketed_host(bracketed_host) -+ _check_bracketed_netloc(netloc) - if allow_fragments and '#' in url: - url, fragment = url.split('#', 1) - if '?' in url: -diff --git a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -new file mode 100644 -index 00000000000000..aaeac71678de87 ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -@@ -0,0 +1,4 @@ -+When using ``urllib.parse.urlsplit()`` and ``urlparse()`` host parsing would -+not reject domain names containing square brackets (``[`` and ``]``). Square -+brackets are only valid for IPv6 and IPvFuture hosts according to `RFC 3986 -+Section 3.2.2 `__. - -From 3ab35e8d890e2c5d4e6b0c0299f94775a3ded9ae Mon Sep 17 00:00:00 2001 -From: Seth Michael Larson -Date: Thu, 30 Jan 2025 09:50:14 -0600 -Subject: [PATCH 2/4] Use Sphinx references - -Co-authored-by: Peter Bierma ---- - .../Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -index aaeac71678de87..fb8674f558db59 100644 ---- a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -+++ b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -@@ -1,4 +1,4 @@ --When using ``urllib.parse.urlsplit()`` and ``urlparse()`` host parsing would -+When using :func:`urllib.parse.urlsplit()` and :func:`urllib.parse.urlparse()` host parsing would - not reject domain names containing square brackets (``[`` and ``]``). Square - brackets are only valid for IPv6 and IPvFuture hosts according to `RFC 3986 - Section 3.2.2 `__. - -From ebf92bb4d323d41778e5de6df177b26f18ecf7f9 Mon Sep 17 00:00:00 2001 -From: Seth Michael Larson -Date: Thu, 30 Jan 2025 11:10:35 -0600 -Subject: [PATCH 3/4] Add mismatched bracket test cases, fix news format - ---- - Lib/test/test_urlparse.py | 10 ++++++++++ - .../2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst | 8 ++++---- - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py -index 0f15a0998ff2ea..f8ce61b2b49621 100644 ---- a/Lib/test/test_urlparse.py -+++ b/Lib/test/test_urlparse.py -@@ -1426,6 +1426,16 @@ def test_invalid_bracketed_hosts(self): - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix?') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://user@prefix.[v6a.ip]') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://user@[v6a.ip].suffix') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[v6a.ip') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://v6a.ip]') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://]v6a.ip[') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://]v6a.ip') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://v6a.ip[') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[v6a.ip') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://v6a.ip].suffix') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix]v6a.ip[suffix') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix]v6a.ip') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://v6a.ip[suffix') - - def test_splitting_bracketed_hosts(self): - p1 = urllib.parse.urlsplit('scheme://user@[v6a.ip]/path?query') -diff --git a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -index fb8674f558db59..bff1bc6b0d609c 100644 ---- a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -+++ b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst -@@ -1,4 +1,4 @@ --When using :func:`urllib.parse.urlsplit()` and :func:`urllib.parse.urlparse()` host parsing would --not reject domain names containing square brackets (``[`` and ``]``). Square --brackets are only valid for IPv6 and IPvFuture hosts according to `RFC 3986 --Section 3.2.2 `__. -+When using :func:`urllib.parse.urlsplit` and :func:`urllib.parse.urlparse` host -+parsing would not reject domain names containing square brackets (``[`` and -+``]``). Square brackets are only valid for IPv6 and IPvFuture hosts according to -+`RFC 3986 Section 3.2.2 `__. - -From 2817b2e29c8b28a24f9eb97abce1e1b60b1162fa Mon Sep 17 00:00:00 2001 -From: Seth Michael Larson -Date: Thu, 30 Jan 2025 13:01:19 -0600 -Subject: [PATCH 4/4] Add more test coverage for ports - ---- - Lib/test/test_urlparse.py | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py -index f8ce61b2b49621..b51cc006b73280 100644 ---- a/Lib/test/test_urlparse.py -+++ b/Lib/test/test_urlparse.py -@@ -1424,6 +1424,15 @@ def test_invalid_bracketed_hosts(self): - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix/') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]?') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix?') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]:a') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix:a') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]:a1') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix:a1') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]:1a') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix:1a') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]:') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[::1].suffix:/') -+ self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://prefix.[::1]:?') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://user@prefix.[v6a.ip]') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://user@[v6a.ip].suffix') - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://[v6a.ip') -@@ -1438,14 +1447,16 @@ def test_invalid_bracketed_hosts(self): - self.assertRaises(ValueError, urllib.parse.urlsplit, 'scheme://v6a.ip[suffix') - - def test_splitting_bracketed_hosts(self): -- p1 = urllib.parse.urlsplit('scheme://user@[v6a.ip]/path?query') -+ p1 = urllib.parse.urlsplit('scheme://user@[v6a.ip]:1234/path?query') - self.assertEqual(p1.hostname, 'v6a.ip') - self.assertEqual(p1.username, 'user') - self.assertEqual(p1.path, '/path') -+ self.assertEqual(p1.port, 1234) - p2 = urllib.parse.urlsplit('scheme://user@[0439:23af:2309::fae7%test]/path?query') - self.assertEqual(p2.hostname, '0439:23af:2309::fae7%test') - self.assertEqual(p2.username, 'user') - self.assertEqual(p2.path, '/path') -+ self.assertIs(p2.port, None) - p3 = urllib.parse.urlsplit('scheme://user@[0439:23af:2309::fae7:1234:192.0.2.146%test]/path?query') - self.assertEqual(p3.hostname, '0439:23af:2309::fae7:1234:192.0.2.146%test') - self.assertEqual(p3.username, 'user') diff --git a/pkgs/development/perl-modules/MouseX-Getopt-gld-tests.patch b/pkgs/development/perl-modules/MouseX-Getopt-gld-tests.patch deleted file mode 100644 index 6ca6e8309462..000000000000 --- a/pkgs/development/perl-modules/MouseX-Getopt-gld-tests.patch +++ /dev/null @@ -1,143 +0,0 @@ -From c1d1eed00099af8d858536b659864b7ccea41974 Mon Sep 17 00:00:00 2001 -From: Paul Howarth -Date: Sat, 13 Mar 2021 17:46:57 +0000 -Subject: [PATCH 1/2] Update for Getopt-Long-Descriptive 0.106 - -GLD is now outputting text with wrapping depending on the terminal -width. This update is enough to get the tests to pass when running -within "expect", which provides a PTY. It's almost certainly not -enough for general use. ---- - t/104_override_usage.t | 8 ++++++++ - t/107_no_auto_help.t | 2 +- - t/109_help_flag.t | 2 +- - t/110_sort_usage_by_attr_order.t | 12 ++++++++++++ - 4 files changed, 22 insertions(+), 2 deletions(-) - -diff --git a/t/104_override_usage.t b/t/104_override_usage.t -index bc45029..6641540 100644 ---- a/t/104_override_usage.t -+++ b/t/104_override_usage.t -@@ -61,9 +61,17 @@ use Test::Exception; - \t--foo INT A foo - } - : -+ $Getopt::Long::Descriptive::VERSION < 0.106 ? - qq{usage: 104_override_usage.t [-?] [long options...] - \t-? --[no-]usage --[no-]help Prints this usage information. - \t--foo INT A foo -+} -+ : -+ qq{usage: 104_override_usage.t [-?] [long options...] -+\t--[no-]help (or -?) Prints -+\t this usage information. -+\t aka --usage -+\t--foo INT A foo - } - - ]; -diff --git a/t/107_no_auto_help.t b/t/107_no_auto_help.t -index 27f87f5..103df43 100644 ---- a/t/107_no_auto_help.t -+++ b/t/107_no_auto_help.t -@@ -60,7 +60,7 @@ END { - warning_like { - throws_ok { Class->new_with_options } - #usage: 107_no_auto_help.t [-?] [long options...] -- qr/^usage: [\d\w]+\Q.t [-?] [long options...]\E.\s+\Q-? --\E(\[no-\])?usage --(\[no-\])?\Qhelp\E\s+\QPrints this usage information.\E.\s+--configfile/ms, -+ qr/^usage: [\d\w]+\Q.t [-?] [long options...]\E.\s+(\Q-? --\E(\[no-\])?usage )?--(\[no-\])?\Qhelp\E(\Q (or -?)\E)?\s+\QPrints this usage information.\E.(\s+\Qaka --usage\E.)?\s+--configfile/ms, - 'usage information looks good'; - } - qr/^Specified configfile \'this_value_unimportant\' does not exist, is empty, or is not readable$/, -diff --git a/t/109_help_flag.t b/t/109_help_flag.t -index 8c658e2..58dbca6 100644 ---- a/t/109_help_flag.t -+++ b/t/109_help_flag.t -@@ -40,7 +40,7 @@ foreach my $args ( ['--help'], ['--usage'], ['--?'], ['-?'] ) - local @ARGV = @$args; - - throws_ok { MyClass->new_with_options() } -- qr/^usage: (?:[\d\w]+)\Q.t [-?] [long options...]\E.^\t\Q-? --\E(\[no-\])?usage --(\[no-\])?help\s+\QPrints this usage information.\E$/ms, -+ qr/^usage: (?:[\d\w]+)\Q.t [-?] [long options...]\E.^\s+(\Q-? --\E(\[no-\])?usage )?--(\[no-\])?help(\Q (or -?)\E)?\s+Prints ?(.\s+)?\Qthis usage information.\E.(\s+\Qaka --usage\E.)?$/ms, - 'Help request detected; usage information properly printed'; - } - -diff --git a/t/110_sort_usage_by_attr_order.t b/t/110_sort_usage_by_attr_order.t -index e7dd177..7ec0c99 100644 ---- a/t/110_sort_usage_by_attr_order.t -+++ b/t/110_sort_usage_by_attr_order.t -@@ -64,6 +64,18 @@ usage: 110_sort_usage_by_attr_order.t [-?] [long options...] - --baz STR Documentation for "baz" - USAGE - } -+if ( $Getopt::Long::Descriptive::VERSION >= 0.106 ) -+{ -+$expected = <<'USAGE'; -+usage: 110_sort_usage_by_attr_order.t [-?] [long options...] -+ --[no-]help (or -?) Prints -+ this usage information. -+ aka --usage -+ --foo STR Documentation for "foo" -+ --bar STR Documentation for "bar" -+ --baz STR Documentation for "baz" -+USAGE -+} - $expected =~ s/^[ ]{4}/\t/xmsg; - is($obj->usage->text, $expected, 'Usage text has nicely sorted options'); - - -From 45ae6aaabc5413e985860fbfcc8da3bdc929a054 Mon Sep 17 00:00:00 2001 -From: Paul Howarth -Date: Mon, 15 Mar 2021 10:43:14 +0000 -Subject: [PATCH 2/2] Update for Getopt-Long-Descriptive 0.107 - -GLD's use of Term::ReadKey has been reverted, so this update should now -work reliably. Use with GLD 0.106 is not supported. ---- - t/104_override_usage.t | 6 +++--- - t/110_sort_usage_by_attr_order.t | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/t/104_override_usage.t b/t/104_override_usage.t -index 6641540..f7c6a31 100644 ---- a/t/104_override_usage.t -+++ b/t/104_override_usage.t -@@ -61,15 +61,15 @@ use Test::Exception; - \t--foo INT A foo - } - : -- $Getopt::Long::Descriptive::VERSION < 0.106 ? -+ # Note: Getopt::Long::Descriptive 0.106 not supported -+ $Getopt::Long::Descriptive::VERSION < 0.107 ? - qq{usage: 104_override_usage.t [-?] [long options...] - \t-? --[no-]usage --[no-]help Prints this usage information. - \t--foo INT A foo - } - : - qq{usage: 104_override_usage.t [-?] [long options...] --\t--[no-]help (or -?) Prints --\t this usage information. -+\t--[no-]help (or -?) Prints this usage information. - \t aka --usage - \t--foo INT A foo - } -diff --git a/t/110_sort_usage_by_attr_order.t b/t/110_sort_usage_by_attr_order.t -index 7ec0c99..16cdaa1 100644 ---- a/t/110_sort_usage_by_attr_order.t -+++ b/t/110_sort_usage_by_attr_order.t -@@ -64,12 +64,12 @@ usage: 110_sort_usage_by_attr_order.t [-?] [long options...] - --baz STR Documentation for "baz" - USAGE - } --if ( $Getopt::Long::Descriptive::VERSION >= 0.106 ) -+# Note: Getopt::Long::Descriptive 0.106 not supported -+if ( $Getopt::Long::Descriptive::VERSION >= 0.107 ) - { - $expected = <<'USAGE'; - usage: 110_sort_usage_by_attr_order.t [-?] [long options...] -- --[no-]help (or -?) Prints -- this usage information. -+ --[no-]help (or -?) Prints this usage information. - aka --usage - --foo STR Documentation for "foo" - --bar STR Documentation for "bar" diff --git a/pkgs/development/python-modules/bytewax/remove-docs-test.patch b/pkgs/development/python-modules/bytewax/remove-docs-test.patch deleted file mode 100644 index 93b2adad18dc..000000000000 --- a/pkgs/development/python-modules/bytewax/remove-docs-test.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/pyproject.toml b/pyproject.toml -index 107cab8..34cc544 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -66,7 +66,6 @@ long_description_content_type = "text/markdown" - addopts = "-v --doctest-modules" - doctest_optionflags = "NORMALIZE_WHITESPACE" - testpaths = [ -- "docs", - "pysrc", - "pytests", - ] diff --git a/pkgs/development/python-modules/pythreejs/fix-re.error.patch b/pkgs/development/python-modules/pythreejs/fix-re.error.patch deleted file mode 100644 index 74e75676e7cb..000000000000 --- a/pkgs/development/python-modules/pythreejs/fix-re.error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/setupbase.py b/setupbase.py -index 0ce0ac8..7762e23 100644 ---- a/setupbase.py -+++ b/setupbase.py -@@ -659,7 +659,7 @@ def _translate_glob(pat): - translated_parts.append(_translate_glob_part(part)) - os_sep_class = '[%s]' % re.escape(SEPARATORS) - res = _join_translated(translated_parts, os_sep_class) -- return '{res}\\Z(?ms)'.format(res=res) -+ return '(?ms){res}\\Z'.format(res=res) - - - def _join_translated(translated_parts, os_sep_class): diff --git a/pkgs/development/python-modules/ruamel-yaml-clib/fix-incompatible-function-pointers.patch b/pkgs/development/python-modules/ruamel-yaml-clib/fix-incompatible-function-pointers.patch deleted file mode 100644 index 99debf22e5ae..000000000000 --- a/pkgs/development/python-modules/ruamel-yaml-clib/fix-incompatible-function-pointers.patch +++ /dev/null @@ -1,79 +0,0 @@ -Based on https://sourceforge.net/p/ruamel-yaml-clib/code/merge-requests/4/ with additions -for `input_handler` and `output_handler`. - ---- a/_ruamel_yaml.pxd -+++ b/_ruamel_yaml.pxd -@@ -2,15 +2,15 @@ - cdef extern from "_ruamel_yaml.h": - - void malloc(int l) -- void memcpy(char *d, char *s, int l) -+ void memcpy(unsigned char *d, char *s, int l) - int strlen(char *s) - int PyString_CheckExact(object o) - int PyUnicode_CheckExact(object o) - char *PyString_AS_STRING(object o) - int PyString_GET_SIZE(object o) -- object PyString_FromStringAndSize(char *v, int l) -+ object PyString_FromStringAndSize(unsigned char *v, size_t l) - object PyUnicode_FromString(char *u) -- object PyUnicode_DecodeUTF8(char *u, int s, char *e) -+ object PyUnicode_DecodeUTF8(unsigned char *u, size_t s, char *e) - object PyUnicode_AsUTF8String(object o) - int PY_MAJOR_VERSION - -@@ -85,11 +85,11 @@ - YAML_MAPPING_START_EVENT - YAML_MAPPING_END_EVENT - -- ctypedef int yaml_read_handler_t(void *data, char *buffer, -- int size, int *size_read) except 0 -- -- ctypedef int yaml_write_handler_t(void *data, char *buffer, -- int size) except 0 -+ ctypedef int yaml_read_handler_t(void *data, unsigned char *buffer, -+ size_t size, size_t *size_read) except 0 -+ -+ ctypedef int yaml_write_handler_t(void *data, unsigned char *buffer, -+ size_t size) except 0 - - ctypedef struct yaml_mark_t: - int index -@@ -112,7 +112,7 @@ - char *handle - char *suffix - ctypedef struct _yaml_token_scalar_data_t: -- char *value -+ unsigned char *value - int length - yaml_scalar_style_t style - ctypedef struct _yaml_token_version_directive_data_t: -@@ -151,7 +151,7 @@ - ctypedef struct _yaml_event_scalar_data_t: - char *anchor - char *tag -- char *value -+ unsigned char *value - int length - int plain_implicit - int quoted_implicit ---- a/_ruamel_yaml.pyx -+++ b/_ruamel_yaml.pyx -@@ -904,7 +904,7 @@ - raise error - return 1 - --cdef int input_handler(void *data, char *buffer, int size, int *read) except 0: -+cdef int input_handler(void *data, unsigned char *buffer, size_t size, size_t *read) except 0: - cdef CParser parser - parser = data - if parser.stream_cache is None: -@@ -1514,7 +1514,7 @@ - self.ascend_resolver() - return 1 - --cdef int output_handler(void *data, char *buffer, int size) except 0: -+cdef int output_handler(void *data, unsigned char *buffer, size_t size) except 0: - cdef CEmitter emitter - emitter = data - if emitter.dump_unicode == 0: diff --git a/pkgs/tools/archivers/quickbms/0002-disable-openssl.patch b/pkgs/tools/archivers/quickbms/0002-disable-openssl.patch deleted file mode 100644 index 3d77f45e3f86..000000000000 --- a/pkgs/tools/archivers/quickbms/0002-disable-openssl.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- src/Makefile 2023-05-25 18:16:56.000296653 +0900 -+++ src/Makefile 2023-05-25 18:17:00.772272861 +0900 -@@ -23,7 +23,6 @@ - EXTRA_TARGETS = libs/amiga/amiga.s libs/powzix/*.cpp - CFLAGS += -msse2 - endif --USE_OPENSSL = 1 - endif - - # -liconv and -fPIC are necessary on Android