From cabb106c93141dad900ed3b36a73149d57d72f0f Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 6 Sep 2026 05:44:09 +0000 Subject: [PATCH] waterfox: instalar los tres iconos que su propio empaquetador exige MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Con las deps -shared el enlace de libxul.so YA PASA (el choque de cairo se acabó) y el build avanza hasta el empaquetado, donde muere así: error: browser/installer/package-manifest.in:239: Missing file(s): bin/browser/chrome/icons/default/default22.png :240: default24.png :245: default256.png No falta arte y no es culpa nuestra: es una inconsistencia INTERNA del árbol de Waterfox 6.7.1.1. Bajo `#ifdef MOZ_GTK` el manifiesto pide ocho tamaños (16, 22, 24, 32, 48, 64, 128, 256) y la rama gtk de branding-common.mozbuild lista sólo cinco. Los tres ficheros existen en los CUATRO brandings del árbol (official/aurora/nightly/unofficial); lo que falta es la línea que los instala. Es una rotura sólo de Linux, que es la razón plausible de que upstream no la note: la rama de Windows del mismo fichero está completa. El hunk está GENERADO con `diff -u` sobre el fichero real, no escrito a mano: la primera versión aplicaba «with fuzz 2» y la segunda «with fuzz 1». Un parche con fuzz es uno que puede agarrar donde no debe, y verificar que aplica limpio cuesta un `patch --dry-run`. Va en recipes/waterfox-patches/ y no en firefox-patches/ porque es de waterfox: firefox no lo necesita. --- .../waterfox-patches/branding-icons-gtk.patch | 30 +++++++++++++++++++ recipes/waterfox.toml | 4 +++ 2 files changed, 34 insertions(+) create mode 100644 recipes/waterfox-patches/branding-icons-gtk.patch diff --git a/recipes/waterfox-patches/branding-icons-gtk.patch b/recipes/waterfox-patches/branding-icons-gtk.patch new file mode 100644 index 00000000..0c62ee0f --- /dev/null +++ b/recipes/waterfox-patches/branding-icons-gtk.patch @@ -0,0 +1,30 @@ +Waterfox 6.7.1.1 no instala tres de los iconos que su PROPIO empaquetador exige. + +`browser/installer/package-manifest.in`, bajo `#ifdef MOZ_GTK`, pide ocho tamaños: +16, 22, 24, 32, 48, 64, 128 y 256. La rama gtk de `branding-common.mozbuild` sólo +lista cinco, y faltan justo 22, 24 y 256: + + error: browser/installer/package-manifest.in:239: Missing file(s): + bin/browser/chrome/icons/default/default22.png (y 24, y 256) + +Los tres ficheros EXISTEN en `browser/branding/{official,aurora,nightly,unofficial}/` +—los cuatro brandings los traen— así que no falta arte: falta la línea que los +instala. Es una rotura sólo de Linux, que es la razón plausible de que upstream no +la note: la rama de Windows de este mismo fichero sí está completa. + +Se listan en el mismo orden de cadena que usa el bloque (128 < 16 < 22 < 24 < 256 +< 32 < 48 < 64). El hunk está GENERADO con `diff -u` sobre el fichero real y no +escrito a mano: la primera versión aplicaba «with fuzz», y un parche con fuzz es +uno que puede agarrar donde no debe. +--- a/browser/branding/branding-common.mozbuild ++++ b/browser/branding/branding-common.mozbuild +@@ -29,6 +29,9 @@ + FINAL_TARGET_FILES.chrome.icons.default += [ + "default128.png", + "default16.png", ++ "default22.png", ++ "default24.png", ++ "default256.png", + "default32.png", + "default48.png", + "default64.png", diff --git a/recipes/waterfox.toml b/recipes/waterfox.toml index 54aa70bf..3566179e 100644 --- a/recipes/waterfox.toml +++ b/recipes/waterfox.toml @@ -69,6 +69,10 @@ patches = [ "firefox-patches/rust-lto-thin.patch", "firefox-patches/wasip1.patch", "firefox-patches/widevine.patch", + # PROPIO de waterfox, no heredado de firefox: su `branding-common.mozbuild` instala cinco iconos + # y su `package-manifest.in` exige ocho. Los tres que faltan (22, 24, 256) están en el árbol; lo + # que falta es la línea que los instala. Rotura sólo de Linux — ver la cabecera del parche. + "waterfox-patches/branding-icons-gtk.patch", ] [build]