Hi Julian,
As you know from #1140680, it would be desirable to completely remove
the package fonts-materialdesignicons-webfont in favor of your
fonts-materialdesignicons-legacy package which is much nicer, built
from sources, etc. I'm by the way sorry that it took me so long to
draft a plan on how to do it. I've now come to the conclusiong that
this is the best route. fonts-materialdesignicons-webfont ships a
pre-built font which embeds the brand icons, and it isn't built from
source. Its two consumers will be switched to this package instead:
- python3-xstatic-mdi (used by Horizon to display its icons), whose
debianize patch points BASE_DIR at
/usr/share/fonts-materialdesignicons-webfont/; we will point it at
/usr/share/fonts-materialdesignicons-webfont/v6.9.96/ instead.
- searx-admin (see: #1150391), which serves
css/materialdesignicons.min.css and scss/materialdesignicons.scss
from the same directory; it will use the versioned paths.
For a consumer to mount a single version directory (as xstatic's
BASE_DIR does), css, scss *and* the font files must all be reachable
inside it. The alternative is to have the xstatic-mdi package to
design a forest of symlink, which isn't desirable at all. Instead,
a small patch into your package will fix it.
The css and scss are already there; what's missing is the fonts. A
top-level symlink wouldn't work: the css references the fonts
as ../../fonts/... (which is correct from within v6.9.96/css/), and URL
resolution follows the path, not the symlink, so it would point at
/usr/share/fonts/ instead.
The attached patch therefore adds a fonts symlink *inside* each
versioned directory, pointing at the existing top-level flat fonts/
directory (which your .links already provides).
I verified this end-to-end in a chroot: the package builds fine with
the patch, and compiling a Horizon-style scss (setting $mdi-font-path
to .../v6.9.96/fonts and importing
.../v6.9.96/scss/materialdesigniconsv6.scss) produces correct font URLs
which resolve through the symlink chain.
For your information, on the consumer side: all eight MDI icons used by
searx-admin exist in v6.9.96, and of the 69 icons mapped in Horizon's
material theme, only "settings" is missing (it was renamed to "cog" in
v5+), which a one-line fix in Horizon's _icons.scss will handle.
Note also that the 7.4.47 font currently in experimental is missing both
"settings" and "desktop-mac", so the v6 font is actually an improvement
there.
Could you please review, and upload the attached patch as -4? It
unblocks the removal of fonts-materialdesignicons-webfont (#1140680),
after which I will switch the consumers (python3-xstatic-mdi,
searx-admin and horizon) in that order.
Thanks a lot for making this package in the first place, it saved us a
lot of work!
Thomas Goirand (zigo)