From a1452f6ed0393b0bcf419e05c77f73891de21129 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 28 Mar 2021 23:30:11 +0200 Subject: [PATCH] qt5.qtwebengine: fix source exceeding output limit This hack reduces the source derivation size from 3.7G to 450M by removing the src/3rparty submodule .git directory and compressing the whole directory. This is needed to avoid the 2G limit on hydra. --- .../libraries/qt-5/5.15/default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index ef0d2c82c02..c32f4b001e9 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -59,14 +59,29 @@ let rev = "a059e7404a6db799f4da0ad696e65ae9c854b4b0"; in { - version = "${branchName}-${lib.substring 0 8 rev}"; + version = "${branchName}-${lib.substring 0 7 rev}"; src = fetchgit { url = "https://github.com/qt/qtwebengine.git"; - sha256 = "19l1i4sk3pvnwbvz5s97jchqawfz8k1xmjza29bgvkp1zz96r0jx"; + sha256 = "1vdgxfbmx4z4qrm2g61dl64gqn3fv5f83jwpp7h1gyfx5z2qvfmv"; inherit rev branchName; fetchSubmodules = true; leaveDotGit = true; + name = "qtwebengine-${substring 0 7 rev}.tar.gz"; + postFetch = '' + # remove submodule .git directory + rm -rf $out/src/3rdparty/.git + + # compress to not exceed the 2GB output limit + mv $out source + # try to make a deterministic tarball + tar -I 'gzip -n' \ + --sort name \ + --mtime 1970-01-01 \ + --owner=root --group=root \ + --numeric-owner --mode=go=rX,u+rw,a-s \ + -cf $out source + ''; }; }; };