Merge pull request #85229 from romildo/fix.icon-theme-inheritance

tree-wide: add missing parent icon themes
This commit is contained in:
José Romildo Malaquias 2020-04-21 10:31:09 -03:00 committed by GitHub
commit 663d995b7b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 216 additions and 93 deletions

View file

@ -1,20 +1,25 @@
{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, gnome3, moka-icon-theme, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
name = "${package-name}-${version}";
package-name = "arc-icon-theme";
pname = "arc-icon-theme";
version = "2016-11-22";
src = fetchFromGitHub {
owner = "horst3180";
repo = package-name;
repo = pname;
rev = "55a575386a412544c3ed2b5617a61f842ee4ec15";
sha256 = "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd";
};
nativeBuildInputs = [ autoreconfHook gtk3 moka-icon-theme ];
nativeBuildInputs = [
autoreconfHook
gtk3
];
propagatedBuildInputs = [
moka-icon-theme
gnome3.adwaita-icon-theme
gnome-icon-theme
hicolor-icon-theme
];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, pkgconfig, gdk-pixbuf, optipng, librsvg, gtk3, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, pkgconfig, gdk-pixbuf, optipng, librsvg, gtk3, pantheon, gnome3, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "elementary-xfce-icon-theme";
@ -11,9 +11,18 @@ stdenv.mkDerivation rec {
sha256 = "1f6qvpzxz759znishmr4b22n540y18glv41wmy91r78sa4g6x4sh";
};
nativeBuildInputs = [ pkgconfig gdk-pixbuf librsvg optipng gtk3 ];
nativeBuildInputs = [
pkgconfig
gdk-pixbuf
librsvg
optipng
gtk3
];
propagatedBuildInputs = [
pantheon.elementary-icon-theme
gnome3.adwaita-icon-theme
gnome-icon-theme
hicolor-icon-theme
];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
name = "${package-name}-${version}";
@ -12,9 +12,16 @@ stdenv.mkDerivation rec {
sha256 = "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n";
};
nativeBuildInputs = [ meson ninja python3 gtk3 pantheon.elementary-icon-theme ];
nativeBuildInputs = [
meson
ninja
python3
gtk3
];
propagatedBuildInputs = [
pantheon.elementary-icon-theme
gnome-icon-theme
hicolor-icon-theme
];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, faba-icon-theme, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "faba-mono-icons";
@ -11,15 +11,21 @@ stdenv.mkDerivation rec {
sha256 = "0nisfl92y6hrbakp9qxi0ygayl6avkzrhwirg6854bwqjy2dvjv9";
};
nativeBuildInputs = [ autoreconfHook gtk3 moka-icon-theme ];
nativeBuildInputs = [
autoreconfHook
gtk3
];
propagatedBuildInputs = [
moka-icon-theme
faba-icon-theme
gnome-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
postFixup = ''
postInstall = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub , gtk3 }:
{ stdenv, fetchFromGitHub , gtk3, breeze-icons, pantheon, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "flat-remix-icon-theme";
@ -11,14 +11,23 @@ stdenv.mkDerivation rec {
sha256 = "14n5wydhd5ifmsbj770s2qg2ksd3xa3m61qxydid6jq39k0lxbd8";
};
nativeBuildInputs = [ gtk3 ];
nativeBuildInputs = [
gtk3
];
propagatedBuildInputs = [
breeze-icons
pantheon.elementary-icon-theme
gnome-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
installPhase = ''
mkdir -p $out/share/icons
mv Flat-Remix* $out/share/icons/
'';
postFixup = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done
@ -31,4 +40,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
maintainers = with maintainers; [ mschneider ];
};
}
}

View file

@ -11,3 +11,43 @@ hicolorIconThemeHook() {
# I think this is meant to be a runtime dep
addEnvHooks "${targetOffset:?}" hicolorIconThemeHook
# Make symbolic links of parent icon themes that are inherited in the
# icon themes installed by the package.
symlinkParentIconThemes() {
if [ -e $out/share/icons ]; then
echo Symlinking parent icon themes...
local theme
local theme_name
local inheritance
local parent
local parent_theme
local dir
local parent_path
for theme in $out/share/icons/*/index.theme; do
theme_name="${theme%/*}"
theme_name="${theme_name##*/}"
echo " theme: $theme_name"
inheritance=$(sed -rne 's,^Inherits=(.*)$,\1,p' $theme)
IFS=',' read -ra parent_themes <<< "$inheritance"
for parent_theme in "${parent_themes[@]}"; do
parent_path=""
if [ -e "$out/share/icons/$parent_theme" ]; then
parent_path="$(realpath $out/share/icons/$parent_theme)"
else
IFS=':' read -ra dirs <<< $XDG_ICON_DIRS
for parent_dir in "${dirs[@]}"; do
if [ -e "$parent_dir/icons/$parent_theme/index.theme" ]; then
parent_path=$(realpath "$parent_dir/icons/$parent_theme")
ln -s "$parent_path" "$out/share/icons/"
break
fi
done
fi
echo " parent: $parent_theme -> $parent_path"
done
done
fi
}
preFixupHooks+=(symlinkParentIconThemes)

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, gtk3, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "iconpack-jade";
@ -13,16 +13,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gtk3 ];
propagatedBuildInputs = [ hicolor-icon-theme ];
propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ];
dontDropIconThemeCache = true;
installPhase = ''
mkdir -p $out/share/icons
cp -a Jade* $out/share/icons
'';
mkdir -p $out/share/icons
cp -a Jade* $out/share/icons
postFixup = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, gtk3, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "iconpack-obsidian";
@ -13,16 +13,15 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gtk3 ];
propagatedBuildInputs = [ hicolor-icon-theme ];
propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ];
# still missing parent themes: Ambiant-MATE, Mint-X, Faenza-Dark, KFaenza
dontDropIconThemeCache = true;
installPhase = ''
mkdir -p $out/share/icons
mv Obsidian* $out/share/icons
'';
mkdir -p $out/share/icons
mv Obsidian* $out/share/icons
postFixup = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done

View file

