diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index ded1c07d..a2f7a390 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -890,7 +890,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 21 + "dependientes_total": 20 }, "blackbox_exporter": { "iname": "blackbox_exporter", @@ -2220,7 +2220,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 145 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -4037,7 +4037,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 69 + "dependientes_total": 64 }, "expat-shared": { "iname": "expat-shared", @@ -4322,7 +4322,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 19 + "dependientes_total": 18 }, "flyctl": { "iname": "flyctl", @@ -4560,7 +4560,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 23 }, "fselect": { "iname": "fselect", @@ -6002,7 +6002,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 9 + "dependientes_total": 8 }, "gping": { "iname": "gping", @@ -8392,7 +8392,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 139 + "dependientes_total": 138 }, "libelogind": { "iname": "libelogind", @@ -8433,7 +8433,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 18 + "dependientes_total": 17 }, "libevdev": { "iname": "libevdev", @@ -8497,7 +8497,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -8980,7 +8980,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 41 + "dependientes_total": 40 }, "libxml2": { "iname": "libxml2", @@ -9421,7 +9421,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 113 + "dependientes_total": 110 }, "mako": { "iname": "mako", @@ -9700,7 +9700,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 137 + "dependientes_total": 136 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -9790,7 +9790,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 128 + "dependientes_total": 118 }, "micro": { "iname": "micro", @@ -10357,7 +10357,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 14 + "dependientes_total": 13 }, "nebula": { "iname": "nebula", @@ -11094,7 +11094,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 86 + "dependientes_total": 76 }, "pcre2-shared": { "iname": "pcre2-shared", @@ -11315,7 +11315,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 39 + "dependientes_total": 35 }, "pkgconf": { "iname": "pkgconf", @@ -11338,7 +11338,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 394 + "dependientes_total": 380 }, "plow": { "iname": "plow", @@ -11707,7 +11707,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 297 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -11797,7 +11797,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 5 + "dependientes_total": 4 }, "reflex": { "iname": "reflex", @@ -12262,7 +12262,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 262 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -14460,7 +14460,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 148 + "dependientes_total": 147 }, "wayland-protocols": { "iname": "wayland-protocols", @@ -14487,7 +14487,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 49 + "dependientes_total": 48 }, "websocketd": { "iname": "websocketd", @@ -15098,7 +15098,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 104 + "dependientes_total": 99 }, "zlib-ng": { "iname": "zlib-ng", diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index e36afef1..c3fe61c8 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -979,7 +979,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 21 + "dependientes_total": 20 }, "blackbox_exporter": { "iname": "blackbox_exporter", @@ -2334,7 +2334,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 145 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -3773,7 +3773,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 69 + "dependientes_total": 64 }, "expat-shared": { "iname": "expat-shared", @@ -4058,7 +4058,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 19 + "dependientes_total": 18 }, "flyctl": { "iname": "flyctl", @@ -4300,7 +4300,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 23 }, "fselect": { "iname": "fselect", @@ -6211,7 +6211,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 9 + "dependientes_total": 8 }, "gping": { "iname": "gping", @@ -8768,7 +8768,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 139 + "dependientes_total": 138 }, "libei": { "iname": "libei", @@ -8839,7 +8839,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 18 + "dependientes_total": 17 }, "libevdev": { "iname": "libevdev", @@ -8903,7 +8903,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -9756,7 +9756,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 41 + "dependientes_total": 40 }, "libxml2": { "iname": "libxml2", @@ -10199,7 +10199,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 113 + "dependientes_total": 110 }, "mako": { "iname": "mako", @@ -10478,7 +10478,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 137 + "dependientes_total": 136 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -10568,7 +10568,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 128 + "dependientes_total": 118 }, "micro": { "iname": "micro", @@ -11188,7 +11188,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 14 + "dependientes_total": 13 }, "nebula": { "iname": "nebula", @@ -12015,7 +12015,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 86 + "dependientes_total": 76 }, "peco": { "iname": "peco", @@ -12217,7 +12217,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 39 + "dependientes_total": 35 }, "pkgconf": { "iname": "pkgconf", @@ -12240,7 +12240,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 394 + "dependientes_total": 380 }, "plow": { "iname": "plow", @@ -12679,7 +12679,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 297 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -12769,7 +12769,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 5 + "dependientes_total": 4 }, "reflex": { "iname": "reflex", @@ -13234,7 +13234,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 262 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -15531,7 +15531,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 148 + "dependientes_total": 147 }, "wayland-protocols": { "iname": "wayland-protocols", @@ -15558,7 +15558,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 49 + "dependientes_total": 48 }, "websocketd": { "iname": "websocketd", @@ -16219,7 +16219,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 104 + "dependientes_total": 99 }, "zlib-ng": { "iname": "zlib-ng", diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index 3b406a3f..b664a637 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -1005,7 +1005,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 21 + "dependientes_total": 20 }, "blackbox_exporter": { "iname": "blackbox_exporter", @@ -2453,7 +2453,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 145 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -3902,7 +3902,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 69 + "dependientes_total": 64 }, "expat-shared": { "iname": "expat-shared", @@ -4289,7 +4289,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 19 + "dependientes_total": 18 }, "flyctl": { "iname": "flyctl", @@ -4601,7 +4601,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 23 }, "fselect": { "iname": "fselect", @@ -6019,7 +6019,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 9 + "dependientes_total": 8 }, "gping": { "iname": "gping", @@ -12129,7 +12129,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 139 + "dependientes_total": 138 }, "libepoxy": { "iname": "libepoxy", @@ -12153,7 +12153,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 18 + "dependientes_total": 17 }, "libevdev": { "iname": "libevdev", @@ -12213,7 +12213,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -13556,7 +13556,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 113 + "dependientes_total": 110 }, "mako": { "iname": "mako", @@ -13835,7 +13835,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 137 + "dependientes_total": 136 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -13925,7 +13925,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 128 + "dependientes_total": 118 }, "micro": { "iname": "micro", @@ -14552,7 +14552,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 14 + "dependientes_total": 13 }, "nebula": { "iname": "nebula", @@ -15464,7 +15464,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 86 + "dependientes_total": 76 }, "pcre2-shared": { "iname": "pcre2-shared", @@ -15745,7 +15745,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 39 + "dependientes_total": 35 }, "pkgconf": { "iname": "pkgconf", @@ -15768,7 +15768,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 394 + "dependientes_total": 380 }, "plasma-activities": { "iname": "plasma-activities", @@ -17074,7 +17074,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 297 + "dependientes_total": 285 }, "qcoro": { "iname": "qcoro", @@ -17725,7 +17725,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 5 + "dependientes_total": 4 }, "reflex": { "iname": "reflex", @@ -18190,7 +18190,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 262 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -20829,7 +20829,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 148 + "dependientes_total": 147 }, "wayland-protocols": { "iname": "wayland-protocols", @@ -20856,7 +20856,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 49 + "dependientes_total": 48 }, "websocketd": { "iname": "websocketd", @@ -21624,7 +21624,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 104 + "dependientes_total": 99 }, "zlib-ng": { "iname": "zlib-ng", diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index 2365a4b3..c1517878 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -871,7 +871,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 21 + "dependientes_total": 20 }, "blackbox_exporter": { "iname": "blackbox_exporter", @@ -2178,7 +2178,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 145 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -3529,7 +3529,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 69 + "dependientes_total": 64 }, "expat-shared": { "iname": "expat-shared", @@ -3814,7 +3814,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 19 + "dependientes_total": 18 }, "flyctl": { "iname": "flyctl", @@ -4052,7 +4052,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 23 }, "fselect": { "iname": "fselect", @@ -5468,7 +5468,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 9 + "dependientes_total": 8 }, "gping": { "iname": "gping", @@ -7840,7 +7840,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 139 + "dependientes_total": 138 }, "libepoxy": { "iname": "libepoxy", @@ -7864,7 +7864,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 18 + "dependientes_total": 17 }, "libevdev": { "iname": "libevdev", @@ -7928,7 +7928,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -8366,7 +8366,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 41 + "dependientes_total": 40 }, "libxml2": { "iname": "libxml2", @@ -8787,7 +8787,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 113 + "dependientes_total": 110 }, "mako": { "iname": "mako", @@ -9066,7 +9066,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 137 + "dependientes_total": 136 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -9156,7 +9156,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 128 + "dependientes_total": 118 }, "micro": { "iname": "micro", @@ -9684,7 +9684,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 14 + "dependientes_total": 13 }, "nebula": { "iname": "nebula", @@ -10421,7 +10421,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 86 + "dependientes_total": 76 }, "peco": { "iname": "peco", @@ -10590,7 +10590,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 39 + "dependientes_total": 35 }, "pkgconf": { "iname": "pkgconf", @@ -10613,7 +10613,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 394 + "dependientes_total": 380 }, "plow": { "iname": "plow", @@ -10912,7 +10912,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 297 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -11002,7 +11002,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 5 + "dependientes_total": 4 }, "reflex": { "iname": "reflex", @@ -11467,7 +11467,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 262 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -13863,7 +13863,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 148 + "dependientes_total": 147 }, "wayland-protocols": { "iname": "wayland-protocols", @@ -13890,7 +13890,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 49 + "dependientes_total": 48 }, "websocketd": { "iname": "websocketd", @@ -14515,7 +14515,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 104 + "dependientes_total": 99 }, "zlib-ng": { "iname": "zlib-ng", diff --git a/docs/state/build-state.json b/docs/state/build-state.json index e8f1b988..b77df846 100644 --- a/docs/state/build-state.json +++ b/docs/state/build-state.json @@ -863,7 +863,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 21 + "dependientes_total": 20 }, "blackbox_exporter": { "iname": "blackbox_exporter", @@ -2170,7 +2170,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 145 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -3504,7 +3504,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 69 + "dependientes_total": 64 }, "expat-shared": { "iname": "expat-shared", @@ -3789,7 +3789,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 19 + "dependientes_total": 18 }, "flyctl": { "iname": "flyctl", @@ -4027,7 +4027,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 23 }, "fselect": { "iname": "fselect", @@ -5402,7 +5402,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 9 + "dependientes_total": 8 }, "gping": { "iname": "gping", @@ -7702,7 +7702,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 139 + "dependientes_total": 138 }, "libepoxy": { "iname": "libepoxy", @@ -7726,7 +7726,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 18 + "dependientes_total": 17 }, "libevdev": { "iname": "libevdev", @@ -7790,7 +7790,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -8228,7 +8228,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 41 + "dependientes_total": 40 }, "libxml2": { "iname": "libxml2", @@ -8649,7 +8649,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 113 + "dependientes_total": 110 }, "mako": { "iname": "mako", @@ -8928,7 +8928,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 137 + "dependientes_total": 136 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -9018,7 +9018,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 128 + "dependientes_total": 118 }, "micro": { "iname": "micro", @@ -9546,7 +9546,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 14 + "dependientes_total": 13 }, "nebula": { "iname": "nebula", @@ -10283,7 +10283,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 86 + "dependientes_total": 76 }, "peco": { "iname": "peco", @@ -10452,7 +10452,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 39 + "dependientes_total": 35 }, "pkgconf": { "iname": "pkgconf", @@ -10475,7 +10475,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 394 + "dependientes_total": 380 }, "plow": { "iname": "plow", @@ -10774,7 +10774,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 297 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -10864,7 +10864,7 @@ "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 5 + "dependientes_total": 4 }, "reflex": { "iname": "reflex", @@ -11329,7 +11329,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 262 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -13527,7 +13527,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 148 + "dependientes_total": 147 }, "wayland-protocols": { "iname": "wayland-protocols", @@ -13554,7 +13554,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 49 + "dependientes_total": 48 }, "websocketd": { "iname": "websocketd", @@ -14049,7 +14049,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 104 + "dependientes_total": 99 }, "zlib-ng": { "iname": "zlib-ng", diff --git a/recipes/incoming-gnome-onda2/cairo-ctime-r.patch b/recipes/incoming-gnome-onda2/cairo-ctime-r.patch deleted file mode 100644 index 212d4c5d..00000000 --- a/recipes/incoming-gnome-onda2/cairo-ctime-r.patch +++ /dev/null @@ -1,53 +0,0 @@ -cairo bajo zig-cc/musl: parches para construir la librería + su cairo-script-interpreter.pc en la granja. - -(1) meson.build — el loop `foreach name : check_funcs` corre `cc.has_function('ctime_r')` SIN prefix -de header ⇒ prototipo desnudo que bajo zig-cc y gcc sobre musl choca con el builtin y el probe FALLA. -Entonces cairo-ps-surface.c:105 (`#ifndef HAVE_CTIME_R`) define un fallback static que colisiona con - (presente por _GNU_SOURCE) ⇒ error duro. musl SIEMPRE provee ctime_r; forzamos el define. - -(2) util/meson.build — cairo-trace: sus ejecutables no linkean libpixman-1.a bajo la estrategia -`no_fallback` de zig-cc; nada aguas abajo pide cairo-trace ⇒ se salta entero. - -(3) util/cairo-script/meson.build — el subdir cairo-script SÍ se construye (la librería libcairoscript -y su `cairo-script-interpreter.pc` las piden los demos GTK), pero los EJECUTABLES csi-* fallan el mismo -link de pixman ⇒ se envuelven en `if false`. Así queda la .pc sin los exe. - -diff -Naur a/meson.build b/meson.build ---- a/meson.build -+++ b/meson.build -@@ -708,4 +708,9 @@ - endif - endforeach - -+# hammer: has_function('ctime_r') sin prefix falla bajo zig/gcc+musl (prototipo desnudo choca -+# con el builtin); musl SIEMPRE provee ctime_r => forzar y evitar el fallback static de -+# cairo-ps-surface.c:105 que colisiona con la declaracion no-static de . -+conf.set('HAVE_CTIME_R', 1) -+ - conf.set('HAVE_STRNDUP', cc.has_function('strndup', prefix : '#include ')) -diff -Naur a/util/meson.build b/util/meson.build ---- a/util/meson.build -+++ b/util/meson.build -@@ -13,4 +13,4 @@ - endif - --if conf.get('CAIRO_HAS_TRACE', 0) == 1 -+if false # hammer: saltar cairo-trace (sus exe no linkean pixman bajo zig; nada pide su .pc) - subdir('cairo-trace') -diff -Naur a/util/cairo-script/meson.build b/util/cairo-script/meson.build ---- a/util/cairo-script/meson.build -+++ b/util/cairo-script/meson.build -@@ -48,3 +48,6 @@ - meson.override_dependency('cairo-script-interpreter', libcairoscript_dep) - -+# hammer: los ejecutables csi-* no linkean libpixman-1.a bajo zig no_fallback; la libreria -+# libcairoscript y su cairo-script-interpreter.pc SI (los demos GTK las piden). Saltar solo los exe. -+if false - csi_replay_exe = executable('csi-replay', csi_replay_sources, -@@ -64,4 +64,5 @@ - ) - endif -+endif - - install_headers(cairoscript_interpreter_headers, subdir: 'cairo') - diff --git a/recipes/incoming-gnome-onda2/cairo-shared.toml b/recipes/incoming-gnome-onda2/cairo-shared.toml deleted file mode 100644 index e18a4735..00000000 --- a/recipes/incoming-gnome-onda2/cairo-shared.toml +++ /dev/null @@ -1,37 +0,0 @@ -# cairo-shared 1.18.4 — variante DINÁMICA de cairo (libcairo.so.2 + libcairo-gobject.so, PIC) para la -# isla GNOME. El canónico (recipes/cairo.toml) es --prefer-static/default_library=static: su cairo.a -# arrastra fontconfig/freetype/pixman/expat como cadena ESTÁTICA que el linker de un consumidor DINÁMICO -# (gjs/pango, sin --prefer-static) no resuelve ⇒ 'undefined symbol: XML_GetCurrentLineNumber' (gjs) y el -# test cairo-ft de pango falla ("FontConfig support"). Con la .so, el consumidor linkea -lcairo y la -# cadena resuelve por NEEDED (libfontconfig.so→libexpat embebido, libfreetype.so→libpng/zlib.so). -# -# Sufijo -shared (NO sombrea recipes/cairo.toml): sólo lo consumen las recetas que lo declaran EXPLÍCITO. -# Deps al cierre -shared (freetype/fontconfig/libpng/zlib) para NEEDED coherentes; pixman canónico ya es -# dinámico (default_library=both); glib = la isla (libcairo-gobject NEEDED libgobject.so isla, sin doble -# estado). expat canónico (--with-pic ⇒ se embebe). Ver [[gnome-introspection-dinamica]]. -name = "cairo-shared" -version = "1.18.4" -license = "LGPL-2.1-only OR MPL-1.1" - -# Release ESTABLE de cairographics.org (hash fijo). El canónico usa el archive de GitLab, que NO es -# determinista (recomprime al vuelo: cada fetch da otro sha256 ⇒ imposible de pinnear). El release -# strippea boilerplate/ (sólo tests) ⇒ el configure sed-ea `subdir('boilerplate')`. + patch HAVE_CTIME_R. -[source] -tarball = "https://cairographics.org/releases/cairo-1.18.4.tar.xz" -sha256 = "445ed8208a6e4823de1226a74ca319d3600e83f6369f99b14265006599c32ccb" -patches = ["cairo-ctime-r.patch"] - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -# default_library=both (no static, sin --prefer-static): produce libcairo.so.2 (+ .a). png/freetype/ -# fontconfig/glib enabled = misma superficie que el canónico. xlib/xcb off (Wayland-only). -configure = "sed -i \"/subdir('boilerplate')/d\" meson.build; PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Dc_args=-Wno-error=date-time -Dtests=disabled -Dxlib=disabled -Dxcb=disabled -Dquartz=disabled -Dtee=disabled -Dsymbol-lookup=disabled -Dspectre=disabled -Dgtk_doc=false -Dpng=enabled -Dfreetype=enabled -Dfontconfig=enabled -Dglib=enabled" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -[deps] -build = ["meson", "samurai", "python3", "pkgconf", "pixman", "freetype-shared", "fontconfig-shared", "libpng-shared", "zlib-shared", "glib", "expat", "libffi", "pcre2"] diff --git a/recipes/incoming-gnome-onda2/cbindgen.toml b/recipes/incoming-gnome-onda2/cbindgen.toml deleted file mode 100644 index eeaa20ae..00000000 --- a/recipes/incoming-gnome-onda2/cbindgen.toml +++ /dev/null @@ -1,24 +0,0 @@ -# cbindgen — genera headers C/C++ desde código Rust. Herramienta de BUILD de mozjs (el build de -# SpiderMonkey invoca cbindgen para los bindings de sus crates Rust). Binario Rust; el lab lo detecta -# como BuildSys::Cargo (hay Cargo.toml + Cargo.lock en el tarball de GitHub) y hace `cargo vendor` en el -# fetch + `cargo build --release --locked --offline` en el sandbox. Sin sys-crates C ⇒ no necesita el -# wrapper de AR (ver cargo-recipe-ar-wrapper). Firefox 128 pide cbindgen >= 0.26; 0.27 cumple. -name = "cbindgen" -version = "0.27.0" -license = "MPL-2.0" - -[source] -tarball = "https://github.com/mozilla/cbindgen/archive/refs/tags/0.27.0.tar.gz" -sha256 = "dd813d37325d21cd6be807be4f902a5ef130567cb4da17ea743206a3ebeb6303" -strip_components = 1 - -[build] -compiler = "gcc" # convención de las CLIs Rust: gcc = toolchain del link zig-cc -target = "x86_64-linux-musl" -link = "static" -# cbindgen expone lib + bin homónimos ⇒ `cargo rustc -- ` es ambiguo ("extra -# arguments to rustc can only be passed to one target"). --bin cbindgen fija el target del bin final. -flags = ["--bin", "cbindgen"] - -[deps] -build = [] diff --git a/recipes/incoming-gnome-onda2/fontconfig-shared.toml b/recipes/incoming-gnome-onda2/fontconfig-shared.toml deleted file mode 100644 index fb94611f..00000000 --- a/recipes/incoming-gnome-onda2/fontconfig-shared.toml +++ /dev/null @@ -1,28 +0,0 @@ -# fontconfig-shared 2.18.1 — variante DINÁMICA (libfontconfig.so.1, PIC) para el escritorio KDE. -# El canónico (recipes/fontconfig.toml) es --disable-shared (sólo libfontconfig.a sin PIC) ⇒ no enlaza en -# un .so. Lo exige poppler (búsqueda/sustitución de fuentes del PDF) → okular. Deuda Capa 0 del ADR 0011. -# -# expat NO necesita variante: el canónico ya usa --with-pic (su .a lleva objetos PIC, enlazable en .so). -# libpng-shared+zlib-shared: freetype se compila --with-png ⇒ freetype2.pc trae `Requires: libpng` (y -# libpng.pc → zlib); sin ellos pkg-config no resuelve freetype2 y ./configure aborta (gotcha .pc transitivo). -name = "fontconfig-shared" -version = "2.18.1" -license = "MIT" - -[source] -tarball = "https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/2.18.1/fontconfig-2.18.1.tar.xz" -sha256 = "2300f3dbfa7253b3a44f4feecdbc8dfa45dde5dc2cfb71fceaf31f394cb41031" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = "./configure --build=$CBUILD --host=$CHOST --prefix=/usr --sysconfdir=/etc --enable-shared --disable-static --disable-docs" -compile = 'make -j"$(nproc)"' -install = "make install DESTDIR=/out && find /out -name '*.la' -delete" - -[deps] -build = ["freetype-shared", "expat", "pkgconf", "gperf", "python3", "libpng-shared", "zlib-shared"] diff --git a/recipes/incoming-gnome-onda2/freetype-shared.toml b/recipes/incoming-gnome-onda2/freetype-shared.toml deleted file mode 100644 index dbde8863..00000000 --- a/recipes/incoming-gnome-onda2/freetype-shared.toml +++ /dev/null @@ -1,32 +0,0 @@ -# freetype-shared 2.14.3 — variante DINÁMICA (libfreetype.so.6, PIC) para el escritorio KDE. -# El canónico (recipes/freetype.toml) es --disable-shared (sólo libfreetype.a sin PIC) ⇒ no enlaza dentro -# de un .so. Lo exige poppler (rasterizado de fuentes del PDF) → okular. Deuda Capa 0 que el ADR 0011 -# marcaba pendiente ("freetype/fontconfig shared-PIC"). -# -# SIN los 3 patches del canónico (pcf-family-names/subpixel/table-validation-modules): son tweaks de -# rendering de Alpine y viven en recipes/ (copiarlos a esta cola arriesga la colisión de patches homónimos). -# No afectan la corrección del rasterizado que poppler necesita. -# -# --without-harfbuzz: corta el ciclo freetype↔harfbuzz (harfbuzz autodetectaría freetype). --without-brotli: -# no hay brotli sellado (sólo afecta fuentes WOFF2). zlib/png dinámicos vía las variantes -shared. -name = "freetype-shared" -version = "2.14.3" -license = "FTL OR GPL-2.0-or-later" - -[source] -tarball = "https://download.savannah.gnu.org/releases/freetype/freetype-2.14.3.tar.xz" -sha256 = "36bc4f1cc413335368ee656c42afca65c5a3987e8768cc28cf11ba775e785a5f" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static --without-harfbuzz --without-brotli --with-zlib=yes --with-png=yes CPPFLAGS=-I/usr/include LDFLAGS=-L/usr/lib' -compile = 'make -j"$(nproc)"' -install = "make DESTDIR=/out install && find /out -name '*.la' -delete" - -[deps] -build = ["zlib-shared", "libpng-shared", "pkgconf"] diff --git a/recipes/incoming-gnome-onda2/gdk-pixbuf.toml b/recipes/incoming-gnome-onda2/gdk-pixbuf.toml deleted file mode 100644 index 124671a2..00000000 --- a/recipes/incoming-gnome-onda2/gdk-pixbuf.toml +++ /dev/null @@ -1,29 +0,0 @@ -# gdk-pixbuf 2.44.6 — VARIANTE ISLA DINÁMICA (SHADOW de recipes/gdk-pixbuf.toml estática). -# Carga/escala de imágenes (loader de GTK4). gtk4 declara GdkPixbuf-2.0 en su introspección ⇒ el scan -# de gtk4 debe resolver GdkPixbuf-2.0.typelib + libgdk_pixbuf-2.0.so. Ver [[gnome-introspection-dinamica]]. -# -# vs corpus: link=dynamic, default_library=both, introspection=ENABLED, SIN --prefer-static. -# Mantengo el resto de flags de la corpus (leaf PNG-only, -Dgio_sniffing=false esquiva shared-mime-info). -name = "gdk-pixbuf" -version = "2.44.6" -license = "LGPL-2.1-or-later" - -[source] -tarball = "https://download.gnome.org/sources/gdk-pixbuf/2.44/gdk-pixbuf-2.44.6.tar.xz" -sha256 = "140c2d0b899fcf853ee92b26373c9dc228dbcde0820a4246693f4328a27466fa" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Dpng=enabled -Djpeg=disabled -Dtiff=disabled -Dothers=disabled -Dglycin=disabled -Dbuiltin_loaders=png -Dgio_sniffing=false -Dman=false -Dintrospection=enabled -Dtests=false -Dinstalled_tests=false -Dgtk_doc=false -Dc_args=-Wno-error=date-time" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -# glib(isla) + glib-introspected (GObject-2.0.gir) + gobject-introspection (tools) + libpng (loader PNG). -[deps] -# libpng-shared/zlib-shared: gdk-pixbuf.so (dinámica) linkea libpng por NEEDED (no 'undefined inflate': -# el libpng.a estático arrastraba zlib sin resolver). El resto = cierre .pc del corpus. -build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libpng-shared", "libffi", "pcre2", "zlib-shared"] diff --git a/recipes/incoming-gnome-onda2/gi-foreign-girs.toml b/recipes/incoming-gnome-onda2/gi-foreign-girs.toml deleted file mode 100644 index 7ee89281..00000000 --- a/recipes/incoming-gnome-onda2/gi-foreign-girs.toml +++ /dev/null @@ -1,30 +0,0 @@ -# gi-foreign-girs — instala los .gir FORÁNEOS estáticos que gobject-introspection trae hand-written en -# su source `gir/` (cairo-1.0, freetype2-2.0, fontconfig-2.0, xft/xlib/…). Nuestro g-i se construye con -# -Dbuild_introspection_data=false (evita el SIGSEGV de g-ir-compiler en los typelibs X11/cairo) ⇒ NO -# instala NINGÚN .gir. Pero las islas GUI los referencian por --include al escanear: harfbuzz→freetype2-2.0, -# pango/gjs→cairo-1.0, etc. El g-ir-scanner sólo necesita el .gir (XML) presente en /usr/share/gir-1.0 -# para resolver el --include (no compila typelib) ⇒ copiarlos basta, SIN re-hashear g-i (sin cascada). -# Ver [[gnome-introspection-dinamica]]. -name = "gi-foreign-girs" -version = "1.84.0" - -[source] -tarball = "https://download.gnome.org/sources/gobject-introspection/1.84/gobject-introspection-1.84.0.tar.xz" -sha256 = "945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -# Sin compilar: sólo copia los .gir estáticos del source a /usr/share/gir-1.0. -configure = "true" -compile = "true" -# cairo-1.0.gir NO está en gir/ como .gir sino como .gir.in (g-i lo genera con configure_file -# sustituyendo @CAIRO_GIR_PACKAGE@=cairo-gobject y @CAIRO_SHARED_LIBRARY@=libcairo-gobject.so.2). -# Reproduzco la sustitución con sed (pango/PangoCairo lo referencian por --include=cairo-1.0). -install = "mkdir -p /out/usr/share/gir-1.0 && cp gir/*.gir /out/usr/share/gir-1.0/ && sed -e 's/@CAIRO_GIR_PACKAGE@/cairo-gobject/g' -e 's/@CAIRO_SHARED_LIBRARY@/libcairo-gobject.so.2/g' gir/cairo-1.0.gir.in > /out/usr/share/gir-1.0/cairo-1.0.gir && ls /out/usr/share/gir-1.0/" - -[deps] -build = [] diff --git a/recipes/incoming-gnome-onda2/gjs.toml b/recipes/incoming-gnome-onda2/gjs.toml deleted file mode 100644 index 423d9459..00000000 --- a/recipes/incoming-gnome-onda2/gjs.toml +++ /dev/null @@ -1,50 +0,0 @@ -# gjs 1.84.2 — los bindings JavaScript de GNOME (GNOME 48). gnome-shell cuelga de gjs, y gjs cuelga de -# spidermonkey (mozjs-128), que YA está sellado en este repo (recipes/incoming-gnome/spidermonkey.toml, -# provee mozjs-128.pc). gjs 1.84 requiere mozjs 128 ✓ — coincide con el spidermonkey sellado. -# -# ⚠ PRIMER BORRADOR feature-minimal — NO garantiza sellar a la primera. Notas de diseño: -# · Build = meson (idioma GNOME, auto-detectado por el lab; calcado de gtk4/glib/libadwaita). -# · compiler = zig-cc (como todo el stack meson GNOME del corpus). gjs es cpp+c; zig lo cubre. -# · link = DYNAMIC (NO static como gtk4/glib): spidermonkey sólo provee libmozjs-128.so (shared-js); -# no hay .a de mozjs contra la que enlazar estáticamente, así que gjs enlaza la .so ⇒ dynamic. -# · Feature-minimal: sin instalar tests, sin profiler (evita la dep sysprof-capture), tests de -# DBus/GTK saltados, sin x11 (gjs no tiene backend x11 propio; cairo-xlib es `required: false`). -# readline SÍ (la receta readline existe y da la shell interactiva/depurador). -name = "gjs" -version = "1.84.2" -license = "MIT AND LGPL-2.0-or-later" - -[source] -tarball = "https://download.gnome.org/sources/gjs/1.84/gjs-1.84.2.tar.xz" -sha256 = "35142edf345705636300291ec3a7d583f14969ff3fae0ff30f4a95b1e6740166" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -# -Dbsymbolic_functions=false: el linker zig/lld NO soporta -Bsymbolic-functions (meson.build:89 aborta). -# BLOQUEADO en el link por cairo: cairo es dep OBLIGATORIA (no hay -Dcairo) y el cairo estático arrastra -# fontconfig.a→expat, freetype→png/z, pixman ⇒ 'undefined symbol: XML_GetCurrentLineNumber'. cpp_link_args -# global rompe el sanity-check de meson. Fix real = cairo isla DINÁMICA (cierre C #7): entonces gjs linkea -# libcairo.so con NEEDED libfontconfig.so y la cadena resuelve al cargar. Ver [[gnome-introspection-dinamica]]. -# sed: gjs incluye INCONDICIONALMENTE el subproyecto gobject-introspection-tests (Regress/WarnLib, -# con 'cairo=true') + subdirs installed-tests/test. Sus g-ir-scanner piden cairo-1.0.gir, que nuestro -# g-i (cairo=disabled) no instala ⇒ "Couldn't find include 'cairo-1.0.gir'". Son SÓLO fixtures de test; -# los removemos (gi_tests no se usa fuera del bloque). Deja la libgjs + GjsPrivate typelib, que es el hito. -configure = "sed -i \"/gi_tests = subproject('gobject-introspection-tests'/,/install_dir=@0@/d; /subdir('installed-tests')/d; /subdir('test')/d\" meson.build; PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dbsymbolic_functions=false -Dinstalled_tests=false -Dprofiler=disabled -Dskip_dbus_tests=true -Dskip_gtk_tests=true -Dreadline=disabled -Dc_args=-Wno-error=date-time" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -[deps] -# spidermonkey → mozjs-128.pc (sellado); glib → glib-2.0/gobject-2.0/gio-2.0/gthread-2.0; cairo → -# cairo + cairo-gobject; libffi, readline, pkgconf existen en el corpus. meson/samurai/python3 = tooling. -# gobject-introspection: g-ir-scanner ⇒ typelib GjsPrivate + gobject-introspection-1.0.pc en link. -# glib-introspected: gjs escanea GjsPrivate, que referencia GObject/GLib ⇒ el scan necesita los .gir -# CORE (GObject-2.0.gir/GLib-2.0.gir) que SÓLO produce glib-introspected. hammer hidrata deps DIRECTAS, -# no transitivas de g-i ⇒ hay que declararla aquí (misma lección del keystone [[gnome-introspection-dinamica]]). -# cairo-shared (+ su cierre -shared) = cairo DINÁMICO: gjs linkea libcairo.so y la cadena resuelve por -# NEEDED (no undefined XML_GetCurrentLineNumber). glib-2.0.pc → libpcre2-8 (pcre2 canónico da el .pc). -# pixman canónico ya es dinámico. expat canónico (--with-pic, embebido en el cierre). -build = ["spidermonkey", "nspr", "glib", "glib-introspected", "cairo-shared", "freetype-shared", "fontconfig-shared", "pixman", "libpng-shared", "zlib-shared", "expat", "libffi", "readline", "ncurses", "gobject-introspection", "meson", "samurai", "python3", "py3-setuptools", "pkgconf", "pcre2"] diff --git a/recipes/incoming-gnome-onda2/glib-introspected.toml b/recipes/incoming-gnome-onda2/glib-introspected.toml deleted file mode 100644 index 361f689c..00000000 --- a/recipes/incoming-gnome-onda2/glib-introspected.toml +++ /dev/null @@ -1,28 +0,0 @@ -# glib 2.88.1 — GATE TEST de la isla: glib con introspection=ENABLED (produce GLib/GObject/Gio.typelib -# usando g-ir-scanner+compiler sobre GLib misma). Es el test definitivo del keystone: si sella, -# g-ir-compiler sirve para los typelibs CORE bajo musl (el SIGSEGV era sólo los .gir X11); si revienta, -# el tool está roto. Rompe el ciclo glib↔g-i: deps la g-i YA sellada (que usa la glib-stage1 sin -# introspección, también sellada) ⇒ glib-introspected → g-i → glib(stage1), sin ciclo. -# Ver [[gnome-introspection-dinamica]]. -name = "glib-introspected" -version = "2.88.1" -license = "LGPL-2.1-or-later" - -[source] -tarball = "https://download.gnome.org/sources/glib/2.88/glib-2.88.1.tar.xz" -sha256 = "51ab804c56f6eab3e5045c774d1290ac5e4c923d4f9a3d8e33123bee45c1840e" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=both -Dtests=false -Dnls=disabled -Dlibmount=disabled -Dselinux=disabled -Dman-pages=disabled -Dintrospection=enabled -Dglib_debug=disabled -Dglib_assert=false -Dglib_checks=false" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -# glib (stage1, sin introspección) hidrata libglib-2.0.so.0 para que g-ir-scanner (que _giscanner.so -# dlopea) CORRA al configure. hammer hidrata deps DIRECTAS, no transitivas de g-i ⇒ hay que declararla. -[deps] -build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gobject-introspection", "glib", "libffi", "pcre2", "zlib"] diff --git a/recipes/incoming-gnome-onda2/glib.toml b/recipes/incoming-gnome-onda2/glib.toml deleted file mode 100644 index dfff09b4..00000000 --- a/recipes/incoming-gnome-onda2/glib.toml +++ /dev/null @@ -1,44 +0,0 @@ -# glib 2.88.1 — VARIANTE DINÁMICA de la ISLA GNOME (SHADOW de recipes/glib.toml estática). -# -# Por qué existe: el shell de GNOME (gjs/gnome-shell) usa GObject-introspection en RUNTIME — un -# typelib mapea cada tipo a una biblioteca COMPARTIDA que gjs `dlopen`ea. g-ir-scanner exige lo mismo -# al BUILDear: `can't resolve libraries to shared libraries: glib-2.0` si glib es sólo `.a`. Ergo la -# isla GNOME necesita glib como `.so` real (libglib/gobject/gio/gmodule-2.0.so.0 con SONAME). -# -# Por qué NO tocar recipes/glib.toml: la estática la consume el árbol entero (KDE, corpus). Cambiarla -# re-hashearía cientos de sellados. En su lugar esta variante vive en la cola GNOME y, por el orden -# del resolver (hermano incoming-gnome/ → padre recipes/), SOMBREA la corpus SÓLO para las recetas -# GNOME; el resto del árbol sigue con la estática. Ver [[gnome-introspection-dinamica]]. -# -# Deps internas (libffi/pcre2/zlib) estáticas: el .so las embebe (self-contained para ésas). -# Runtime: el rootfs de la imagen GNOME necesitará el loader musl (ld-musl-x86_64.so.1) — paso de -# ensamblado de imagen, no del build (el sandbox ya lo tiene). -# -# default_library=BOTH (no shared): la isla necesita AMBOS. El `.so` (con SONAME) es lo que -# g-ir-scanner resuelve para la introspección y lo que gjs dlopea en runtime; el `.a` es para el -# link ESTÁTICO INTERNO de los consumidores (el propio g-i compila binarios que hacen `-static -# -lglib-2.0` — sin el `.a` zig falla "unable to find static system library glib-2.0"). Con ambos, -# el consumidor estático encuentra el `.a` y el scanner encuentra el `.so`. -name = "glib" -version = "2.88.1" -license = "LGPL-2.1-or-later" - -[source] -tarball = "https://download.gnome.org/sources/glib/2.88/glib-2.88.1.tar.xz" -sha256 = "51ab804c56f6eab3e5045c774d1290ac5e4c923d4f9a3d8e33123bee45c1840e" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -# default_library=both ⇒ libglib-2.0.{a,so.0} &co. introspection=disabled a propósito: los typelibs -# de GLib/GObject los produce gobject-introspection escaneando este .so (externo), no glib a sí misma -# (evita el ciclo glib↔g-i en el bootstrap). -configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=both -Dtests=false -Dnls=disabled -Dlibmount=disabled -Dselinux=disabled -Dman-pages=disabled -Dintrospection=disabled -Dglib_debug=disabled -Dglib_assert=false -Dglib_checks=false" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -[deps] -build = ["meson", "samurai", "python3", "pkgconf", "libffi", "pcre2", "zlib"] diff --git a/recipes/incoming-gnome-onda2/gobject-introspection.toml b/recipes/incoming-gnome-onda2/gobject-introspection.toml deleted file mode 100644 index 4f2a091c..00000000 --- a/recipes/incoming-gnome-onda2/gobject-introspection.toml +++ /dev/null @@ -1,47 +0,0 @@ -# gobject-introspection 1.84.0 — el escáner de metadata de GNOME (g-ir-scanner + typelibs). -# Es dep de casi toda lib GNOME (gtk4/libadwaita/etc. lo declaran cuando -Dintrospection=enabled). -# meson static, backend feature-minimal: doctool/gtk_doc/tests off, PERO build_introspection_data=true -# (los .gir/.typelib SON su razón de ser). -# -# BORRADOR PARA EL MAPA — dificultad conocida: g-ir-scanner NO es puro metadata. Para cada lib -# COMPILA y EJECUTA un pequeño binario "dumper" enlazado contra el target para volcar los GTypes en -# runtime. En un lab cross/hermetico static-musl esto es el palo largo del stack GNOME: -# 1) ejecutar un binario del target dentro del sandbox (aquí target==host x86_64-linux-musl, así que -# NO hay emulación — a favor nuestro; el escenario cross real necesitaría qemu/exe_wrapper). -# 2) el dumper enlaza estático contra glib+libffi; el scanner invoca al compilador (CC/zig-cc) y al -# linker en runtime ⇒ necesita el toolchain + el cierre .pc COMPLETO visible en PKG_CONFIG_PATH. -# 3) suele pelear con -static / musl (símbolos de introspección, gi-dump). PROBABLEMENTE NO selle a -# la primera — dejar como frontera medida, no como sellado asumido. -name = "gobject-introspection" -version = "1.84.0" -license = "LGPL-2.0-or-later AND GPL-2.0-or-later" - -[source] -tarball = "https://download.gnome.org/sources/gobject-introspection/1.84/gobject-introspection-1.84.0.tar.xz" -sha256 = "945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -# ISLA DINÁMICA: g-i es parte de la isla GNOME y linkea la glib dinámica. link=dynamic para que sus -# binarios internos (g-ir-compiler, dumper) tomen libglib-2.0.so CONSISTENTEMENTE — no mezclar el .a -# (estático) con la glib que ya trae libgirepository-2.0.so (dinámica): esa mezcla da DOS copias del -# estado de GType ⇒ g-ir-compiler SIGSEGV. Ver [[gnome-introspection-dinamica]]. -link = "dynamic" - -[build.phases] -# build_introspection_data=FALSE: g-i 1.84 sólo genera aquí los typelibs EXTERNOS de X11/cairo -# (cairo/xlib/xft/xrandr/xfixes/win32) — que NO queremos (Wayland-only) y sobre los que g-ir-compiler -# hace SIGSEGV bajo musl. Los typelibs CORE (GLib/GObject/Gio) los produce glib (absorbió girepository). -# g-i aquí = las TOOLS (g-ir-scanner/compiler) que usan gtk4 &co. default_library=both (isla dinámica). -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Ddoctool=disabled -Dgtk_doc=false -Dtests=false -Dbuild_introspection_data=false -Dcairo=disabled -Dc_args=-Wno-error=date-time" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -[deps] -# glib + su cierre .pc estático (pkgconf resuelve Requires.private: pcre2, zlib, libffi). -# flex/bison: el parser de anotaciones del scanner. libffi: además lo enlaza el dumper. -# py3-setuptools: meson.build:29 exige `python3 (setuptools)` importable (instala giscanner como -# paquete python) — el python3 del rootfs NO trae setuptools; se lo damos como módulo sellado. -build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "flex", "bison", "glib", "libffi", "pcre2", "zlib"] -# FRONTERA: cairo omitida a propósito (-Dcairo=disabled) — feature-minimal, evita el typelib Cairo-1.0. diff --git a/recipes/incoming-gnome-onda2/graphene.toml b/recipes/incoming-gnome-onda2/graphene.toml deleted file mode 100644 index 6dc6cc3d..00000000 --- a/recipes/incoming-gnome-onda2/graphene.toml +++ /dev/null @@ -1,34 +0,0 @@ -# graphene 1.10.8 — VARIANTE ISLA DINÁMICA (SHADOW de recipes/graphene.toml estática). -# Tipos/álgebra de vectores y matrices (GTK4/GSK). La isla GNOME la necesita como .so real CON -# typelib: gtk4 declara Graphene-1.0 en su introspección (Gsk expone tipos graphene) ⇒ el scan de -# gtk4 tiene que resolver Graphene-1.0.typelib + libgraphene-1.0.so. Ver [[gnome-introspection-dinamica]]. -# -# vs corpus: link=dynamic (no static), default_library=both (.a p/ consumidores estáticos internos + -# .so p/ el scanner/gjs), introspection=ENABLED (produce el typelib). SIN --prefer-static (queremos el -# .so). Sombrea la corpus SÓLO para la cola GNOME (resolver hermano→padre); el resto del árbol sigue -# con la estática. -name = "graphene" -version = "1.10.8" -license = "MIT" - -[source] -tarball = "https://download.gnome.org/sources/graphene/1.10/graphene-1.10.8.tar.xz" -sha256 = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Dtests=false -Dinstalled_tests=false -Dgtk_doc=false -Dintrospection=enabled" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -# glib(isla dinámica) + glib-introspected (GObject-2.0.gir que referencia el typelib) + -# gobject-introspection (g-ir-scanner/compiler). Graphene-1.0 referencia GObject ⇒ necesita el .gir CORE. -# py3-setuptools: g-ir-scanner (giscanner/utils.py) hace `import distutils`, que Python 3.12 ya NO trae; -# py3-setuptools instala el shim de setuptools + el .pth que lo activa. Sin él: ModuleNotFoundError: -# distutils al generar el .gir (mismo requisito que los keystones glib-introspected/g-i). -[deps] -build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libffi", "pcre2", "zlib"] diff --git a/recipes/incoming-gnome-onda2/gtk4.toml b/recipes/incoming-gnome-onda2/gtk4.toml deleted file mode 100644 index 98c95100..00000000 --- a/recipes/incoming-gnome-onda2/gtk4.toml +++ /dev/null @@ -1,43 +0,0 @@ -# gtk4 4.18.6 — VARIANTE ISLA DINÁMICA (SHADOW de recipes/gtk4.toml estática). -# El toolkit. gnome-shell/mutter lo usan y su JS (gjs) dlopea Gtk-4.0/Gdk-4.0/Gsk-4.0.typelib en runtime -# ⇒ gtk4 DEBE producir esos typelibs + libgtk-4.so real. Es la receta más dura de onda 2: introspection -# arrastra el cierre transitivo entero (wayland/libdrm/mesa/libepoxy). Ver [[gnome-introspection-dinamica]]. -# -# vs corpus (mundo estático), REVERTIDO: -# · SIN el sed `libgtk_dep→libgtk_static_dep`: en la isla las tools linkean libgtk-4.so (natural). -# · SIN el fat-archive de install: era un hack para que `-static -lgtk-4` linkeara; los consumidores de -# la isla (mutter/gnome-shell) toman la .so. meson instala libgtk-4.so directo. -# · link=dynamic, default_library=both, introspection=ENABLED, SIN --prefer-static. -# · deps pango/gdk-pixbuf/graphene resuelven a las ISLAS (shadow) ⇒ sus typelibs+.so visibles al scan. -# -# ⚠ ITERATIVA: el scanner construye un dumper que linkea libgtk-4.so + todo su cierre. Las libs C del -# corpus (cairo/harfbuzz/wayland/libdrm/mesa/libepoxy) siguen ESTÁTICAS embebidas — si el scan falla por -# símbolo/estado duplicado, escalar la lib culpable a su propia isla. Esperar walls en el worker. -name = "gtk4" -version = "4.18.6" -license = "LGPL-2.1-or-later" - -[source] -tarball = "https://download.gnome.org/sources/gtk/4.18/gtk-4.18.6.tar.xz" -sha256 = "e1817c650ddc3261f9a8345b3b22a26a5d80af154630dedc03cc7becefffd0fa" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Dwayland-backend=true -Dx11-backend=false -Dbroadway-backend=false -Dwin32-backend=false -Dmacos-backend=false -Dvulkan=disabled -Dintrospection=enabled -Dbuild-demos=false -Dbuild-testsuite=false -Dbuild-tests=false -Dbuild-examples=false -Dmedia-gstreamer=disabled -Dprint-cups=disabled -Dprint-cpdb=disabled -Dcloudproviders=disabled -Dsysprof=disabled -Dtracker=disabled -Dcolord=disabled -Df16c=disabled -Ddocumentation=false -Dman-pages=false -Dc_args=-Wno-error=date-time" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -# glib-introspected + gobject-introspection = la maquinaria de typelibs. pango/gdk-pixbuf/graphene = -# ISLAS (shadow) con sus typelibs. El resto = cierre C estático del corpus (wayland/mesa/libdrm/etc.). -[deps] -# Cierre C DINÁMICO (-shared) + gi-foreign-girs (cairo-1.0/etc.): mismo patrón que gjs/pango. pango/ -# gdk-pixbuf/graphene/harfbuzz resuelven a las ISLAS (shadow). wayland/mesa/libdrm/libepoxy/libjpeg/ -# libtiff quedan corpus (se embeben si son PIC; si no, el worker pide su -shared). -# libtiff-shared/libjpeg-turbo-shared: gtk4 EXIGE libtiff-4/libjpeg (loaders gdktiff/gdkjpeg, sin -# required:false ⇒ no se pueden quitar). El .a estático arrastra zlib no resuelto ('undefined inflate') -# ⇒ variantes .so (NEEDED libz.so/libjpeg.so). libtiff-shared autorado; libjpeg-turbo-shared de KDE. -build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gi-foreign-girs", "glib", "glib-introspected", "gobject-introspection", "cairo-shared", "pango", "gdk-pixbuf", "graphene", "libepoxy", "wayland", "wayland-protocols", "libxkbcommon", "libdrm", "fontconfig-shared", "harfbuzz", "fribidi", "libpng-shared", "pixman", "freetype-shared", "expat", "libffi", "pcre2", "zlib-shared", "libtiff-shared", "libjpeg-turbo-shared", "mesa"] diff --git a/recipes/incoming-gnome-onda2/harfbuzz.toml b/recipes/incoming-gnome-onda2/harfbuzz.toml deleted file mode 100644 index 039bb6e6..00000000 --- a/recipes/incoming-gnome-onda2/harfbuzz.toml +++ /dev/null @@ -1,30 +0,0 @@ -# harfbuzz 14.2.1 — VARIANTE ISLA DINÁMICA (SHADOW de recipes/harfbuzz.toml estática). -# Shaping de texto (lo usa pango). Pango-1.0 referencia HarfBuzz-0.0 en su introspección ⇒ el -# g-ir-scanner de pango pide HarfBuzz-0.0.gir, que sólo produce harfbuzz con gobject+introspection. -# El corpus lo tiene disabled ⇒ esta variante lo habilita. Ver [[gnome-introspection-dinamica]]. -# -# vs corpus: link=dynamic, default_library=both, -Dgobject=enabled -Dintrospection=enabled (produce -# HarfBuzz-0.0.gir/typelib + libharfbuzz.so/libharfbuzz-gobject.so). freetype-shared (el .so, para NEEDED -# coherente). Sombrea el corpus SÓLO para la cola GNOME. -name = "harfbuzz" -version = "14.2.1" -license = "MIT" - -[source] -tarball = "https://github.com/harfbuzz/harfbuzz/releases/download/14.2.1/harfbuzz-14.2.1.tar.xz" -sha256 = "a54a5d8e9380a41fbb762ce367bcbf7704792dfca0d93f1bbca86c5a57902e0e" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=both -Dglib=enabled -Dgobject=enabled -Dcairo=disabled -Dicu=disabled -Dgraphite=disabled -Dfreetype=enabled -Dtests=disabled -Ddocs=disabled -Dintrospection=enabled -Dutilities=disabled" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -# glib(isla) + glib-introspected + gobject-introspection + py3-setuptools = maquinaria de typelibs. -# freetype-shared (.so) + su cierre libpng-shared/zlib-shared. pcre2/libffi = cierre .pc de glib. -[deps] -build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gi-foreign-girs", "glib", "glib-introspected", "gobject-introspection", "freetype-shared", "libpng-shared", "zlib-shared", "pcre2", "libffi"] diff --git a/recipes/incoming-gnome-onda2/libjpeg-turbo-shared.toml b/recipes/incoming-gnome-onda2/libjpeg-turbo-shared.toml deleted file mode 100644 index e3dc03a6..00000000 --- a/recipes/incoming-gnome-onda2/libjpeg-turbo-shared.toml +++ /dev/null @@ -1,25 +0,0 @@ -# libjpeg-turbo-shared 3.1.3 — variante DINÁMICA (libjpeg.so.8 + libturbojpeg.so.0, PIC) para el -# escritorio KDE. El canónico (recipes/incoming-kde/libjpeg-turbo.toml) es ENABLE_SHARED=0 (sólo .a sin -# PIC) ⇒ no enlaza dentro de un .so ('R_X86_64_32S ... recompile with -fPIC', jpeg_nbits_table). Como -# zlib-shared/bzip2-shared. Nombre distinto para no colisionar con el canónico. gwenview lo linkea. -name = "libjpeg-turbo-shared" -version = "3.1.3" -license = "IJG AND BSD-3-Clause AND Zlib" - -[source] -tarball = "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.3/libjpeg-turbo-3.1.3.tar.gz" -sha256 = "075920b826834ac4ddf97661cc73491047855859affd671d52079c6867c1c6c0" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = "cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DENABLE_SHARED=1 -DENABLE_STATIC=0 -DWITH_SIMD=0" -compile = "cmake --build build" -install = "DESTDIR=/out cmake --install build" - -[deps] -build = ["cmake", "samurai"] diff --git a/recipes/incoming-gnome-onda2/libpng-shared.toml b/recipes/incoming-gnome-onda2/libpng-shared.toml deleted file mode 100644 index ec37536d..00000000 --- a/recipes/incoming-gnome-onda2/libpng-shared.toml +++ /dev/null @@ -1,24 +0,0 @@ -# libpng-shared 1.6.58 — variante DINÁMICA (libpng16.so.16, PIC) para el escritorio KDE. El canónico -# (recipes/libpng.toml) es --disable-shared (sólo libpng16.a sin PIC) ⇒ no enlaza dentro de un .so. Como -# zlib-shared/xz-shared: autotools --enable-shared, zig-cc, contra zlib-shared (libz.so). gwenview linkea. -name = "libpng-shared" -version = "1.6.58" -license = "Libpng" - -[source] -tarball = "https://downloads.sourceforge.net/libpng/libpng-1.6.58.tar.gz" -sha256 = "8c9b05b675ca7301a458df2c2e46f26e1d41ff36b8863f8c33530bc58c2e6225" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static CPPFLAGS=-I/usr/include LDFLAGS=-L/usr/lib' -compile = 'make -j"$(nproc)"' -install = "make DESTDIR=/out install && find /out -name '*.la' -delete" - -[deps] -build = ["zlib-shared", "pkgconf"] diff --git a/recipes/incoming-gnome-onda2/libtiff-shared.toml b/recipes/incoming-gnome-onda2/libtiff-shared.toml deleted file mode 100644 index 6e84552e..00000000 --- a/recipes/incoming-gnome-onda2/libtiff-shared.toml +++ /dev/null @@ -1,27 +0,0 @@ -# libtiff-shared 4.7.0 — variante DINÁMICA (libtiff.so, NEEDED libz.so/libjpeg.so) para la isla GNOME. -# gtk4 EXIGE libtiff-4 (meson.build:450, sin required:false ⇒ no se puede quitar). El canónico es -# BUILD_SHARED_LIBS=OFF: su libtiff.a arrastra zlib/jpeg como cadena estática que gtk4 (dinámico) no -# resuelve ('undefined inflate'). La .so lo resuelve por NEEDED. Ver [[gnome-introspection-dinamica]]. -name = "libtiff-shared" -version = "4.7.0" -license = "libtiff" - -[source] -tarball = "https://download.osgeo.org/libtiff/tiff-4.7.0.tar.gz" -sha256 = "67160e3457365ab96c5b3286a0903aa6e78bdc44c4bc737d2e486bcecb6ba976" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -# --undefined-version: el version-script de libtiff.so nombra símbolos Windows-only (TIFFOpenWExt) que -# en musl no se compilan; lld lo trata como error salvo con este flag (lo hace laxo, estándar en cross). -configure = "cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--undefined-version -Dtiff-tools=OFF -Dtiff-tests=OFF -Dtiff-contrib=OFF -Dtiff-docs=OFF -Dzlib=ON -Djpeg=ON -Dlzma=OFF -Dzstd=OFF -Dwebp=OFF -Djbig=OFF -Dlerc=OFF -Dlibdeflate=OFF -Dcxx=OFF" -compile = "cmake --build build --target tiff" -install = "DESTDIR=/out cmake --install build" - -# zlib-shared/libjpeg-turbo-shared: la .so de tiff los enlaza por NEEDED (libz.so/libjpeg.so). -[deps] -build = ["cmake", "zlib-shared", "libjpeg-turbo-shared"] diff --git a/recipes/incoming-gnome-onda2/nasm.toml b/recipes/incoming-gnome-onda2/nasm.toml deleted file mode 100644 index acb068ba..00000000 --- a/recipes/incoming-gnome-onda2/nasm.toml +++ /dev/null @@ -1,23 +0,0 @@ -# nasm — ensamblador x86. Herramienta de BUILD de mozjs (algunas rutas de código generan .asm) y de -# varias libs de media más adelante. No está en el rootfs Alpine ni tenía receta. C plano, autotools. -name = "nasm" -version = "2.16.03" -license = "BSD-2-Clause" - -[source] -tarball = "https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.xz" -sha256 = "1412a1c760bbd05db026b6c0d1657affd6631cd0a63cddb6f73cc6d4aa616148" -strip_components = 1 - -[build] -compiler = "gcc" -target = "x86_64-linux-musl" -link = "static" # binario de herramienta: estático, sin runtime que arrastrar - -[build.phases] -configure = "./configure --build=$CBUILD --host=$CHOST --prefix=/usr" -compile = "make -j\"$(nproc)\"" -install = "make DESTDIR=/out install" - -[deps] -build = ["make"] diff --git a/recipes/incoming-gnome-onda2/nspr.toml b/recipes/incoming-gnome-onda2/nspr.toml deleted file mode 100644 index 83d8ec6d..00000000 --- a/recipes/incoming-gnome-onda2/nspr.toml +++ /dev/null @@ -1,25 +0,0 @@ -# nspr — Netscape Portable Runtime. Dep dura de mozjs/spidermonkey (hilos, IO, atómicos portables). -# Build autotools clásico. El tarball extrae a nspr-4.36/nspr/configure ⇒ con strip_components=1 queda -# `nspr/`, así que las fases entran a ese subdir. Alternativa si molesta: mozjs puede construir su nspr -# in-tree (--enable-nspr-build); acá lo hacemos aparte porque NSS y otros también lo van a querer. -name = "nspr" -version = "4.36" -license = "MPL-2.0" - -[source] -tarball = "https://ftp.mozilla.org/pub/nspr/releases/v4.36/src/nspr-4.36.tar.gz" -sha256 = "55dec317f1401cd2e5dba844d340b930ab7547f818179a4002bce62e6f1c6895" -strip_components = 1 - -[build] -compiler = "gcc" # C plano con gcc-ismos en el configure; sigue el patrón de linux-pam -target = "x86_64-linux-musl" -link = "dynamic" # mozjs detecta libnspr4.so vía nspr-config/pkg-config - -[build.phases] -configure = "cd nspr && ./configure --build=$CBUILD --host=$CHOST --prefix=/usr --libdir=/usr/lib --enable-optimize --disable-debug --enable-64bit" -compile = "cd nspr && make -j\"$(nproc)\"" -install = "cd nspr && make DESTDIR=/out install" - -[deps] -build = ["make"] diff --git a/recipes/incoming-gnome-onda2/pango.toml b/recipes/incoming-gnome-onda2/pango.toml deleted file mode 100644 index da518662..00000000 --- a/recipes/incoming-gnome-onda2/pango.toml +++ /dev/null @@ -1,35 +0,0 @@ -# pango 1.57.1 — VARIANTE ISLA DINÁMICA (SHADOW de recipes/pango.toml estática). -# Layout/render de texto i18n (base de GTK4). gtk4 declara Pango-1.0 en su introspección ⇒ el scan de -# gtk4 debe resolver Pango-1.0.typelib + libpango-1.0.so. Ver [[gnome-introspection-dinamica]]. -# -# vs corpus: link=dynamic, default_library=both, introspection=ENABLED, SIN --prefer-static. -# -# ALCANCE (deuda declarada): sus sub-deps (cairo/harfbuzz/fribidi/freetype/fontconfig/pixman/libpng/ -# expat) siguen siendo corpus ESTÁTICAS — se embeben en libpango-1.0.so vía default_library=both. Riesgo -# a medir en el worker: si dos .so de la isla embeben la MISMA lib estática (p.ej. cairo en libpango Y en -# libgtk-4), hay doble estado en runtime (misma clase de bug que el SIGSEGV de glib). Si aparece, se -# escala cairo/etc. a su propia isla dinámica. NO persigo el cierre dinámico transitivo completo a ciegas. -name = "pango" -version = "1.57.1" -license = "LGPL-2.0-or-later" - -[source] -tarball = "https://download.gnome.org/sources/pango/1.57/pango-1.57.1.tar.xz" -sha256 = "e65d6d117080dc3aeeb7d8b4b3b518f7383aa2e6cfce23117c623cd624764c2f" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Dc_args=-Wno-error=date-time -Dintrospection=enabled -Dgtk_doc=false -Dbuild-testsuite=false -Dbuild-examples=false" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -# glib(isla) + glib-introspected (GObject-2.0.gir) + gobject-introspection (tools). El resto = cierre .pc -# estático del corpus (cairo/harfbuzz/fribidi/freetype/fontconfig/pixman/libpng/expat). -[deps] -# Cierre C DINÁMICO (-shared): pango linkea libcairo.so/libfontconfig.so/… y la cadena resuelve por -# NEEDED (el test cairo-ft de meson deja de fallar 'FontConfig support'). pixman canónico ya es dinámico. -build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gi-foreign-girs", "glib", "glib-introspected", "gobject-introspection", "cairo-shared", "harfbuzz", "fribidi", "freetype-shared", "fontconfig-shared", "pixman", "libpng-shared", "expat", "libffi", "pcre2", "zlib-shared"] diff --git a/recipes/incoming-gnome-onda2/py3-setuptools.toml b/recipes/incoming-gnome-onda2/py3-setuptools.toml deleted file mode 100644 index 21ac6f87..00000000 --- a/recipes/incoming-gnome-onda2/py3-setuptools.toml +++ /dev/null @@ -1,37 +0,0 @@ -# py3-setuptools 75.8.2 — setuptools como MÓDULO importable de python3, para las recetas cuyo -# meson.build exige `python3 (setuptools)` (gobject-introspection:29, y todo el stack GUI-python -# que instala giscanner/entry-points). Python PURO: no se compila, se COPIA a site-packages. -# -# Mismo patrón que meson.toml: hammer evita el camino wheel/pip/gpep517 de Alpine (recetas que no -# tiene); la fuente ES el árbol Python sellado y se instala copiando los paquetes tal cual. Hermético -# (sin pip ni red). El `.pth` de precedencia de distutils replica lo que hace `pip install setuptools` -# para que `_distutils_hack` se active y setuptools gane sobre el distutils del stdlib. -name = "py3-setuptools" -version = "75.8.2" -license = "MIT" - -[source] -tarball = "https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-75.8.2.tar.gz" -sha256 = "4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "static" - -[build.phases] -# Python puro: nada que compilar. -compile = "true" -install = ''' -set -e -SP=/out/usr/lib/python3.12/site-packages -mkdir -p "$SP" -cp -r setuptools pkg_resources _distutils_hack "$SP/" -# Replica el distutils-precedence.pth de pip: activa el shim que da precedencia a setuptools. -printf '%s\n' "import os; var = 'SETUPTOOLS_USE_DISTUTILS'; enabled = os.environ.get(var, 'local') == 'local'; enabled and __import__('_distutils_hack').add_shim();" \ - > "$SP/distutils-precedence.pth" -''' - -# python3 es dep de RUNTIME (lo importa quien use setuptools como build-dep). -[deps] -runtime = ["python3"] diff --git a/recipes/incoming-gnome-onda2/spidermonkey.toml b/recipes/incoming-gnome-onda2/spidermonkey.toml deleted file mode 100644 index 093ea678..00000000 --- a/recipes/incoming-gnome-onda2/spidermonkey.toml +++ /dev/null @@ -1,48 +0,0 @@ -# spidermonkey (mozjs 128 ESR) — el motor JavaScript de Mozilla. KEYSTONE del frente GNOME: gjs cuelga -# de él, y gnome-shell cuelga de gjs. Es de lo más DIFÍCIL que hay en cualquier distro. -# -# ⚠ PRIMER BORRADOR — NO va a sellar a la primera. mozjs sobre musl nunca compila de un saque; el -# sistema de build de Mozilla (mach/configure) NO es uno de los auto-detectados por el lab, así que las -# fases van A MANO y hay que ITERARLAS EN EL WORKER (ccx33 o mayor: el compile C++ come ~8GB+ y quiere -# swap; ccx23 va justo). Anclado al APKBUILD de mozjs128 de Alpine (misma libc musl). Decisiones: -# · Fuente = tarball del SOURCE de Firefox 128.14.0esr (mozjs se construye desde js/src de ese árbol). -# · clang (el rootfs trae LLVM 22); mozjs prefiere clang fuerte a gcc. -# · icu IN-TREE (--without-system-icu): evita casar versiones de un icu del sistema (una dep menos). -# · nspr y zlib del sistema (recetas nspr + zlib del corpus). -# · shared-js (libmozjs-128.so) — lo que gjs enlaza. -# Cosas que MUY probablemente haya que tocar al iterar: el nombre exacto del build dir/mach vs configure, -# --enable-release/--enable-hardening, flags de linker (lld), y RUST/CBINDGEN en PATH. Cuando selle en -# el worker, se congela el hash y se promueve. -name = "spidermonkey" -version = "128.14.0" -license = "MPL-2.0" - -[source] -tarball = "https://ftp.mozilla.org/pub/firefox/releases/128.14.0esr/source/firefox-128.14.0esr.source.tar.xz" -sha256 = "93b9ef6229f41cb22ff109b95bbf61a78395a0fe4b870192eeca22947cb09a53" -strip_components = 1 - -[build] -compiler = "clang" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -# MOZBUILD_STATE_PATH: mach crea ahí su virtualenv de build. CADA fase es un bwrap aparte con -# `--tmpfs /tmp`, así que un venv en /tmp NO sobrevive de configure a compile ("bin/python: No such -# file or directory"). Lo anclamos a /src/.mozbuild (bind RW, persiste entre fases; es scratch, no -# entra a /out ⇒ no afecta el artefacto). MOZ_NOSPAM calla la telemetría. Va en las tres fases. -# Se construye en un obj-dir separado dentro de js/src (idioma de mozjs). CC/CXX=clang explícitos. -# AR=llvm-ar: mozjs con clang quiere la suite binutils de LLVM (llvm-ar/llvm-objdump/llvm-profdata). -# El rootfs las provee vía el paquete `llvm22` con symlinks en /usr/bin (bootstrap-devfs.sh); antes -# faltaban (sólo estaba `clang`) y configure abortaba "Cannot find ar/llvm-objdump". -# TRIPLE: mozjs exige que el --host de configure COINCIDA con el host que reporta rustc. El rustc del -# rootfs (Alpine) es `x86_64-alpine-linux-musl` (vendor `alpine`, no `pc` ni `unknown`); con cualquier -# otro, mozjs aborta ("rust compiler host ... not suitable for the configure host"). Fijamos ese triple -# exacto — clang lo acepta (vendor genérico) y así C-host == rust-host, que es lo que mozjs valida. -configure = "export MOZBUILD_STATE_PATH=/src/.mozbuild MOZ_NOSPAM=1 SHELL=/bin/sh PYTHON=python3 && cd js/src && mkdir -p obj && cd obj && CC=clang CXX=clang++ AR=llvm-ar ../configure --prefix=/usr --host=x86_64-alpine-linux-musl --target=x86_64-alpine-linux-musl --disable-debug --enable-optimize --enable-release --enable-hardening --disable-jemalloc --enable-shared-js --disable-tests --without-system-icu --with-system-nspr --with-system-zlib" -compile = "export MOZBUILD_STATE_PATH=/src/.mozbuild MOZ_NOSPAM=1 && cd js/src/obj && make -j\"$(nproc)\"" -install = "export MOZBUILD_STATE_PATH=/src/.mozbuild MOZ_NOSPAM=1 && cd js/src/obj && make DESTDIR=/out install" - -[deps] -build = ["nspr", "nasm", "cbindgen", "python3", "make", "zlib", "pkgconf"] diff --git a/recipes/incoming-gnome-onda2/zlib-shared.toml b/recipes/incoming-gnome-onda2/zlib-shared.toml deleted file mode 100644 index e4d9acdc..00000000 --- a/recipes/incoming-gnome-onda2/zlib-shared.toml +++ /dev/null @@ -1,34 +0,0 @@ -# zlib-shared 1.3.1 — variante DINÁMICA de zlib para el escritorio KDE. -# -# El zlib canónico (recipes/zlib.toml) es `--static` (sólo libz.a, para el toolchain rust/mrustc). Pero -# el stack GUI dinámico (Qt/KDE/libpng/Mesa) linkea `libz.so.1` por SONAME en runtime, y ese `.so` no lo -# provee ningún artefacto sellado ⇒ el rootfs hidratado caía a la libz.so.1 del sysroot Alpine (fuga de -# soberanía, deuda static↔dinámico de Capa 0). Esta variante sella el `libz.so.1` soberano: los `.so` de -# KDE ya tienen NEEDED libz.so.1 (mismo soname), así que basta hidratar este artefacto — sin rebuild de KDE. -# -# Build shared: el configure de zlib aborta bajo zig cc ("compiler error reporting too harsh"), así que se -# fabrica el libz.so.1 a mano del libz.a PIC con --whole-archive. CLAVE (fix soberanía): se pasa el -# --version-script=zlib.map del propio tarball ⇒ el .so exporta los símbolos VERSIONADOS (ZLIB_1.2.0 -# compressBound, ZLIB_1.2.3.4 inflateReset2, …). Qt6 (libQt6Core/Gui) fue enlazado contra un zlib -# versionado y NEEDED esos @tags; sin el mapa, un libz.so con nombres pelados no resolvía -# inflateReset2@ZLIB_1.2.3.4 al enlazar gwenview (--no-allow-shlib-undefined) y Qt caía en runtime a la -# libz.so.1 de Alpine (fuga). El .so versionado satisface consumidores versionados Y no-versionados. -# -fPIC/-O2/-fno-sanitize=undefined igual que la canónica (evita el runtime UBSan de zig). - -name = "zlib-shared" -version = "1.3.1" -license = "Zlib" - -[source] -tarball = "https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz" -sha256 = "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "CFLAGS='-fPIC -O2 -fno-sanitize=undefined' ./configure --prefix=/usr --static" -compile = "make -j\"$(nproc)\" && ${CC:-zig cc} -shared -Wl,-soname,libz.so.1 -Wl,--version-script,zlib.map -Wl,--whole-archive libz.a -Wl,--no-whole-archive -o libz.so.1.3.1" -install = "make install DESTDIR=/out && install -Dm755 libz.so.1.3.1 /out/usr/lib/libz.so.1.3.1 && ln -sf libz.so.1.3.1 /out/usr/lib/libz.so.1 && ln -sf libz.so.1 /out/usr/lib/libz.so" diff --git a/scripts/farm/farm-worker-loop.sh b/scripts/farm/farm-worker-loop.sh index 82ba7074..eb8e57fd 100755 --- a/scripts/farm/farm-worker-loop.sh +++ b/scripts/farm/farm-worker-loop.sh @@ -110,8 +110,16 @@ DISK_HIGH="${DISK_HIGH:-82}" # Al jubilar `gnome-desktop` las dos hojas de la cola se quedaron sin consumidor: molía para nadie. # ⚠ Lo caro no era el tiempo —todo salía por caché— sino que el `gsettings-desktop-schemas` viejo # competía por el NOMBRE con el bueno: dos artefactos homónimos con hash distinto en el store. +# +# `incoming-gnome-onda2` —«la isla dinámica» del párrafo de arriba— se retiró el mismo día, y es el +# caso LIMPIO del mismo fenómeno: sus 22 recetas eran idénticas a las de `incoming-gnome` y las 22 +# con el MISMO ArtifactHash, o sea la misma dirección del store. Sin divergencias, sin colisión de +# nombre y sin un solo artefacto que podar al retirarla. El andamio ya no sostenía nada: el trabajo +# de la isla dinámica vive en `incoming-gnome`, que es la cola que el perfil usa (119/119). +# ⇒ 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-onda2 recipes/incoming-gnome recipes/incoming-cosmic recipes/incoming-kde recipes/incoming-wlr}" +QUEUES="${QUEUES:-recipes/incoming recipes/incoming-go recipes/incoming-clib 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