From c689e8404080c451f9495d75ce57dbdc428c717f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo?= Date: Wed, 1 Nov 2023 14:00:35 -0300 Subject: [PATCH 1/4] papirus-icon-theme: add update script --- .../data/icons/papirus-icon-theme/default.nix | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index be53cafa434a..4c4b14d412e1 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, pantheon, breeze-icons, gnome-icon-theme, hicolor-icon-theme, papirus-folders, color ? null }: +{ lib +, stdenvNoCC +, fetchFromGitHub +, gtk3 +, pantheon +, breeze-icons +, gnome-icon-theme +, hicolor-icon-theme +, papirus-folders +, color ? null +, gitUpdater +}: stdenvNoCC.mkDerivation rec { pname = "papirus-icon-theme"; @@ -11,7 +22,10 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-FcTNZgCdPlYjpheA3PfZBR3apOkDi4+RafQtXdqchGI="; }; - nativeBuildInputs = [ gtk3 papirus-folders ]; + nativeBuildInputs = [ + gtk3 + papirus-folders + ]; propagatedBuildInputs = [ pantheon.elementary-icon-theme @@ -24,6 +38,7 @@ stdenvNoCC.mkDerivation rec { installPhase = '' runHook preInstall + mkdir -p $out/share/icons mv {,e}Papirus* $out/share/icons @@ -35,6 +50,8 @@ stdenvNoCC.mkDerivation rec { runHook postInstall ''; + passthru.updateScript = gitUpdater { }; + meta = with lib; { description = "Papirus icon theme"; homepage = "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme"; From d28775dde5684dd625a8ffdb89dbb10329154393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo?= Date: Wed, 1 Nov 2023 14:08:55 -0300 Subject: [PATCH 2/4] papirus-icon-theme: 20230901 -> 20231101 --- pkgs/data/icons/papirus-icon-theme/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index 4c4b14d412e1..5b037a82269d 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -13,13 +13,13 @@ stdenvNoCC.mkDerivation rec { pname = "papirus-icon-theme"; - version = "20230901"; + version = "20231101"; src = fetchFromGitHub { owner = "PapirusDevelopmentTeam"; repo = pname; rev = version; - hash = "sha256-FcTNZgCdPlYjpheA3PfZBR3apOkDi4+RafQtXdqchGI="; + hash = "sha256-0ooHuMqGzlMLVTR/u+kCJLibfqTAtq662EG8i3JIzPA="; }; nativeBuildInputs = [ @@ -53,7 +53,7 @@ stdenvNoCC.mkDerivation rec { passthru.updateScript = gitUpdater { }; meta = with lib; { - description = "Papirus icon theme"; + description = "Pixel perfect icon theme for Linux"; homepage = "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme"; license = licenses.gpl3Only; # darwin gives hash mismatch in source, probably because of file names differing only in case From 41c836ad8e09696da42deadc6e95bfb2b089d712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo?= Date: Thu, 16 Nov 2023 17:20:01 -0300 Subject: [PATCH 3/4] papirus-icon-theme: add withElementary optional argument Upstream advices to make optional the installation of ePapirus and ePapirus-Dark icon themes, in order to reduce inodes and package size. Those themes are recommended for the ElementaryOS and Pantheon desktop environments. Therefore papirus-icon-theme does not include ePapirus* anymore. But the new epapirus-icon-theme includes all of them, and is suitable for use with ElementaryOS or Pantheon. --- pkgs/data/icons/papirus-icon-theme/default.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index 5b037a82269d..41af47eca5db 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -2,12 +2,12 @@ , stdenvNoCC , fetchFromGitHub , gtk3 -, pantheon , breeze-icons -, gnome-icon-theme +, elementary-icon-theme , hicolor-icon-theme , papirus-folders , color ? null +, withElementary ? false , gitUpdater }: @@ -28,10 +28,10 @@ stdenvNoCC.mkDerivation rec { ]; propagatedBuildInputs = [ - pantheon.elementary-icon-theme breeze-icons - gnome-icon-theme hicolor-icon-theme + ] ++ lib.optional withElementary [ + elementary-icon-theme ]; dontDropIconThemeCache = true; @@ -40,7 +40,7 @@ stdenvNoCC.mkDerivation rec { runHook preInstall mkdir -p $out/share/icons - mv {,e}Papirus* $out/share/icons + mv ${lib.optionalString withElementary "{,e}"}Papirus* $out/share/icons for theme in $out/share/icons/*; do ${lib.optionalString (color != null) "${papirus-folders}/bin/papirus-folders -t $theme -o -C ${color}"} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fcff0c1abea0..fb64bd24b996 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29267,6 +29267,8 @@ with pkgs; eduli = callPackage ../data/fonts/eduli { }; + epapirus-icon-theme = papirus-icon-theme.override { withElementary = true; }; + moeli = eduli; edusong = callPackage ../data/fonts/edusong { }; @@ -29800,6 +29802,7 @@ with pkgs; paper-icon-theme = callPackage ../data/icons/paper-icon-theme { }; papirus-icon-theme = callPackage ../data/icons/papirus-icon-theme { + inherit (pantheon) elementary-icon-theme; inherit (plasma5Packages) breeze-icons; }; From c4106756313c48e6488eea024ec8a4c8bf1679ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo?= Date: Tue, 21 Nov 2023 12:31:33 -0300 Subject: [PATCH 4/4] deepin.deepin-icon-theme: update icon cache before fixup This avoids updating icon cache of parent icon themes, which are added as symbolic links in the nix store (at the fixup phase), which is not writable. --- pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix index dbb3dd5bf5ab..9ab40fc0b337 100644 --- a/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix +++ b/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix @@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec { dontDropIconThemeCache = true; - postFixup = '' + preFixup = '' for theme in $out/share/icons/*; do gtk-update-icon-cache $theme done