See https://github.com/NixOS/nixpkgs/issues/15747. Previously this module was called `<unknown-file>`
in error messages, now it is called a bit more close to real:
```
module at /home/danbst/dev/nixpkgs/nixos/modules/virtualisation/containers.nix:470
```
The error can be reproduced like:
```
$ nix-instantiate ./nixos -A system --arg configuration '
{ fileSystems."/".device = "nodev";
boot.loader.grub.devices = [ "nodev" ];
containers.t.config.imports = [ <nixpkgs/nixos/modules/virtualisation/amazon-image.nix> ];
}'
```
Previously error was:
```
error: The unique option `containers.t.networking.hostName' is defined multiple times, in `/nix/var/nix/profiles/per-user/root/channels/nixpkgs/nixos/modules/virtualisation/amazon-image.nix' and `module at /home/danbst/dev/nixpkgs/nixos/modules/virtualisation/containers.nix:470'.
(use '--show-trace' to show detailed location information)
```
Now it is:
```
error: The unique option `containers.t.networking.hostName' is defined multiple times, in:
- /nix/var/nix/profiles/per-user/root/channels/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
- module at /home/danbst/dev/nixpkgs/nixos/modules/virtualisation/containers.nix:470.
(use '--show-trace' to show detailed location information)
```
Related: https://github.com/NixOS/nixpkgs/issues/15747
GCC 8.x is required to avoid the following error:
cc1plus: error: -Werror=class-memaccess: no option -Wclass-memaccess
If we build without "-Wno-error=class-memaccess" the build should fail
and the upstream requirements were raised from GCC 7 to GCC 8 anyway:
b2f821d3de
The two additional patches are required to avoid build errors like this:
/build/source/Telegram/ThirdParty/qtlottie/src/bodymovin/bmbase.cpp:123:12:
error: invalid use of incomplete type 'class QDebug'
qWarning()
^
In file included from
/nix/store/1qk60bhxcf95iicms7mkyjq3h7lz136p-qtbase-5.12.0-dev/include/QtCore/qglobal.h:1200,
from
/nix/store/1qk60bhxcf95iicms7mkyjq3h7lz136p-qtbase-5.12.0-dev/include/QtCore/qalgorithms.h:43,
from
/nix/store/1qk60bhxcf95iicms7mkyjq3h7lz136p-qtbase-5.12.0-dev/include/QtCore/qlist.h:43,
from
/nix/store/1qk60bhxcf95iicms7mkyjq3h7lz136p-qtbase-5.12.0-dev/include/QtCore/QList:1,
from
/build/source/Telegram/ThirdParty/qtlottie/src/bodymovin/bmbase.h:31,
from
/build/source/Telegram/ThirdParty/qtlottie/src/bodymovin/bmbase.cpp:29:
/nix/store/1qk60bhxcf95iicms7mkyjq3h7lz136p-qtbase-5.12.0-dev/include/QtCore/qlogging.h:57:7:
note: forward declaration of 'class QDebug'
class QDebug;
^~~~~~