Gentoo Archives: gentoo-dev

From: Walter Dnes <waltdnes@××××××××.org>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] vim-syntax USE flag
Date: Sun, 23 Jul 2017 21:21:09
Message-Id: 20170723212059.GA21609@waltdnes.org
In Reply to: Re: [gentoo-dev] vim-syntax USE flag by Andrew Savchenko
1 On Sun, Jul 23, 2017 at 05:46:04PM +0300, Andrew Savchenko wrote
2 > On Sat, 22 Jul 2017 22:00:16 +0100 Sergei Trofimovich wrote:
3 > > On Sat, 22 Jul 2017 16:27:39 -0400
4 > > Mike Gilbert <floppym@g.o> wrote:
5 > >
6 > > > Packages currently handle installation of vim syntax support files
7 > > > inconsistently. Some builds install the files if the "vim-syntax" USE
8 > > > flag is enabled, while others install them unconditionally.
9
10 This reminds me of /usr/share/locale/*/LC_MESSAGES/<app-name> and
11 /usr/share/man/*/man/<app-name>. There seem to be a lot of packages
12 that are hardcoded by upstream to install umpteen locales of this stuff.
13
14 > > >
15 > > > Do these files fall into the "small text files" category for
16 > > > unconditional installation? If so, we should probably phase out the
17 > > > vim-syntax USE flag.
18 > >
19 > > I'd say use flag is not needed as long as it does not slow vim startup
20 > > down by much and does not change editor behaviour for every single
21 > > edited file type.
22 >
23 > The problem here is more complicated. What about 100 plugins from
24 > different packages which of them is fast enough, but together they
25 > are slowing vim down to unacceptable level? Such case is
26 > especially sensitive on slow hardware.
27 >
28 > That's why fine control over vim files is mandatory. Yes, it
29 > requires to rebuild packages, but with ccache/distcc available this
30 > is not a huge issue. And if someone really want to avoid such
31 > rebuilds, vim files can always be put to a separated package;
32 > though I see no real reason to do this.
33 >
34 > Using INSTALL_MASK here is not an option, because toggling of
35 > individual vim files using it will be a nightmare.
36
37 A heavy-handed solution to the extra man pages and LC_MESSAGES stuff
38 I mentioned above, is "localepurge". The file "/etc/locale.nopurge"
39 contains a list of locales to *NOT* purge. LC_MESSAGES and man pages
40 for all other locales are wiped. I'm not a professional programmer, but
41 the following approach looks promising...
42
43 Option A) A standalone program/script called "vimodulepurge" which would
44 consult a file "/etc/vimodule.nopurge". The algorithm would be to
45 "equery b" for each module in the module directory. If the owner of the
46 module is not listed in "/etc/vimodule.nopurge", delete the module.
47
48 Option B) Integrate this functionality into Portage. During the install
49 process, check if the ebuild being installed is listed in
50 "/etc/vimodule.nopurge". If not, skip installing files into the vim
51 modules directory. If "/etc/vimodule.nopurge" doesn't exist, or
52 "NEEDSCONFIGFIRST" has not been commented out, allow the modules to be
53 installed.
54
55 --
56 Walter Dnes <waltdnes@××××××××.org>
57 I don't run "desktop environments"; I run useful applications