granja: jubilar incoming-clib — 0 recetas y 26 parches inalcanzables
Era la cola de staging de las tandas base-system/foot y sus recetas ya se
habian PROMOVIDO a canonicas commit a commit ("promover 7 tier-2", "promover
cadena crypto", "promover tllist/utf8proc/scdoc/fcft/foot"). Lo que quedaba
eran 0 .toml y 26 .patch: 5 copias byte a byte de la version canonica de
recipes/ y 21 de recetas que ya no viven ahi.
No eran "probablemente inutiles": son inalcanzables POR CONSTRUCCION.
`fetch::apply_patches` resuelve `recipe.base_dir.join(nombre)` y `base_dir` es
el directorio de la receta, sin fallback a `recipes/` — un parche en una cola
sin recetas no lo puede pedir nadie.
⚠ El corolario queda escrito en farm-worker-loop.sh: al promover una cola, los
`.patch` NO viajan con la receta, y la cola queda en un estado que PARECE vivo
(tiene ficheros) sin moler nada.
Sale de QUEUES en farm-worker-loop.sh y de la lista de promote de farm-down.sh.
`incoming-go` se queda en las dos aunque el directorio no exista: es la cola
aislada del frente Go y el guard `ls $Q/*.toml` salta las vacias; quitarla seria
dejarla muerta el dia que ese frente la recree.
Verificado con la regla ESTRICTA de resolucion de parches sobre todo el corpus:
94 referencias resuelven, 0 rotas. (El chequeo que use al jubilar onda-2 era mas
laxo que hammer — aceptaba recipes/<parche> como fallback; su conclusion se
sostiene, pero el metodo queda corregido.)
Gate --check OK, grafo CIERRA, corpus 786/787.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
Semantic delta
No definition changed: this change is text, documentation or data.
28 files · +14 −1085
- recipes/incoming-clib/0001-posixtz-ensure-the-file-offset-we-pass-to-lseek-is-o.patch +0 −27
- recipes/incoming-clib/0002-fix-implicit-declaration-warnings-by-including-strin.patch +0 −28
- recipes/incoming-clib/CVE-2026-6732-test.patch +0 −84
- recipes/incoming-clib/CVE-2026-6732.patch +0 −32
- recipes/incoming-clib/bzip2-1.0.2-progress.patch +0 −175
- recipes/incoming-clib/bzip2-1.0.3-no-test.patch +0 −9
- recipes/incoming-clib/bzip2-1.0.4-makefile-CFLAGS.patch +0 −25
- recipes/incoming-clib/bzip2-1.0.4-man-links.patch +0 −12
- recipes/incoming-clib/cwd.patch +0 −14
- recipes/incoming-clib/disable-broken-test.patch +0 −18
- recipes/incoming-clib/fix-tests-fortify.patch +0 −13
- recipes/incoming-clib/flaky-tests.patch +0 −83
- recipes/incoming-clib/libpng-fix-arm-neon.patch +0 −39
- recipes/incoming-clib/musl-stacksize.patch +0 −23
- recipes/incoming-clib/pcf-family-names.patch +0 −13
- recipes/incoming-clib/projectsdir.patch +0 −102
- recipes/incoming-clib/saneso.patch +0 −23
- recipes/incoming-clib/shared-libmandoc.patch +0 −92
- recipes/incoming-clib/skip-meaningless-pthread-rwlock-test.patch +0 −13
- recipes/incoming-clib/skip-tests-musl.patch +0 −70
- recipes/incoming-clib/skip-unicode-16-tests.patch +0 −89
- recipes/incoming-clib/subpixel.patch +0 −12
- recipes/incoming-clib/table-validation-modules.patch +0 −21
- recipes/incoming-clib/tests-machine-id.patch +0 −41
- recipes/incoming-clib/tests.patch +0 −12
- recipes/incoming-clib/valgrind.patch +0 −11
- scripts/farm/farm-down.sh +1 −1
- scripts/farm/farm-worker-loop.sh +13 −3
diff --git a/recipes/incoming-clib/0001-posixtz-ensure-the-file-offset-we-pass-to-lseek-is-o.patch b/recipes/incoming-clib/0001-posixtz-ensure-the-file-offset-we-pass-to-lseek-is-o.patch
deleted file mode 100644
index c4ae70b0..00000000
--- a/recipes/incoming-clib/0001-posixtz-ensure-the-file-offset-we-pass-to-lseek-is-o.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e6765bd363d2dd1dcaeeae5117cc25aae53fb944 Mon Sep 17 00:00:00 2001
-From: William Pitcock <nenolod@dereferenced.org>
-Date: Thu, 28 Apr 2011 02:56:42 -0500
-Subject: [PATCH 1/2] posixtz: ensure the file offset we pass to lseek is off_t
-
-on 32-bit systems, sizeof(off_t) is 4, on 64-bit sizeof(off_t) is 8
-causing a word masking issue.
----
- posixtz.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/posixtz.c b/posixtz.c
-index cddcb3e..972ca31 100644
---- a/posixtz-0.5/posixtz.c
-+++ b/posixtz-0.5/posixtz.c
-@@ -36,7 +36,7 @@ char *posix_tz(const char *filename)
- if (r != TZ_BUFLEN
- || strncmp(buf, "TZif", 4) != 0
- || (unsigned char)buf[4] < 2
-- || lseek(fd, -TZ_BUFLEN, SEEK_END) < 0
-+ || lseek(fd, (off_t) -TZ_BUFLEN, SEEK_END) < 0
- )
- goto ERROR;
-
---
-2.16.2
-
diff --git a/recipes/incoming-clib/0002-fix-implicit-declaration-warnings-by-including-strin.patch b/recipes/incoming-clib/0002-fix-implicit-declaration-warnings-by-including-strin.patch
deleted file mode 100644
index 6f61b25b..00000000
--- a/recipes/incoming-clib/0002-fix-implicit-declaration-warnings-by-including-strin.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 89d4aece7ba679703060393ac95086fd514c7fc7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
-Date: Tue, 27 Mar 2018 19:09:44 +0200
-Subject: [PATCH 2/2] fix implicit declaration warnings by including string.h
- and unistd.h
-
-string.h is needed for strncmp(3) and unistd.h is needed for read(3),
-close(3) and lseek(3).
----
- posixtz.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/posixtz.c b/posixtz.c
-index 972ca31..4a36e10 100644
---- a/posixtz-0.5/posixtz.c
-+++ b/posixtz-0.5/posixtz.c
-@@ -14,6 +14,8 @@
- #include <fcntl.h>
- #include <limits.h>
- #include <stdio.h>
-+#include <string.h>
-+#include <unistd.h>
-
- #include "posixtz.h"
-
---
-2.16.2
-
diff --git a/recipes/incoming-clib/CVE-2026-6732-test.patch b/recipes/incoming-clib/CVE-2026-6732-test.patch
deleted file mode 100644
index e88d2b8a..00000000
--- a/recipes/incoming-clib/CVE-2026-6732-test.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- a/testparser.c
-+++ b/testparser.c
-@@ -11,6 +11,7 @@
- #include <libxml/xmlreader.h>
- #include <libxml/xmlwriter.h>
- #include <libxml/HTMLparser.h>
-+#include <libxml/xmlschemas.h>
-
- #include <string.h>
-
-@@ -777,6 +778,63 @@
- }
- #endif /* WIN32 */
-
-+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
-+/*
-+ * Regression test for CVE-2026-6732: a type confusion in xmlParseReference
-+ * crashed a schema-validating xmlTextReader whenever the document expanded
-+ * an internal entity. Without the fix this triggers SIGSEGV on the first
-+ * read; with the fix the entity expansion is read and the schema correctly
-+ * reports the substituted content as invalid against xs:integer.
-+ *
-+ * Backport of upstream commit 7cea3fd1 adapted for the libxml2 2.13
-+ * testparser.c layout (which predates the testReaderSchemaResourceLoader
-+ * helper that upstream uses as an anchor on master).
-+ */
-+static int
-+testReaderSchemaEntityExpansion(void) {
-+ static const char xsd[] =
-+ "<?xml version='1.0'?>\n"
-+ "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n"
-+ " <xs:element name='e' type='xs:integer'/>\n"
-+ "</xs:schema>\n";
-+ static const char xml[] =
-+ "<!DOCTYPE e [<!ENTITY n \"not-an-int\">]>\n"
-+ "<e>&n;</e>";
-+ xmlSchemaParserCtxtPtr spc;
-+ xmlSchemaPtr schema;
-+ xmlTextReaderPtr reader;
-+ int err = 0;
-+ int ret;
-+
-+ spc = xmlSchemaNewMemParserCtxt(xsd, (int) sizeof(xsd) - 1);
-+ schema = xmlSchemaParse(spc);
-+ xmlSchemaFreeParserCtxt(spc);
-+ if (schema == NULL) {
-+ fprintf(stderr, "xmlSchemaParse failed\n");
-+ return 1;
-+ }
-+
-+ reader = xmlReaderForMemory(xml, (int) sizeof(xml) - 1, "doc.xml", NULL,
-+ XML_PARSE_NOENT | XML_PARSE_DTDLOAD);
-+ xmlTextReaderSetSchema(reader, schema);
-+
-+ while ((ret = xmlTextReaderRead(reader)) == 1)
-+ ;
-+ if (ret != 0) {
-+ fprintf(stderr, "reader failed on entity-expanded document\n");
-+ err = 1;
-+ }
-+ if (xmlTextReaderIsValid(reader) != 0) {
-+ fprintf(stderr, "schema missed invalid entity-expanded text\n");
-+ err = 1;
-+ }
-+
-+ xmlFreeTextReader(reader);
-+ xmlSchemaFree(schema);
-+ return err;
-+}
-+#endif
-+
- int
- main(void) {
- int err = 0;
-@@ -807,6 +865,9 @@
- #ifdef LIBXML_XINCLUDE_ENABLED
- err |= testReaderXIncludeError();
- #endif
-+#ifdef LIBXML_SCHEMAS_ENABLED
-+ err |= testReaderSchemaEntityExpansion();
-+#endif
- #endif
- #ifdef LIBXML_WRITER_ENABLED
- err |= testWriterClose();
diff --git a/recipes/incoming-clib/CVE-2026-6732.patch b/recipes/incoming-clib/CVE-2026-6732.patch
deleted file mode 100644
index 66ce0a32..00000000
--- a/recipes/incoming-clib/CVE-2026-6732.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/parser.c b/parser.c
-index 6e7621a86b5b9256b7a068f09a7e1650e7264aa5..85bc39b1c2739574ab90fde34a24459e5ef9928f 100644
---- a/parser.c
-+++ b/parser.c
-@@ -7261,10 +7261,10 @@ xmlParseReference(xmlParserCtxt *ctxt) {
- if ((cur->type == XML_TEXT_NODE) ||
- (ctxt->options & XML_PARSE_NOCDATA)) {
- if (ctxt->sax->characters != NULL)
-- ctxt->sax->characters(ctxt, cur->content, len);
-+ ctxt->sax->characters(ctxt->userData, cur->content, len);
- } else {
- if (ctxt->sax->cdataBlock != NULL)
-- ctxt->sax->cdataBlock(ctxt, cur->content, len);
-+ ctxt->sax->cdataBlock(ctxt->userData, cur->content, len);
- }
-
- cur = cur->next;
-@@ -7284,10 +7284,12 @@ xmlParseReference(xmlParserCtxt *ctxt) {
- if ((cur->type == XML_TEXT_NODE) ||
- (ctxt->options & XML_PARSE_NOCDATA)) {
- if (ctxt->sax->characters != NULL)
-- ctxt->sax->characters(ctxt, cur->content, len);
-+ ctxt->sax->characters(ctxt->userData, cur->content,
-+ len);
- } else {
- if (ctxt->sax->cdataBlock != NULL)
-- ctxt->sax->cdataBlock(ctxt, cur->content, len);
-+ ctxt->sax->cdataBlock(ctxt->userData, cur->content,
-+ len);
- }
-
- break;
diff --git a/recipes/incoming-clib/bzip2-1.0.2-progress.patch b/recipes/incoming-clib/bzip2-1.0.2-progress.patch
deleted file mode 100644
index 2f389cfa..00000000
--- a/recipes/incoming-clib/bzip2-1.0.2-progress.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-Ripped from Mandrake.
-
-http://bugs.gentoo.org/show_bug.cgi?id=82192
-
---- bzip2-1.0.2.org/bzip2.1
-+++ bzip2-1.0.2/bzip2.1
-@@ -235,6 +235,10 @@
- Suppress non-essential warning messages. Messages pertaining to
- I/O errors and other critical events will not be suppressed.
- .TP
-+.B \-p --show-progress
-+Show percentage of input-file done and while compressing show the percentage
-+of the original file the new file is.
-+.TP
- .B \-v --verbose
- Verbose mode -- show the compression ratio for each file processed.
- Further \-v's increase the verbosity level, spewing out lots of
---- bzip2-1.0.2.org/bzip2.c
-+++ bzip2-1.0.2/bzip2.c
-@@ -145,6 +145,7 @@
- #include <signal.h>
- #include <math.h>
- #include <errno.h>
-+#include <time.h>
- #include <ctype.h>
- #include "bzlib.h"
-
-@@ -301,6 +302,7 @@
- Char progNameReally[FILE_NAME_LEN];
- FILE *outputHandleJustInCase;
- Int32 workFactor;
-+Char showProgress;
-
- static void panic ( Char* ) NORETURN;
- static void ioError ( void ) NORETURN;
-@@ -425,6 +427,12 @@
- UInt32 nbytes_in_lo32, nbytes_in_hi32;
- UInt32 nbytes_out_lo32, nbytes_out_hi32;
- Int32 bzerr, bzerr_dummy, ret;
-+ double fileSize = 0; /* initialized to make the compiler stop crying */
-+ /* double because big files might otherwhise give
-+ * overflows. not long long since not all compilers
-+ * support that one
-+ */
-+ time_t startTime, currentTime;
-
- SET_BINARY_MODE(stream);
- SET_BINARY_MODE(zStream);
-@@ -432,12 +440,21 @@
- if (ferror(stream)) goto errhandler_io;
- if (ferror(zStream)) goto errhandler_io;
-
-+ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
-+ (void)fseek(stream, 0, SEEK_END);
-+ fileSize = (double)ftell(stream);
-+ rewind(stream);
-+ if (verbosity >= 1)
-+ fprintf(stderr, "Input-file size: %ld\n", (long)fileSize);
-+ }
-+
- bzf = BZ2_bzWriteOpen ( &bzerr, zStream,
- blockSize100k, verbosity, workFactor );
- if (bzerr != BZ_OK) goto errhandler;
-
- if (verbosity >= 2) fprintf ( stderr, "\n" );
-
-+ time(&startTime);
- while (True) {
-
- if (myfeof(stream)) break;
-@@ -446,13 +463,32 @@
- if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf );
- if (bzerr != BZ_OK) goto errhandler;
-
-+ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True)
-+ {
-+ time(¤tTime);
-+
-+ if ((currentTime - startTime) > 1) { /* show progress every 2 seconds */
-+ double curInPos = (double)ftell(stream);
-+ double curOutPos = (double)ftell(zStream);
-+
-+ startTime = currentTime;
-+
-+ fprintf(stderr, "%.2f%% done", (curInPos * 100.0) / fileSize);
-+ if (srcMode == SM_F2F)
-+ {
-+ fprintf(stderr, ", new size: %.2f%%", (curOutPos * 100.0) / curInPos);
-+ }
-+
-+ fprintf(stderr, " \r");
-+ }
-+ }
- }
-
- BZ2_bzWriteClose64 ( &bzerr, bzf, 0,
- &nbytes_in_lo32, &nbytes_in_hi32,
- &nbytes_out_lo32, &nbytes_out_hi32 );
- if (bzerr != BZ_OK) goto errhandler;
--
-+
- if (ferror(zStream)) goto errhandler_io;
- ret = fflush ( zStream );
- if (ret == EOF) goto errhandler_io;
-@@ -526,6 +562,8 @@
- UChar unused[BZ_MAX_UNUSED];
- Int32 nUnused;
- UChar* unusedTmp;
-+ double fileSize = 0; /* initialized to make the compiler stop crying */
-+ time_t startTime, currentTime;
-
- nUnused = 0;
- streamNo = 0;
-@@ -533,9 +571,19 @@
- SET_BINARY_MODE(stream);
- SET_BINARY_MODE(zStream);
-
-+ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
-+ long dummy = ftell(zStream);
-+ (void)fseek(zStream, 0, SEEK_END);
-+ fileSize = (double)ftell(zStream);
-+ (void)fseek(zStream, dummy, SEEK_SET);
-+ if (verbosity >= 1)
-+ fprintf(stderr, "Input-file size: %ld\n", (long)fileSize);
-+ }
-+
- if (ferror(stream)) goto errhandler_io;
- if (ferror(zStream)) goto errhandler_io;
-
-+ time(&startTime);
- while (True) {
-
- bzf = BZ2_bzReadOpen (
-@@ -551,6 +599,17 @@
- if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0)
- fwrite ( obuf, sizeof(UChar), nread, stream );
- if (ferror(stream)) goto errhandler_io;
-+
-+ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
-+ time(¤tTime);
-+ if ((currentTime - startTime) >= 2)
-+ {
-+ double curInPos = (double)ftell(zStream);
-+ startTime = currentTime;
-+
-+ fprintf(stderr, "%.2f%% done\r", (curInPos * 100.0) / fileSize);
-+ }
-+ }
- }
- if (bzerr != BZ_STREAM_END) goto errhandler;
-
-@@ -1872,6 +1931,7 @@
- deleteOutputOnInterrupt = False;
- exitValue = 0;
- i = j = 0; /* avoid bogus warning from egcs-1.1.X */
-+ showProgress = False;
-
- /*-- Set up signal handlers for mem access errors --*/
- signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
-@@ -1949,6 +2009,7 @@
- case 'k': keepInputFiles = True; break;
- case 's': smallMode = True; break;
- case 'q': noisy = False; break;
-+ case 'p': showProgress = True; break;
- case '1': blockSize100k = 1; break;
- case '2': blockSize100k = 2; break;
- case '3': blockSize100k = 3; break;
-@@ -1985,6 +2046,7 @@
- if (ISFLAG("--keep")) keepInputFiles = True; else
- if (ISFLAG("--small")) smallMode = True; else
- if (ISFLAG("--quiet")) noisy = False; else
-+ if (ISFLAG("--show-progress")) showProgress = True; else
- if (ISFLAG("--version")) license(); else
- if (ISFLAG("--license")) license(); else
- if (ISFLAG("--exponential")) workFactor = 1; else
diff --git a/recipes/incoming-clib/bzip2-1.0.3-no-test.patch b/recipes/incoming-clib/bzip2-1.0.3-no-test.patch
deleted file mode 100644
index fc876d50..00000000
--- a/recipes/incoming-clib/bzip2-1.0.3-no-test.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- ./Makefile
-+++ ./Makefile
-@@ -23,5 +23,5 @@
- bzlib.o
-
--all: libbz2.a bzip2 bzip2recover test
-+all: libbz2.a bzip2 bzip2recover
-
- bzip2: libbz2.a bzip2.o
diff --git a/recipes/incoming-clib/bzip2-1.0.4-makefile-CFLAGS.patch b/recipes/incoming-clib/bzip2-1.0.4-makefile-CFLAGS.patch
deleted file mode 100644
index 6acdc28a..00000000
--- a/recipes/incoming-clib/bzip2-1.0.4-makefile-CFLAGS.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- ./Makefile
-+++ ./Makefile
-@@ -18,10 +18,9 @@
- CC=gcc
- AR=ar
- RANLIB=ranlib
--LDFLAGS=
-
- BIGFILES=-D_FILE_OFFSET_BITS=64
--CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
-+CFLAGS+=-Wall -Winline $(BIGFILES) $(CPPFLAGS) -O2
-
- # Where you want it installed when you do 'make install'
- PREFIX=/usr/local
---- ./Makefile-libbz2_so
-+++ ./Makefile-libbz2_so
-@@ -24,7 +24,7 @@
- SHELL=/bin/sh
- CC=gcc
- BIGFILES=-D_FILE_OFFSET_BITS=64
--CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
-+CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES) $(CPPFLAGS) -O2
-
- OBJS= blocksort.o \
- huffman.o \
diff --git a/recipes/incoming-clib/bzip2-1.0.4-man-links.patch b/recipes/incoming-clib/bzip2-1.0.4-man-links.patch
deleted file mode 100644
index 2427d6a7..00000000
--- a/recipes/incoming-clib/bzip2-1.0.4-man-links.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-http://bugs.gentoo.org/172986
-
---- bzip2-1.0.4/Makefile
-+++ bzip2-1.0.4/Makefile
-@@ -85,4 +85,7 @@
- cp -f bzip2.1 $(PREFIX)/share/man/man1
- chmod a+r $(PREFIX)/share/man/man1/bzip2.1
-+ ln -s bzip2.1 $(PREFIX)/share/man/man1/bunzip2.1
-+ ln -s bzip2.1 $(PREFIX)/share/man/man1/bzcat.1
-+ ln -s bzip2.1 $(PREFIX)/share/man/man1/bzip2recover.1
- cp -f bzlib.h $(PREFIX)/include
- chmod a+r $(PREFIX)/include/bzlib.h
diff --git a/recipes/incoming-clib/cwd.patch b/recipes/incoming-clib/cwd.patch
deleted file mode 100644
index cebc626b..00000000
--- a/recipes/incoming-clib/cwd.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-seems to fail on ppc64le
---
-diff --git a/gettext-tools/gnulib-tests/test-getcwd.sh b/gettext-tools/gnulib-tests/test-getcwd.sh
-index 64a3c7c..ccabb8f 100755
---- a/gettext-tools/gnulib-tests/test-getcwd.sh
-+++ b/gettext-tools/gnulib-tests/test-getcwd.sh
-@@ -1,5 +1,7 @@
- #!/bin/sh
-
-+exit 77
-+
- . "${srcdir=.}/init.sh"; path_prepend_ .
-
- ${CHECKER} test-getcwd
diff --git a/recipes/incoming-clib/disable-broken-test.patch b/recipes/incoming-clib/disable-broken-test.patch
deleted file mode 100644
index a89e65d6..00000000
--- a/recipes/incoming-clib/disable-broken-test.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -47,7 +47,6 @@ endif
- if cairo_dep.found()
- test_cflags += '-DHAVE_CAIRO'
- tests += [
-- [ 'test-font-data', [ 'test-font-data.c', 'test-common.c' ], [ libpangocairo_dep ] + common_deps ],
- [ 'test-bidi', [ 'test-bidi.c' ], [ libpangocairo_dep ] ],
- [ 'testcontext', [ 'testcontext.c' ], [ libpangocairo_dep ] ],
- [ 'testiter', [ 'testiter.c' ], [ libpangocairo_dep ] ],
-@@ -70,7 +69,6 @@ if cairo_dep.found()
-
- if host_system != 'darwin'
- tests += [
-- [ 'test-layout', [ 'test-layout.c', 'test-common.c' ], [ libpangocairo_dep, libpangoft2_dep ] + common_deps ],
- [ 'test-layout2', [ 'test-layout2.c'], [ libpangocairo_dep, libpangoft2_dep ] + common_deps ],
- [ 'test-fonts', [ 'test-fonts.c', 'test-common.c' ], [ libpangocairo_dep, libpangoft2_dep ] + common_deps ],
- [ 'test-no-fonts', [ 'test-no-fonts.c' ], [ libpangocairo_dep, libpangoft2_dep ] ],
diff --git a/recipes/incoming-clib/fix-tests-fortify.patch b/recipes/incoming-clib/fix-tests-fortify.patch
deleted file mode 100644
index 793a0a36..00000000
--- a/recipes/incoming-clib/fix-tests-fortify.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/testsuite/libffi.bhaible/bhaible.exp b/testsuite/libffi.bhaible/bhaible.exp
-index 44aebc5..245f18c 100644
---- a/testsuite/libffi.bhaible/bhaible.exp
-+++ b/testsuite/libffi.bhaible/bhaible.exp
-@@ -24,7 +24,7 @@ global compiler_vendor
- # was done in a pretty lazy fashion, and requires the use of compiler
- # flags to disable warnings for now.
- if { [string match $compiler_vendor "gnu"] } {
-- set warning_options "-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-uninitialized";
-+ set warning_options "-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-uninitialized -Wno-stringop-overflow";
- }
- if { [string match $compiler_vendor "microsoft"] } {
- # -wd4996 suggest use of vsprintf_s instead of vsprintf
diff --git a/recipes/incoming-clib/flaky-tests.patch b/recipes/incoming-clib/flaky-tests.patch
deleted file mode 100644
index bc6f0aad..00000000
--- a/recipes/incoming-clib/flaky-tests.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-https://gitlab.gnome.org/GNOME/glib/-/issues/3318
-https://gitlab.gnome.org/GNOME/glib/-/issues/3320
-
-diff --git a/glib/tests/meson.build b/glib/tests/meson.build
-index 85f40d2e1..059a786d3 100644
---- a/glib/tests/meson.build
-+++ b/glib/tests/meson.build
-@@ -54,6 +54,7 @@ glib_tests = {
- 'gwakeup' : {
- 'source' : ['gwakeuptest.c', '../gwakeup.c'],
- 'install' : false,
-+ 'can_fail': host_machine.cpu_family() == 's390x',
- },
- 'hash' : {},
- 'hmac' : {},
-@@ -226,6 +227,7 @@ if glib_conf.has('HAVE_EVENTFD')
- 'source' : ['gwakeuptest.c', '../gwakeup.c'],
- 'c_args' : ['-DTEST_EVENTFD_FALLBACK'],
- 'install' : false,
-+ 'can_fail': host_machine.cpu_family() == 's390x',
- },
- }
- endif
-diff --git a/gobject/tests/meson.build b/gobject/tests/meson.build
-index a163e5f91..12c449519 100644
---- a/gobject/tests/meson.build
-+++ b/gobject/tests/meson.build
-@@ -78,7 +78,7 @@ gobject_tests = {
- 'references' : {},
- 'basic-signals' : {},
- 'singleton' : {},
-- 'threadtests' : {},
-+ 'threadtests' : { 'can_fail': 'aarch64' in host_machine.cpu_family() or 'riscv' in host_machine.cpu_family() },
- 'dynamictests' : {},
- 'binding' : {},
- 'bindinggroup' : {},
-From ad2925ef361a7c889ff696a1ba9e677accaecd08 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Thu, 4 Apr 2024 10:15:07 +0200
-Subject: [PATCH] tests: increase timeout on slow architectures
-
-Prevent tests to timeout on architectures that are slow.
-
-Fixes https://gitlab.gnome.org/GNOME/glib/-/issues/3319
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- meson.build | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index f0c5e070b..4c6c87766 100644
---- a/meson.build
-+++ b/meson.build
-@@ -182,6 +182,12 @@ test_protocol = 'tap'
- test_timeout = 30
- test_timeout_slow = 90
-
-+# give more time on slow architectures
-+if 'riscv' in host_machine.cpu_family()
-+ test_timeout = test_timeout * 4
-+ test_timeout_slow = test_timeout_slow * 4
-+endif
-+
- add_test_setup('default',
- is_default: true,
- exclude_suites: ['flaky', 'failing'],
---
-2.44.0
-
-diff --git a/glib/tests/meson.build b/glib/tests/meson.build
-index 85f40d2e1..f2ee59678 100644
---- a/glib/tests/meson.build
-+++ b/glib/tests/meson.build
-@@ -113,6 +113,8 @@ glib_tests = {
- 'regex' : {
- 'dependencies' : [pcre2],
- 'c_args' : use_pcre2_static_flag ? ['-DPCRE2_STATIC'] : [],
-+ # https://gitlab.gnome.org/GNOME/glib/-/issues/3321
-+ 'can_fail': host_machine.cpu_family() == 'riscv64',
- },
- 'relation' : {},
- 'rwlock' : {},
diff --git a/recipes/incoming-clib/libpng-fix-arm-neon.patch b/recipes/incoming-clib/libpng-fix-arm-neon.patch
deleted file mode 100644
index 099083fd..00000000
--- a/recipes/incoming-clib/libpng-fix-arm-neon.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 7b6d5b9..d02e16d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -357,17 +357,21 @@ AC_ARG_ENABLE([arm-neon],
- [case "$enableval" in
- no|off)
- # disable the default enabling on __ARM_NEON__ systems:
-+ AC_DEFINE([PNG_ARM_NEON], [], [ARM NEON support])
- AC_DEFINE([PNG_ARM_NEON_OPT], [0],
- [Disable ARM Neon optimizations])
- # Prevent inclusion of the assembler files below:
- enable_arm_neon=no ;;
- check)
-+ AC_DEFINE([PNG_ARM_NEON], [], [ARM NEON support])
- AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [],
- [Check for ARM Neon support at run-time]);;
- api)
-+ AC_DEFINE([PNG_ARM_NEON], [], [ARM NEON support])
- AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [],
- [Turn on ARM Neon optimizations at run-time]);;
- yes|on)
-+ AC_DEFINE([PNG_ARM_NEON], [], [ARM NEON support])
- AC_DEFINE([PNG_ARM_NEON_OPT], [2],
- [Enable ARM Neon optimizations])
- AC_MSG_WARN([--enable-arm-neon: please specify 'check' or 'api', if]
-diff --git a/pngpriv.h b/pngpriv.h
-index 2e426cf..fb521cf 100644
---- a/pngpriv.h
-+++ b/pngpriv.h
-@@ -127,7 +127,7 @@
- * associated assembler code, pass --enable-arm-neon=no to configure
- * or put -DPNG_ARM_NEON_OPT=0 in CPPFLAGS.
- */
--# if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
-+# if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
- defined(PNG_ALIGNED_MEMORY_SUPPORTED)
- # define PNG_ARM_NEON_OPT 2
- # else
diff --git a/recipes/incoming-clib/musl-stacksize.patch b/recipes/incoming-clib/musl-stacksize.patch
deleted file mode 100644
index d10469e1..00000000
--- a/recipes/incoming-clib/musl-stacksize.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Reduce the footprint of stack frame usage by turning
-some large(r) structures as `static __thread` instead.
-
---- a/src/cairo-rectangular-scan-converter.c 2015-10-27 22:04:21.000000000 +0100
-+++ b/src/cairo-rectangular-scan-converter.c 2016-05-07 04:25:26.640851782 +0200
-@@ -489,7 +489,7 @@
- cairo_span_renderer_t *renderer,
- rectangle_t **rectangles)
- {
-- sweep_line_t sweep_line;
-+ static __thread sweep_line_t sweep_line;
- rectangle_t *start, *stop;
- cairo_status_t status;
-
-@@ -656,7 +656,7 @@
- cairo_span_renderer_t *renderer)
- {
- cairo_rectangular_scan_converter_t *self = converter;
-- rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
-+ static __thread rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
- rectangle_t **rectangles;
- struct _cairo_rectangular_scan_converter_chunk *chunk;
- cairo_status_t status;
diff --git a/recipes/incoming-clib/pcf-family-names.patch b/recipes/incoming-clib/pcf-family-names.patch
deleted file mode 100644
index 773f1a44..00000000
--- a/recipes/incoming-clib/pcf-family-names.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index 9e03e17..1411db6 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -913,7 +913,7 @@ FT_BEGIN_HEADER
- * If this option is activated, it can be controlled with the
- * `no-long-family-names` property of the 'pcf' driver module.
- */
--/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-
-
- /*************************************************************************/
diff --git a/recipes/incoming-clib/projectsdir.patch b/recipes/incoming-clib/projectsdir.patch
deleted file mode 100644
index f746188d..00000000
--- a/recipes/incoming-clib/projectsdir.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 5f3b178590df746544a48338f39025bf03aca46c Mon Sep 17 00:00:00 2001
-From: Emmanuele Bassi <ebassi@gnome.org>
-Date: Fri, 3 Apr 2026 12:17:31 +0100
-Subject: [PATCH] Support XDG_PROJECTS_DIR
-
-A new XDG user directory type, for non-document project files.
-
-See: https://gitlab.freedesktop.org/xdg/xdg-user-dirs/-/work_items/3
----
- gio/glocalfileinfo.c | 4 ++++
- glib/gosxutils.m | 3 ++-
- glib/gutils.c | 2 ++
- glib/gutils.h | 9 +++++++++
- glib/gutilsprivate.c | 5 +++++
- 5 files changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/gio/glocalfileinfo.c b/gio/glocalfileinfo.c
-index d2efb169eb..ec482988a6 100644
---- a/gio/glocalfileinfo.c
-+++ b/gio/glocalfileinfo.c
-@@ -1840,6 +1840,10 @@ get_icon_name (const char *path,
- {
- name = use_symbolic ? "folder-pictures-symbolic" : "folder-pictures";
- }
-+ else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PROJECTS)) == 0)
-+ {
-+ name = use_symbolic ? "folder-projects-symbolic" : "folder-projects";
-+ }
- else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PUBLIC_SHARE)) == 0)
- {
- name = use_symbolic ? "folder-publicshare-symbolic" : "folder-publicshare";
-diff --git a/glib/gosxutils.m b/glib/gosxutils.m
-index 4d2d962ef4..13860a31ce 100644
---- a/glib/gosxutils.m
-+++ b/glib/gosxutils.m
-@@ -43,7 +43,7 @@ find_folder (NSSearchPathDirectory type)
- }
-
- void
--load_user_special_dirs_macos(gchar **table)
-+load_user_special_dirs_macos (gchar **table)
- {
- table[G_USER_DIRECTORY_DESKTOP] = find_folder (NSDesktopDirectory);
- table[G_USER_DIRECTORY_DOCUMENTS] = find_folder (NSDocumentDirectory);
-@@ -53,4 +53,5 @@ load_user_special_dirs_macos(gchar **table)
- table[G_USER_DIRECTORY_PUBLIC_SHARE] = find_folder (NSSharedPublicDirectory);
- table[G_USER_DIRECTORY_TEMPLATES] = NULL;
- table[G_USER_DIRECTORY_VIDEOS] = find_folder (NSMoviesDirectory);
-+ table[G_USER_DIRECTORY_PROJECTS] = find_folder (NSDocumentDirectory);
- }
-diff --git a/glib/gutils.c b/glib/gutils.c
-index 02da41b688..90bd3bc3e7 100644
---- a/glib/gutils.c
-+++ b/glib/gutils.c
-@@ -2243,6 +2243,8 @@ load_user_special_dirs_unlocked (void)
-
- g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = get_special_folder (&FOLDERID_Templates);
- g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = get_special_folder (&FOLDERID_Videos);
-+
-+ g_user_special_dirs[G_USER_DIRECTORY_PROJECTS] = get_special_folder (&FOLDERID_Documents);
- }
-
- #else /* default is unix */
-diff --git a/glib/gutils.h b/glib/gutils.h
-index dce1541ed7..f111938cae 100644
---- a/glib/gutils.h
-+++ b/glib/gutils.h
-@@ -248,6 +248,15 @@ typedef enum {
- G_USER_DIRECTORY_TEMPLATES,
- G_USER_DIRECTORY_VIDEOS,
-
-+ /**
-+ * G_USER_DIRECTORY_PROJECTS:
-+ *
-+ * The user's Projects directory.
-+ *
-+ * Since: 2.90
-+ */
-+ G_USER_DIRECTORY_PROJECTS,
-+
- G_USER_N_DIRECTORIES
- } GUserDirectory;
-
-diff --git a/glib/gutilsprivate.c b/glib/gutilsprivate.c
-index 3b9206c45c..f8dac99ec0 100644
---- a/glib/gutilsprivate.c
-+++ b/glib/gutilsprivate.c
-@@ -89,6 +89,11 @@ load_user_special_dirs_from_string (const gchar *string, const gchar *home_dir,
- directory = G_USER_DIRECTORY_VIDEOS;
- p += strlen ("XDG_VIDEOS_DIR");
- }
-+ else if (strncmp (p, "XDG_PROJECTS_DIR", strlen ("XDG_PROJECTS_DIR")) == 0)
-+ {
-+ directory = G_USER_DIRECTORY_PROJECTS;
-+ p += strlen ("XDG_PROJECTS_DIR");
-+ }
- else
- continue;
-
---
-GitLab
-
diff --git a/recipes/incoming-clib/saneso.patch b/recipes/incoming-clib/saneso.patch
deleted file mode 100644
index 529a0c20..00000000
--- a/recipes/incoming-clib/saneso.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/Makefile-libbz2_so b/Makefile-libbz2_so
-index fb0f230..2c95a3a 100644
---- a/Makefile-libbz2_so
-+++ b/Makefile-libbz2_so
-@@ -35,13 +35,13 @@ OBJS= blocksort.o \
- bzlib.o
-
- all: $(OBJS)
-- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
-+ $(CC) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
-- rm -f libbz2.so.1.0
-- ln -s libbz2.so.1.0.8 libbz2.so.1.0
-+ rm -f libbz2.so.1
-+ ln -s libbz2.so.1.0.8 libbz2.so.1
-
- clean:
-- rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared
-+ rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1 bzip2-shared
-
- blocksort.o: blocksort.c
- $(CC) $(CFLAGS) -c blocksort.c
-
diff --git a/recipes/incoming-clib/shared-libmandoc.patch b/recipes/incoming-clib/shared-libmandoc.patch
deleted file mode 100644
index 607934c9..00000000
--- a/recipes/incoming-clib/shared-libmandoc.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-This patch links libmandoc dynamically instead of statically, this
-causes the package size to be reduced by roughly 50%.
-
-See also: https://inbox.vuxu.org/mandoc-tech/2L1YC2WD8JUE5.3QGU3CQ10EGCD@8pit.net/T/#u
-
-diff --git a/Makefile b/Makefile
-index 48c4741..252e11e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -367,9 +367,13 @@ WWW_INCS = eqn.h.html \
- tbl_int.h.html \
- tbl_parse.h.html
-
-+LIBMANDOC = libmandoc.so
-+MANDOCLIB = -L. -lmandoc
-+
- # === USER CONFIGURATION ===============================================
-
- include Makefile.local
-+CFLAGS += -fPIC
-
- # === DEPENDENCY HANDLING ==============================================
-
-@@ -392,7 +396,7 @@ distclean: clean
- rm -f Makefile.local config.h config.h.old config.log config.log.old
-
- clean:
-- rm -f libmandoc.a $(LIBMANDOC_OBJS) $(ALL_COBJS)
-+ rm -f $(LIBMANDOC) $(LIBMANDOC_OBJS) $(ALL_COBJS)
- rm -f mandoc man $(MAIN_OBJS)
- rm -f man.cgi $(CGI_OBJS)
- rm -f mandocd catman catman.o $(MANDOCD_OBJS)
-@@ -432,11 +436,11 @@ base-install: mandoc demandoc soelim
- $(INSTALL_MAN) makewhatis.8 \
- $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8
-
--lib-install: libmandoc.a
-+lib-install: $(LIBMANDOC)
- mkdir -p $(DESTDIR)$(LIBDIR)
- mkdir -p $(DESTDIR)$(INCLUDEDIR)
- mkdir -p $(DESTDIR)$(MANDIR)/man3
-- $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
-+ $(INSTALL_LIB) $(LIBMANDOC) $(DESTDIR)$(LIBDIR)
- $(INSTALL_LIB) eqn.h man.h mandoc.h mandoc_aux.h mandoc_parse.h \
- mdoc.h roff.h tbl.h $(DESTDIR)$(INCLUDEDIR)
- $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \
-@@ -485,7 +489,7 @@ uninstall:
- rm -f $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN)
- rm -f $(DESTDIR)$(MANDIR)/man8/mandocd.8
- rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8
-- rm -f $(DESTDIR)$(LIBDIR)/libmandoc.a
-+ rm -f $(DESTDIR)$(LIBDIR)/$(LIBMANDOC)
- rm -f $(DESTDIR)$(MANDIR)/man3/mandoc.3
- rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_escape.3
- rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_malloc.3
-@@ -515,23 +519,26 @@ Makefile.local config.h: configure $(TESTSRCS)
- libmandoc.a: $(MANDOC_COBJS) $(LIBMANDOC_OBJS)
- $(AR) rs $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS)
-
--mandoc: $(MAIN_OBJS) libmandoc.a
-- $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD)
-+libmandoc.so: $(MANDOC_COBJS) $(LIBMANDOC_OBJS)
-+ $(CC) $(LDFLAGS) -shared -o $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS) $(LDADD)
-+
-+mandoc: $(MAIN_OBJS) $(LIBMANDOC)
-+ $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) $(MANDOCLIB) $(LDADD)
-
- man: mandoc
- $(LN) mandoc man
-
--man.cgi: $(CGI_OBJS) libmandoc.a
-- $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD)
-+man.cgi: $(CGI_OBJS) $(LIBMANDOC)
-+ $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) $(MANDOCLIB) $(LDADD)
-
--mandocd: $(MANDOCD_OBJS) libmandoc.a
-- $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) libmandoc.a $(LDADD)
-+mandocd: $(MANDOCD_OBJS) $(LIBMANDOC)
-+ $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) $(MANDOCLIB) $(LDADD)
-
--catman: catman.o libmandoc.a
-- $(CC) -o $@ $(LDFLAGS) catman.o libmandoc.a $(LDADD)
-+catman: catman.o $(LIBMANDOC)
-+ $(CC) -o $@ $(LDFLAGS) catman.o $(MANDOCLIB) $(LDADD)
-
--demandoc: $(DEMANDOC_OBJS) libmandoc.a
-- $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD)
-+demandoc: $(DEMANDOC_OBJS) $(LIBMANDOC)
-+ $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) $(MANDOCLIB) $(LDADD)
-
- soelim: $(SOELIM_COBJS) soelim.o
- $(CC) -o $@ $(LDFLAGS) $(SOELIM_COBJS) soelim.o
diff --git a/recipes/incoming-clib/skip-meaningless-pthread-rwlock-test.patch b/recipes/incoming-clib/skip-meaningless-pthread-rwlock-test.patch
deleted file mode 100644
index abe65cad..00000000
--- a/recipes/incoming-clib/skip-meaningless-pthread-rwlock-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/gettext-tools/gnulib-tests/test-pthread-rwlock.c b/gettext-tools/gnulib-tests/test-pthread-rwlock.c
-index 90d6ac5..61009a7 100644
---- a/gettext-tools/gnulib-tests/test-pthread-rwlock.c
-+++ b/gettext-tools/gnulib-tests/test-pthread-rwlock.c
-@@ -198,6 +198,8 @@ test_rwlock (void)
- int
- main ()
- {
-+ fputs ("Skipping meaningless test which is expected to deadlock\n", stderr);
-+ return 77;
- #if HAVE_DECL_ALARM
- /* Declare failure if test takes too long, by using default abort
- caused by SIGALRM. */
diff --git a/recipes/incoming-clib/skip-tests-musl.patch b/recipes/incoming-clib/skip-tests-musl.patch
deleted file mode 100644
index 8b3e9214..00000000
--- a/recipes/incoming-clib/skip-tests-musl.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-As upstream notes:
-
-# Note: This test fails on Linux with musl libc versions that don't support
-# the BIG5 encoding in 'iconv'.
-
-diff --git a/gettext-tools/tests/msgcat-22 b/gettext-tools/tests/msgcat-22
-index 6047188..abe5877 100755
---- a/gettext-tools/tests/msgcat-22
-+++ b/gettext-tools/tests/msgcat-22
-@@ -6,6 +6,8 @@
- # Note: This test fails on Linux with musl libc versions that don't support
- # the GB18030 encoding in 'iconv'.
-
-+exit 77
-+
- cat <<\EOF > mcat-test22.po
- msgid ""
- msgstr ""
-diff --git a/gettext-tools/tests/msgconv-2 b/gettext-tools/tests/msgconv-2
-index d286cda..d96c487 100755
---- a/gettext-tools/tests/msgconv-2
-+++ b/gettext-tools/tests/msgconv-2
-@@ -7,6 +7,8 @@
- # Note: This test fails on Linux with musl libc versions that don't support
- # the BIG5 encoding in 'iconv'.
-
-+Exit 77
-+
- cat <<\EOF > mco-test2.po
- # Chinese translation for GNU gettext messages.
- #
-diff --git a/gettext-tools/tests/msgconv-8 b/gettext-tools/tests/msgconv-8
-index 207b0f0..618de0f 100755
---- a/gettext-tools/tests/msgconv-8
-+++ b/gettext-tools/tests/msgconv-8
-@@ -6,6 +6,8 @@
- # Note: This test fails on Linux with musl libc versions that don't support
- # the GB18030 encoding in 'iconv'.
-
-+exit 77
-+
- cat <<\EOF > mco-test8.po
- msgid ""
- msgstr ""
-diff --git a/gettext-tools/tests/msgmerge-compendium-6 b/gettext-tools/tests/msgmerge-compendium-6
-index 59eb00e..c4be0b2 100755
---- a/gettext-tools/tests/msgmerge-compendium-6
-+++ b/gettext-tools/tests/msgmerge-compendium-6
-@@ -10,6 +10,8 @@
- # Note: This test fails on Linux with musl libc versions and on Solaris 11
- # (OpenIndiana, OmniOS) that don't support the EUC-KR encoding in 'iconv'.
-
-+Exit 77
-+
- : ${MSGCONV=msgconv}
- ${MSGCONV} --to-code=UTF-8 -o mm-ko.utf-8.pot "$wabs_srcdir"/mm-ko.ascii.pot
-
-diff --git a/gettext-tools/tests/xgettext-python-3 b/gettext-tools/tests/xgettext-python-3
-index 1e13b57..7cd480d 100755
---- a/gettext-tools/tests/xgettext-python-3
-+++ b/gettext-tools/tests/xgettext-python-3
-@@ -6,6 +6,8 @@
- # Note: This test fails on Linux with musl libc versions that don't support
- # the EUC-JP encoding in 'iconv'.
-
-+Exit 77
-+
- cat <<\EOF > xg-py-3a.py
- #!/usr/bin/env python
- # TRANSLATORS: Fran���ois Pinard is a hero.
diff --git a/recipes/incoming-clib/skip-unicode-16-tests.patch b/recipes/incoming-clib/skip-unicode-16-tests.patch
deleted file mode 100644
index f1c6dc67..00000000
--- a/recipes/incoming-clib/skip-unicode-16-tests.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-diff --git a/gettext-tools/gnulib-tests/unicase/test-mapping-part1.h b/gettext-tools/gnulib-tests/unicase/test-mapping-part1.h
-index d64bb32..f497ad4 100644
---- a/gettext-tools/gnulib-tests/unicase/test-mapping-part1.h
-+++ b/gettext-tools/gnulib-tests/unicase/test-mapping-part1.h
-@@ -22,6 +22,25 @@
-
- #include "macros.h"
-
-+#if HAVE_LIBUNISTRING
-+/* The generated mappings in this source tree target Unicode 16.0.0.
-+ Skip direct comparisons when an external libunistring provides a newer
-+ Unicode database than the expected tables embedded in these tests. */
-+extern int _libunistring_unicode_version;
-+
-+static int
-+should_skip_for_external_libunistring_version (void)
-+{
-+ return _libunistring_unicode_version > 0x1000;
-+}
-+#else
-+static int
-+should_skip_for_external_libunistring_version (void)
-+{
-+ return 0;
-+}
-+#endif
-+
- /* Pair of Unicode characters. */
- typedef struct { ucs4_t ch; ucs4_t value; } pair_t;
-
-diff --git a/gettext-tools/gnulib-tests/unicase/test-mapping-part2.h b/gettext-tools/gnulib-tests/unicase/test-mapping-part2.h
-index aa14384..80fb2b6 100644
---- a/gettext-tools/gnulib-tests/unicase/test-mapping-part2.h
-+++ b/gettext-tools/gnulib-tests/unicase/test-mapping-part2.h
-@@ -19,6 +19,9 @@
- int
- main ()
- {
-+ if (should_skip_for_external_libunistring_version ())
-+ return 77;
-+
- unsigned int c;
- size_t i;
-
-diff --git a/gettext-tools/gnulib-tests/unictype/test-predicate-part1.h b/gettext-tools/gnulib-tests/unictype/test-predicate-part1.h
-index caf2dc2..20a35df 100644
---- a/gettext-tools/gnulib-tests/unictype/test-predicate-part1.h
-+++ b/gettext-tools/gnulib-tests/unictype/test-predicate-part1.h
-@@ -22,6 +22,26 @@
-
- #include "macros.h"
-
-+#if HAVE_LIBUNISTRING
-+/* The generated tables in this source tree target Unicode 16.0.0.
-+ When these tests are linked against an external libunistring with a newer
-+ Unicode database, direct table equality checks become stale and should be
-+ skipped rather than reported as regressions in gettext's bundled data. */
-+extern int _libunistring_unicode_version;
-+
-+static int
-+should_skip_for_external_libunistring_version (void)
-+{
-+ return _libunistring_unicode_version > 0x1000;
-+}
-+#else
-+static int
-+should_skip_for_external_libunistring_version (void)
-+{
-+ return 0;
-+}
-+#endif
-+
- /* Interval of Unicode characters. */
- typedef struct { ucs4_t start; ucs4_t end; } interval_t;
-
-diff --git a/gettext-tools/gnulib-tests/unictype/test-predicate-part2.h b/gettext-tools/gnulib-tests/unictype/test-predicate-part2.h
-index b4eef82..ac5071d 100644
---- a/gettext-tools/gnulib-tests/unictype/test-predicate-part2.h
-+++ b/gettext-tools/gnulib-tests/unictype/test-predicate-part2.h
-@@ -19,6 +19,9 @@
- int
- main ()
- {
-+ if (should_skip_for_external_libunistring_version ())
-+ return 77;
-+
- unsigned int c;
- size_t i;
-
diff --git a/recipes/incoming-clib/subpixel.patch b/recipes/incoming-clib/subpixel.patch
deleted file mode 100644
index e5da0d74..00000000
--- a/recipes/incoming-clib/subpixel.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
---- a/include/freetype/config/ftoption.h 2019-02-23 09:09:06.000000000 +0000
-+++ b/include/freetype/config/ftoption.h 2019-03-17 11:42:04.315011932 +0000
-@@ -126,7 +126,7 @@
- * macro is not defined, FreeType offers alternative LCD rendering
- * technology that produces excellent output without LCD filtering.
- */
--/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
-+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-
-
- /**************************************************************************
diff --git a/recipes/incoming-clib/table-validation-modules.patch b/recipes/incoming-clib/table-validation-modules.patch
deleted file mode 100644
index 968475e3..00000000
--- a/recipes/incoming-clib/table-validation-modules.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur a/modules.cfg b/modules.cfg
---- a/modules.cfg 2019-02-23 09:06:07.000000000 +0000
-+++ b/modules.cfg 2019-03-15 17:13:56.465952994 +0000
-@@ -111,7 +111,7 @@
-
- # TrueType GX/AAT table validation. Needs `ftgxval.c' below.
- #
--# AUX_MODULES += gxvalid
-+AUX_MODULES += gxvalid
-
- # Support for streams compressed with gzip (files with suffix .gz).
- #
-@@ -130,7 +130,7 @@
-
- # OpenType table validation. Needs `ftotval.c' below.
- #
--# AUX_MODULES += otvalid
-+AUX_MODULES += otvalid
-
- # Auxiliary PostScript driver component to share common code.
- #
diff --git a/recipes/incoming-clib/tests-machine-id.patch b/recipes/incoming-clib/tests-machine-id.patch
deleted file mode 100644
index 66648984..00000000
--- a/recipes/incoming-clib/tests-machine-id.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 5cf08a9a1041a9dc9975371fb62f8f22c3be76c4 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 3 Apr 2024 21:25:04 +0200
-Subject: [PATCH 2/3] tests: skip gio tests which fails with missing machine-id
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- gio/tests/meson.build | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index f04ff43ff..71ec09750 100644
---- a/gio/tests/meson.build
-+++ b/gio/tests/meson.build
-@@ -46,6 +46,8 @@ if glib_build_shared
- subdir('modules')
- endif
-
-+have_machine_id = import('fs').is_file('/etc/machine-id')
-+
- # Test programs buildable on all platforms
- gio_tests = {
- 'application-command-line': {},
-@@ -98,7 +100,7 @@ gio_tests = {
- 'install_rpath' : installed_tests_execdir,
- # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392
- # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
-- 'can_fail' : host_system in ['darwin', 'windows', 'gnu'],
-+ 'can_fail' : host_system in ['darwin', 'windows', 'gnu'] or not have_machine_id,
- },
- 'inet-address' : {},
- 'io-stream' : {},
-@@ -147,7 +149,7 @@ gio_tests = {
- 'extra_programs': host_system != 'windows' ? ['dbus-launch'] : [],
- # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392
- # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
-- 'can_fail' : host_system in ['darwin', 'gnu'],
-+ 'can_fail' : host_system in ['darwin', 'gnu'] or not have_machine_id,
- },
- 'win32-appinfo' : {},
- }
diff --git a/recipes/incoming-clib/tests.patch b/recipes/incoming-clib/tests.patch
deleted file mode 100644
index e83be096..00000000
--- a/recipes/incoming-clib/tests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-These tests only work with read/write access to /dev/tty0 (or similar)
-
---- a/tests/testsuite.at
-+++ b/tests/testsuite.at
-@@ -8,7 +8,6 @@
-
- m4_include([unittest.at])
-
--m4_include([utils.at])
- m4_include([libcommon.at])
- m4_include([libkeymap.at])
- m4_include([libkbdfile.at])
diff --git a/recipes/incoming-clib/valgrind.patch b/recipes/incoming-clib/valgrind.patch
deleted file mode 100644
index 3ca04bc4..00000000
--- a/recipes/incoming-clib/valgrind.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Ref https://github.com/wismill/kbd/commit/0f410510f586e659fbdba9cfc3846be343b8dd30
-
---- a/tests/unittest.at
-+++ b/tests/unittest.at
-@@ -5,5 +5,5 @@
- ]])
-
- m4_define([UNITTEST_MEMCHECK],[
--AT_CHECK([UNITTEST_RUN_MEMCHECK([$1])],[$2],[$3],[$4],[$5],[$6])
-+AT_CHECK([$1],[$2],[$3],[$4],[$5],[$6])
- ])
diff --git a/scripts/farm/farm-down.sh b/scripts/farm/farm-down.sh
index 206f81c8..5dba6231 100755
--- a/scripts/farm/farm-down.sh
+++ b/scripts/farm/farm-down.sh
@@ -76,7 +76,7 @@ if [ "${NO_PROMOTE:-}" != "1" ] && [ "$harvested" -gt 0 ]; then
# NO se promovían/firmaban. Recorrer las mismas colas que el worker (cache-hit en lo cosechado).
# El guard `ls "$Q"/*.toml` salta las colas vacías, así que listar todas es inocuo.
echo "==> promote+firma final (cache-hit en lo cosechado)"
- for Q in ${QUEUES:-recipes/incoming recipes/incoming-go recipes/incoming-clib}; do
+ for Q in ${QUEUES:-recipes/incoming recipes/incoming-go}; do
ls "$Q"/*.toml >/dev/null 2>&1 || continue
echo " --- promoviendo $Q"
QUEUE="$Q" scripts/build-farm.sh || echo " (build-farm $Q devolvió error; revisá logs)"
diff --git a/scripts/farm/farm-worker-loop.sh b/scripts/farm/farm-worker-loop.sh
index eb8e57fd..0d3e3e7a 100755
--- a/scripts/farm/farm-worker-loop.sh
+++ b/scripts/farm/farm-worker-loop.sh
@@ -84,8 +84,18 @@ DISK_HIGH="${DISK_HIGH:-82}"
# build-farm hace `rm -rf work/farm` al inicio ⇒ construirlas EN SERIE (una por vuelta) es seguro,
# sin colisión. El glob es TOP-LEVEL (`$Q/*.toml`), así que `recipes/incoming/.deferred/` (24 recetas
# aparcadas con diagnóstico, p.ej. git con muro en libgit.a) NO se muele — es un subdir a propósito.
-# incoming-clib: libs C (toolkit/foundational) que el worker SELLA pero el cron de cosecha-go IGNORA
-# (son build-deps, se usan vía catálogo; no tienen binario que el gate Go pueda smoke-testear).
+# `incoming-clib` SE RETIRÓ el 2026-09-01: era la cola de staging de las tandas base-system/foot, y
+# sus recetas ya se habían PROMOVIDO a canónicas (`recipes/`) commit a commit —«promover 7 tier-2 a
+# canónicas», «promover cadena crypto», «promover tllist/utf8proc/scdoc/fcft/foot»—. Lo que quedaba
+# eran 0 recetas y 26 PARCHES sueltos. Y eran inalcanzables por construcción, no por descuido:
+# `fetch::apply_patches` resuelve `recipe.base_dir.join(nombre)` y `base_dir` es el directorio de la
+# receta, SIN fallback a `recipes/` ⇒ un parche en una cola sin recetas no lo puede pedir nadie.
+# ⚠ Corolario para cuando se promueva una cola: los `.patch` NO viajan con la receta. Promover deja
+# la cola en un estado que parece vivo (tiene ficheros) y no muele nada.
+#
+# `incoming-go` NO existe como directorio y se queda en la lista A PROPÓSITO: es la cola aislada del
+# frente Go, y el guard `ls "$Q"/*.toml` salta las colas vacías. Quitarla sería el error que los dos
+# párrafos de abajo documentan, pero al revés: el día que ese frente la recree, nadie la molería.
#
# ⚠ EL ORDEN IMPORTA Y LAS COLAS GNOME VAN ANTES DE KDE (2026-08-06). Este default se escribió cuando
# `incoming-gnome-onda1` era el frente GNOME entero, y quedó fósil: faltaban `incoming-gnome` (86
@@ -119,7 +129,7 @@ DISK_HIGH="${DISK_HIGH:-82}"
# ⇒ La comprobación que decide NO es `diff` de las recetas sino `hammer hash`: la resolución de deps
# es hermano→padre, así que dos ficheros idénticos en colas distintas PUEDEN sellar distinto.
# Orden: las colas con deuda van ANTES de las cerradas (kde 163/163, wlr 129/129 salen por cache-hit).
-QUEUES="${QUEUES:-recipes/incoming recipes/incoming-go recipes/incoming-clib recipes/incoming-gnome recipes/incoming-cosmic recipes/incoming-kde recipes/incoming-wlr}"
+QUEUES="${QUEUES:-recipes/incoming recipes/incoming-go recipes/incoming-gnome recipes/incoming-cosmic recipes/incoming-kde recipes/incoming-wlr}"
# REBUILD DEL BINARIO AL ARRANCAR (2026-07-18): el hammer horneado en la imagen golden ENVEJECE.
# Caso real que costó una noche de KDE: la golden del 29-jun traía un hammer sin el fix del overlay