tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: pkgsrc/fonts/dejavu-ttf



Hauke Fath <hf%spg.tu-darmstadt.de@localhost> writes:

> dejavu-ttf is probably special, in that rrdtool depends on it, which
> you might want to run on a sans-X web server.

This is the heart of the issue and there are multiple implicit things
going on that I think are helpful to say clearly.

The first is that in pkgsrc many things depend on other things for
building, etc, and this is normal.  We do have options to avoid really
big things.

With X11, it's special because there is a big switch X11_TYPE to select
among two approaches.  Many other things can be from base or from
pkgsrc, and they are handled via a bl3 that selects one or the other,
either depending on what is installed or what is supposed to be
installed.   I don't see X as special beyond this.

With X11_TYPE, there are basically two valid setups:

 X11_TYPE=native and x sets installed (or equivalent on other systems).
 This does not imply the server set is installed and it does not imply
 anything is cofigured.

 X11_TYPE=modular, and X11-world things will be provided from pkgsrc,
 with either native X11 installed and ignored or not installed

You seem to live in a world where you leave X11_TYPE=native and want to
have absolutely nothing from X11 on your system.  The former is a
misonfiguration and I don't think we should torque pkgsrc around to
accomodate it.


As for "sans-X web server", certainly not having an Xserver and not
having the base sets installed in reasonable.  But you're treating
"sans-X" as an absolute, and objecting to what I expect is a relatively
small font utility which would be straightforwardly installed from
modular X.

There are lots of things that people don't like, including things that
are hard to avoid like cmake and rust, and things like gtk, qt.  We do
have options to disable gtk/qt for packages when building the non-gui
version is sensible.  We don't have this for cmake.  We have a very
limited amount of it for rust, mostly because it doesn't actually build
on a lot of platforms.  But we don't have a global scheme to completely
avoid all code from worlds like gtk and qt5 and to guarantee that people
who dislike it will never encounter it.

For all of these options, it's a tradeoff of the utility of the option
for those who want it, and the cognitive load of lots of options, which
is imposed on everyone.  Generally, avoiding really big things (qt5 is
perhaps the poster child here*) is clearly worth it, and as things get
small much less.  We haven't in this discussion talked about what the
real benefit is.

* I'm not really a qt5 hater; I have it on desktop for qgis, and want to
  avoid it on small/server machines.  But my wanting to avoid it is
  based on it being enormous and taking hours and hours to build; if it
  were like glib2 I wouldn't care that much.

So, let's asume you have a correctly configured system
(X11_TYPE=modular), and you are building the things you need for rrdtool
anyway.  That already includes freetype2 and cairo/pango.  Then, when
you build dejavu-ttf, it seems there is a dependency on mkfontscale from
modular X11.  How big is this package?  How long does it take to build?
Aside from dislike of X11, is it really an issue given everything else
you are building?

I see that /usr/X11R7/bin/mkfontscale is 46944 bytes (netbsd-9 amd64).

I built fonts/mkfontscale on a test box (picked to avoid perturbing
production), which was a 2008 MacBookPro with 4GB of RAM and a 250GB
really slow spinning disk.  It took under a minute, including
downloading the sources.  pkg_info -s says 44633 bytes.  (I did this on
a machine with X11_TYPE=native, which I know is not quite right.  Still,
I'm asking you to explain how much gets built from this and how long it
takes.)

Greg

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index