commit: 16eefde25e8bb5a3b90132da965849f6854fb061
Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 2 10:23:10 2022 +0000
Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sun Jan 2 10:55:46 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16eefde2
x11-themes/tela-icon-theme: add USE=hardlink to save space
Files: 180583
Linked: 166804 files
Compared: 0 xattrs
Compared: 1214946 files
Saved: 174.99 MiB
Duration: 156.305428 seconds
Before and after hardlinking:
x11-themes/tela-icon-theme: 438076 files, 824 non-files, 194.5M
x11-themes/tela-icon-theme: 438076 files (271272 unique), 824 non-files, 19.5M
Not bad, 10x savings.
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
x11-themes/tela-icon-theme/metadata.xml | 3 ++-
x11-themes/tela-icon-theme/tela-icon-theme-20211225.ebuild | 14 +++++++++++---
x11-themes/tela-icon-theme/tela-icon-theme-99999999.ebuild | 14 +++++++++++---
3 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/x11-themes/tela-icon-theme/metadata.xml
b/x11-themes/tela-icon-theme/metadata.xml
index 8c12ddafbb0d..aca9f0e9a88d 100644
--- a/x11-themes/tela-icon-theme/metadata.xml
+++ b/x11-themes/tela-icon-theme/metadata.xml
@@ -20,9 +20,10 @@
<flag name="yellow">Install yellow folder version</flag>
<flag name="manjaro">Install manjaro folder version</flag>
<flag name="ubuntu">Install ubuntu folder version</flag>
+ <flag name="hardlink">Hardlink duplicate icons to greatly
reduce installation size</flag>
</use>
<upstream>
-
<bugs-to>https://github.com/vinceliuice/Tela-icon-theme/issues/</bugs-to>
+
<bugs-to>https://github.com/vinceliuice/Tela-icon-theme/issues</bugs-to>
<remote-id type="github">vinceliuice/Tela-icon-theme</remote-id>
</upstream>
</pkgmetadata>
diff --git a/x11-themes/tela-icon-theme/tela-icon-theme-20211225.ebuild
b/x11-themes/tela-icon-theme/tela-icon-theme-20211225.ebuild
index a4310154d7d6..a3e95996c462 100644
--- a/x11-themes/tela-icon-theme/tela-icon-theme-20211225.ebuild
+++ b/x11-themes/tela-icon-theme/tela-icon-theme-20211225.ebuild
@@ -26,14 +26,18 @@ fi
LICENSE="GPL-3+"
SLOT="0"
-IUSE="+${MY_COLOR_VARIANTS[*]}" # this is why standard comes first
+IUSE="+${MY_COLOR_VARIANTS[*]} +hardlink" # this is why standard comes first
REQUIRED_USE="|| ( ${MY_COLOR_VARIANTS[*]} )"
-# not needed
+# not needed and slows us down, package installs 120 000 small files
RESTRICT="binchecks strip test"
-BDEPEND="app-shells/bash"
+# technically we can use app-arch/harlink too, but it's deprecated
+BDEPEND="
+ app-shells/bash
+ sys-apps/util-linux[hardlink(-)?]
+"
src_prepare() {
default
@@ -50,6 +54,10 @@ src_install() {
dodir /usr/share/icons
./install.sh -d "${ED}/usr/share/icons" "${variants[@]}" || die
+ if use hardlink; then
+ einfo "Linking duplicate icons... (may take a long time)"
+ hardlink -pot "${ED}/usr/share/icons" || die "hardlink failed"
+ fi
einstalldocs
}
diff --git a/x11-themes/tela-icon-theme/tela-icon-theme-99999999.ebuild
b/x11-themes/tela-icon-theme/tela-icon-theme-99999999.ebuild
index a4310154d7d6..a3e95996c462 100644
--- a/x11-themes/tela-icon-theme/tela-icon-theme-99999999.ebuild
+++ b/x11-themes/tela-icon-theme/tela-icon-theme-99999999.ebuild
@@ -26,14 +26,18 @@ fi
LICENSE="GPL-3+"
SLOT="0"
-IUSE="+${MY_COLOR_VARIANTS[*]}" # this is why standard comes first
+IUSE="+${MY_COLOR_VARIANTS[*]} +hardlink" # this is why standard comes first
REQUIRED_USE="|| ( ${MY_COLOR_VARIANTS[*]} )"
-# not needed
+# not needed and slows us down, package installs 120 000 small files
RESTRICT="binchecks strip test"
-BDEPEND="app-shells/bash"
+# technically we can use app-arch/harlink too, but it's deprecated
+BDEPEND="
+ app-shells/bash
+ sys-apps/util-linux[hardlink(-)?]
+"
src_prepare() {
default
@@ -50,6 +54,10 @@ src_install() {
dodir /usr/share/icons
./install.sh -d "${ED}/usr/share/icons" "${variants[@]}" || die
+ if use hardlink; then
+ einfo "Linking duplicate icons... (may take a long time)"
+ hardlink -pot "${ED}/usr/share/icons" || die "hardlink failed"
+ fi
einstalldocs
}