public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Georgy Yakovlev" <gyakovlev@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-themes/tela-icon-theme/
Date: Sun,  2 Jan 2022 10:56:15 +0000 (UTC)	[thread overview]
Message-ID: <1641120946.16eefde25e8bb5a3b90132da965849f6854fb061.gyakovlev@gentoo> (raw)

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
 }


             reply	other threads:[~2022-01-02 10:56 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-02 10:56 Georgy Yakovlev [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-20  0:48 [gentoo-commits] repo/gentoo:master commit in: x11-themes/tela-icon-theme/ Eli Schwartz
2024-08-12  6:34 Joonas Niilola
2024-07-13  8:53 Joonas Niilola
2024-07-10  0:56 Sam James
2024-07-10  0:52 Sam James
2024-07-10  0:52 Sam James
2024-07-09 12:28 Joonas Niilola
2024-01-20 12:23 Sam James
2023-06-07 22:20 Georgy Yakovlev
2023-06-07 22:20 Georgy Yakovlev
2023-06-07 22:20 Georgy Yakovlev
2023-06-07 22:20 Georgy Yakovlev
2023-03-21  0:10 Georgy Yakovlev
2023-01-14 20:56 Georgy Yakovlev
2022-12-06  0:19 Georgy Yakovlev
2022-12-06  0:19 Georgy Yakovlev
2022-12-06  0:19 Georgy Yakovlev
2022-09-17 17:00 Georgy Yakovlev
2022-09-17 17:00 Georgy Yakovlev
2022-09-17 16:55 Georgy Yakovlev
2022-01-03 21:00 Georgy Yakovlev
2022-01-03  3:23 Georgy Yakovlev
2022-01-03  3:23 Georgy Yakovlev
2022-01-02 11:13 Georgy Yakovlev
2022-01-02 10:56 Georgy Yakovlev
2022-01-02 10:56 Georgy Yakovlev
2022-01-02 10:56 Georgy Yakovlev
2022-01-02 10:56 Georgy Yakovlev
2022-01-02 10:56 Georgy Yakovlev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1641120946.16eefde25e8bb5a3b90132da965849f6854fb061.gyakovlev@gentoo \
    --to=gyakovlev@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox