alucryd at archlinux.org
Wed Sep 30 20:23:16 UTC 2015
On Wed, Sep 30, 2015 at 9:26 AM, Moritz Bunkus <moritz at bunkus.org> wrote:
> the MKVToolNix author here. First of all I appreciate all the effort of
> packaging MKVToolNix for Arch. Thanks for that.
> The orignal PKGBUILD in the repositories builds the whole of MKVToolNix
> twice, once configured with GUI support, once configured without
> it. However, this is not really necessary.
> Being configured with and without GUI support only affects two programs:
> mkvinfo and mkvtoolnix-gui. If configured with GUI support then mkvinfo
> will be built including a Qt-based GUI in addition to the
> always-included text mode interface, and mkvtoolnix-gui will be built in
> the first place. If configured without GUI support then mkvinfo will
> only include that text mode interface and mkvtoolnix-gui will not be
> built at all.
> Therefore the PKGBUILD in the pastebin cuts down on compilation time by
> only compiling the whole of MKVToolNix once when it's configured with
> GUI support. For the text-mode only version of mkvinfo you only have to
> configure MKVToolNix and build mkvinfo (and then preserve that binary
> over the »drake clean«, of course); nothing else has to be built. Hence
> the pastebin'ed PKGBUILD being a lot faster.
> There's only one version of mkvinfo's man page in my upstream MKVToolNix
> source, and the installed version is identical in both cases (configured
> with/without GUI). Therefore including it in each Arch package is indeed
> wasting space.
> The mkvtoolnix-gui (and therefore the Arch mkvtoolnix-qt package) cannot
> work without the mkvmerge executable as the GUI uses the CLI-only
> mkvmerge for all of its actual work. Therefore the mkvtoolnix-qt package
> must depend on the mkvtoolnix package, and preferably of the same
> version: I only guarantee that mkvtoolnix-gui version a.b.c will work
> with mkvmerge version a.b.c, nothing else. The GUI will even emit
> warnings if the mkvmerge executable's version differs. Therefore
> upgrading the mkvtoolnix-qt package without upgrading the mkvtoolnix
> package should ideally not be possible.
> If you don't want to include mkvinfo's Qt GUI then you still have to do
> both builds. Well, you could leave out mkvinfo during the with-GUI-
> configured build, but that wouldn't cut down on compilation time a lot
> as mkvinfo only consists of three source files on top of the common
> I don't particularly care whether or not mkvinfo's GUI is included in
> the mkvtoolnix-qt package. I've created it mostly for Windows users as
> those are pretty resilient to the advice of using the command line
> version ;) On the other hand I can really understand them when I think
> of cmd.exe…
> Kind regards,
Thanks for the explanation. I keep thinking that we don't need the mkvinfo
I tried to use apps:mkvtoolnix-gui to build only that one the second time
around. While it works in build(), invoking drake install in install()
seems to ignore the argument and goes on to build everything else before
installing. Is that expected behavior or am I doing something wrong? Either
way, my CPU has seen worse, building the whole thing twice isn't that big
of a deal.
More information about the arch-general