commit:     93e113d4477dccfc195947272eeb76cc6e9d42ef
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 13 06:51:23 2018 +0000
Commit:     Richard Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Thu Jun 28 14:43:05 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93e113d4

net-analyzer/wireshark: Fix install to avoid calling doins per-file

Call doins per-directory rather than per-file.  doins accept multiple
arguments, so it's entirely silly to iterate and call it separately
for each file; not to mention that thanks to new Python implementation
in Portage it is veeeeery slow.  This patch reduces install time by
around 10 minutes.

Closes: https://bugs.gentoo.org/656834

 net-analyzer/wireshark/wireshark-2.6.1.ebuild | 41 +++++++++++----------------
 1 file changed, 17 insertions(+), 24 deletions(-)

diff --git a/net-analyzer/wireshark/wireshark-2.6.1.ebuild 
b/net-analyzer/wireshark/wireshark-2.6.1.ebuild
index b9152684e6e..efde4f468e8 100644
--- a/net-analyzer/wireshark/wireshark-2.6.1.ebuild
+++ b/net-analyzer/wireshark/wireshark-2.6.1.ebuild
@@ -176,31 +176,24 @@ src_install() {
        dodoc AUTHORS ChangeLog NEWS README* doc/randpkt.txt doc/README*
 
        # install headers
-       local wsheader
-       for wsheader in \
-               epan/*.h \
-               epan/crypt/*.h \
-               epan/dfilter/*.h \
-               epan/dissectors/*.h \
-               epan/ftypes/*.h \
-               epan/wmem/*.h \
-               wiretap/*.h \
-               ws_diag_control.h \
-               ws_symbol_export.h \
-               wsutil/*.h
-       do
-               echo "Installing ${wsheader}"
-               insinto /usr/include/wireshark/$( dirname ${wsheader} )
-               doins ${wsheader}
-       done
-
-       for wsheader in \
-               ../${P}_build/config.h \
-               ../${P}_build/version.h
+       insinto /usr/include/wireshark
+       doins ws_diag_control.h ws_symbol_export.h \
+               "${BUILD_DIR}"/config.h "${BUILD_DIR}"/version.h
+
+       local dir dirs=(
+               epan
+               epan/crypt
+               epan/dfilter
+               epan/dissectors
+               epan/ftypes
+               epan/wmem
+               wiretap
+               wsutil
+       )
+       for dir in "${dirs[@]}"
        do
-               echo "Installing ${wsheader}"
-               insinto /usr/include/wireshark
-               doins ${wsheader}
+               insinto /usr/include/wireshark/${dir}
+               doins ${dir}/*.h
        done
 
        #with the above this really shouldn't be needed, but things may be 
looking

Reply via email to