@ -27,7 +27,7 @@ stdenv.mkDerivation {
dontDropIconThemeCache = true;
postFixup = ''
postInstall = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done

View file

@ -11,9 +11,15 @@ stdenv.mkDerivation rec {
sha256 = "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd";
};
nativeBuildInputs = [ meson ninja gtk3 python3 faba-icon-theme ];
nativeBuildInputs = [
meson
ninja
gtk3
python3
];
propagatedBuildInputs = [
faba-icon-theme
hicolor-icon-theme
];

View file

@ -13,18 +13,16 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gtk3 ];
buildInputs = [ numix-icon-theme ];
propagatedBuildInputs = [ hicolor-icon-theme ];
propagatedBuildInputs = [ numix-icon-theme hicolor-icon-theme ];
dontDropIconThemeCache = true;
installPhase = ''
install -dm 755 $out/share/icons
cp -dr --no-preserve='ownership' Numix-Circle{,-Light} $out/share/icons/
'';
runHook preInstall
mkdir -p $out/share/icons
cp -a Numix-Circle{,-Light} $out/share/icons
postFixup = ''
for panel in $out/share/icons/*/*/panel; do
ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
done
@ -32,6 +30,8 @@ stdenv.mkDerivation rec {
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done
runHook postInstall
'';
meta = with stdenv.lib; {

View file

@ -13,18 +13,16 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gtk3 ];
buildInputs = [ numix-icon-theme ];
propagatedBuildInputs = [ hicolor-icon-theme ];
propagatedBuildInputs = [ numix-icon-theme hicolor-icon-theme ];
dontDropIconThemeCache = true;
installPhase = ''
mkdir -p $out/share/icons
cp -a Numix-Square{,-Light} $out/share/icons/
'';
runHook preInstall
mkdir -p $out/share/icons
cp -a Numix-Square{,-Light} $out/share/icons
postFixup = ''
for panel in $out/share/icons/*/*/panel; do
ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
done
@ -32,6 +30,8 @@ stdenv.mkDerivation rec {
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done
runHook postInstall
'';
meta = with stdenv.lib; {

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, gtk3, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "numix-icon-theme";
@ -13,18 +13,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gtk3 ];
propagatedBuildInputs = [
hicolor-icon-theme
];
propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ];
dontDropIconThemeCache = true;
installPhase = ''
mkdir -p $out/share/icons
cp -a Numix{,-Light} $out/share/icons/
'';
postFixup = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, gnome3, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "paper-icon-theme";
@ -11,9 +11,16 @@ stdenv.mkDerivation rec {
sha256 = "0x45zkjnmbz904df63ph06npbm3phpgck4xwyymx8r8jgrfplk6v";
};
nativeBuildInputs = [ meson ninja gtk3 python3 ];
nativeBuildInputs = [
meson
ninja
gtk3
python3
];
propagatedBuildInputs = [
gnome3.adwaita-icon-theme
gnome-icon-theme
hicolor-icon-theme
];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, gtk3, pantheon, breeze-icons, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "papirus-icon-theme";
@ -11,18 +11,23 @@ stdenv.mkDerivation rec {
sha256 = "0qv4340avm5s0640r8aznbfwjzvm6k64840qggyg9jfcy6223pdy";
};
nativeBuildInputs = [ gtk3 ];
nativeBuildInputs = [
gtk3
];
propagatedBuildInputs = [ hicolor-icon-theme ];
propagatedBuildInputs = [
pantheon.elementary-icon-theme
breeze-icons
gnome-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
installPhase = ''
mkdir -p $out/share/icons
mv {,e}Papirus* $out/share/icons
'';
mkdir -p $out/share/icons
mv {,e}Papirus* $out/share/icons
postFixup = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, gtk3 }:
{ stdenv, fetchFromGitHub, cmake, gtk3, breeze-icons, gnome-icon-theme, papirus-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "papirus-maia-icon-theme";
@ -16,11 +16,20 @@ stdenv.mkDerivation rec {
gtk3
];
propagatedBuildInputs = [
breeze-icons
gnome-icon-theme
papirus-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
postPatch = ''
substituteInPlace CMakeLists.txt --replace /usr "$out"
'';
postFixup = ''
postInstall = ''
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, gtk3 }:
{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "qogir-icon-theme";
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gtk3 ];
propagatedBuildInputs = [ hicolor-icon-theme ];
dontDropIconThemeCache = true;
installPhase = ''

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, intltool, pkgconfig, iconnamingutils, imagemagick, librsvg
, gtk/*any version*/, hicolor-icon-theme
, gtk/*any version*/, gnome-icon-theme, hicolor-icon-theme
}:
stdenv.mkDerivation rec {
@ -14,10 +14,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool iconnamingutils imagemagick librsvg ];
propagatedBuildInputs = [
hicolor-icon-theme
];
propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ];
# still missing parent icon themes: cristalsvg
dontDropIconThemeCache = true;

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, gtk3, breeze-icons, gnome-icon-theme, numix-icon-theme, numix-icon-theme-circle, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "zafiro-icons";
@ -11,10 +11,17 @@ stdenv.mkDerivation rec {
sha256 = "05h8qm9izjbp8pnl9jpbw3y9sddhp0zmg94fm1k4d4hhdqnakqhv";
};
nativeBuildInputs = [ gtk3 ];
nativeBuildInputs = [
gtk3
];
propagatedBuildInputs = [
breeze-icons
gnome-icon-theme
numix-icon-theme
numix-icon-theme-circle
hicolor-icon-theme
# still missing parent icon themes: Surfn
];
dontDropIconThemeCache = true;

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, meson, sassc, pkg-config, glib, ninja,
python3, gtk3, gnome3, gtk-engine-murrine }:
python3, gtk3, gnome3, gtk-engine-murrine, humanity-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "yaru";
@ -14,9 +14,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
buildInputs = [ gtk3 gnome3.gnome-themes-extra ];
propagatedBuildInputs = [ humanity-icon-theme hicolor-icon-theme ];
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
dontDropIconThemeCache = true;
postPatch = "patchShebangs .";
meta = with stdenv.lib; {

View file

@ -1,6 +1,7 @@
{ fetchFromGitHub
, stdenv
, gnome3
, gnome-icon-theme
, hicolor-icon-theme
, gtk3
}:
@ -16,8 +17,9 @@ stdenv.mkDerivation rec {
sha256 = "1c2a79ylk363i982czwwqcwc7cw6dyzlqphcypqm6nll7xlafq8s";
};
propagatedUserEnvPkgs = [
propagatedBuildInputs = [
gnome3.adwaita-icon-theme
gnome-icon-theme
hicolor-icon-theme
];
@ -25,15 +27,19 @@ stdenv.mkDerivation rec {
gtk3
];
postFixup = ''
gtk-update-icon-cache $out/share/icons/*
'';
dontDropIconThemeCache = true;
installPhase = ''
runHook preInstall
mkdir -p $out
mv usr/share $out
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done
runHook postInstall
'';
meta = with stdenv.lib; {

View file

@ -13,9 +13,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gtk3 xcursorgen ];
buildInputs = [ papirus-icon-theme ];
propagatedBuildInputs = [
papirus-icon-theme
hicolor-icon-theme
];

View file

@ -1,12 +1,11 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib,
avahi, bullet, check, curl, dbus, doxygen, expat, fontconfig,
freetype, fribidi, ghostscript, giflib, glib, gst_all_1, gtk3,
harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput, libjpeg, libpng,
libpulseaudio, libraw, librsvg, libsndfile, libspectre, libtiff,
libwebp, libxkbcommon, luajit, lz4, mesa, openjpeg, openssl,
poppler, python27Packages, systemd, udev, utillinux, writeText,
xorg, zlib
}:
harfbuzz, hicolor-icon-theme, ibus, jbig2dec, libGL, libdrm,
libinput, libjpeg, libpng, libpulseaudio, libraw, librsvg,
libsndfile, libspectre, libtiff, libwebp, libxkbcommon, luajit, lz4,
mesa, openjpeg, openssl, poppler, python27Packages, systemd, udev,
utillinux, writeText, xorg, zlib }:
stdenv.mkDerivation rec {
pname = "efl";
@ -51,6 +50,7 @@ stdenv.mkDerivation rec {
xorg.libXcursor
xorg.xorgproto
zlib
# still missing parent icon themes: Mint-X, RAVE-X, Faenza
];
propagatedBuildInputs = [
@ -95,6 +95,8 @@ stdenv.mkDerivation rec {
xorg.xcbutilkeysyms
];
dontDropIconThemeCache = true;
mesonFlags = [
"--buildtype=release"
"-D build-tests=false" # disable build tests, which are not working

View file

@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk3 ];
dontDropIconThemeCache = true;
# remove a tree of dirs with no files within
postInstall = '' rm -rf "$out/locale" '';

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, intltool, gtk3, gnome3, librsvg, pkgconfig, pango, atk, gtk2
, gdk-pixbuf }:
, gdk-pixbuf, hicolor-icon-theme }:
let
pname = "gnome-themes-extra";
@ -19,9 +19,12 @@ in stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkgconfig intltool ];
buildInputs = [ gtk3 librsvg pango atk gtk2 gdk-pixbuf gnome3.adwaita-icon-theme ];
buildInputs = [ gtk3 librsvg pango atk gtk2 gdk-pixbuf ];
propagatedBuildInputs = [ gnome3.adwaita-icon-theme hicolor-icon-theme ];
postFixup = ''
dontDropIconThemeCache = true;
postInstall = ''
gtk-update-icon-cache "$out"/share/icons/HighContrast
'';

View file

@ -11,11 +11,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook gtk3 ];
buildInputs = [ mate.mate-icon-theme ];
propagatedBuildInputs = [
hicolor-icon-theme
];
propagatedBuildInputs = [ mate.mate-icon-theme hicolor-icon-theme ];
dontDropIconThemeCache = true;

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, xfce }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gnome-icon-theme, tango-icon-theme, hicolor-icon-theme, xfce }:
let
category = "art";
@ -19,6 +19,15 @@ stdenv.mkDerivation rec {
gtk3
];
buildInputs = [
gnome-icon-theme
tango-icon-theme
hicolor-icon-theme
# missing parent icon theme Industrial
];
dontDropIconThemeCache = true;
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";