summary refs log tree commit diff
diff options
context:
space:
mode:
authorJosé Romildo <malaquias@gmail.com>2021-11-14 10:49:57 -0300
committerJosé Romildo <malaquias@gmail.com>2021-11-14 10:49:57 -0300
commitfbbfc3edfa4a90743e0f0db179abb242da4c6a4c (patch)
tree4d5d8cfdce295dacbf5c885ec9f4840f0e1a399c
parentd234c03de8e3d1851f8ca285c96847e4d6682403 (diff)
downloadnixpkgs-fbbfc3edfa4a90743e0f0db179abb242da4c6a4c.tar
nixpkgs-fbbfc3edfa4a90743e0f0db179abb242da4c6a4c.tar.gz
nixpkgs-fbbfc3edfa4a90743e0f0db179abb242da4c6a4c.tar.bz2
nixpkgs-fbbfc3edfa4a90743e0f0db179abb242da4c6a4c.tar.lz
nixpkgs-fbbfc3edfa4a90743e0f0db179abb242da4c6a4c.tar.xz
nixpkgs-fbbfc3edfa4a90743e0f0db179abb242da4c6a4c.tar.zst
nixpkgs-fbbfc3edfa4a90743e0f0db179abb242da4c6a4c.zip
paper-icon-theme: replace duplicate files with symlinks
This reduces considerably the space used by the package.
-rw-r--r--pkgs/data/icons/paper-icon-theme/default.nix10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkgs/data/icons/paper-icon-theme/default.nix b/pkgs/data/icons/paper-icon-theme/default.nix
index 9ab6fe1b589..fc541f6e5b7 100644
--- a/pkgs/data/icons/paper-icon-theme/default.nix
+++ b/pkgs/data/icons/paper-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, gtk3, gnome, gnome-icon-theme, hicolor-icon-theme }:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, gtk3, gnome, gnome-icon-theme, hicolor-icon-theme, jdupes }:
 
 stdenv.mkDerivation rec {
   pname = "paper-icon-theme";
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     gtk3
+    jdupes
   ];
 
   propagatedBuildInputs = [
@@ -25,9 +26,16 @@ stdenv.mkDerivation rec {
 
   dontDropIconThemeCache = true;
 
+  # These fixup steps are slow and unnecessary for this package
+  dontPatchELF = true;
+  dontRewriteSymlinks = true;
+
   postInstall = ''
     # The cache for Paper-Mono-Dark is missing
     gtk-update-icon-cache "$out"/share/icons/Paper-Mono-Dark;
+
+    # replace duplicate files with symlinks
+    jdupes -l -r $out/share/icons
   '';
 
   meta = with lib; {