commit:     ded71238070e9894083d2775677cbecf6b07da4e
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  5 19:10:18 2023 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 15:52:27 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ded71238

eclass/nuget.eclass: partition dotnet-pkg_src_unpack

This enables easier usage of "nuget_link-nuget-archives"
in some special cases.

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 eclass/dotnet-pkg.eclass | 14 ++------------
 eclass/nuget.eclass      | 45 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 47 insertions(+), 12 deletions(-)

diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
index 201daf1ecce3..b4f0c053d69a 100644
--- a/eclass/dotnet-pkg.eclass
+++ b/eclass/dotnet-pkg.eclass
@@ -136,18 +136,8 @@ dotnet-pkg_pkg_setup() {
 # copied into the "NUGET_PACKAGES" directory.
 dotnet-pkg_src_unpack() {
        nuget_link-system-nugets
-
-       local archive
-       for archive in ${A} ; do
-               case "${archive}" in
-                       *.nupkg )
-                               nuget_link "${DISTDIR}/${archive}"
-                               ;;
-                       * )
-                               unpack "${archive}"
-                               ;;
-               esac
-       done
+       nuget_link-nuget-archives
+       nuget_unpack-non-nuget-archives
 }
 
 # @FUNCTION: dotnet-pkg_src_prepare

diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass
index 445dcdccd331..669e21300ef2 100644
--- a/eclass/nuget.eclass
+++ b/eclass/nuget.eclass
@@ -181,6 +181,51 @@ nuget_link-system-nugets() {
        done
 }
 
+# @FUNCTION: nuget_link-nuget-archives
+# @DESCRIPTION:
+# Link NuGet packages from package source files to the "NUGET_PACKAGES"
+# directory.
+#
+# This is a complementary function to "nuget_unpack-non-nuget-archives".
+#
+# This function is used inside "dotnet-pkg_src_unpack"
+# from the "dotnet-pkg" eclass.
+nuget_link-nuget-archives() {
+       local archive
+       for archive in ${A} ; do
+               case "${archive}" in
+                       *.nupkg )
+                               nuget_link "${DISTDIR}/${archive}"
+                               ;;
+                       * )
+                               :
+                               ;;
+               esac
+       done
+}
+
+# @FUNCTION: nuget_unpack-non-nuget-archives
+# @DESCRIPTION:
+# Unpack all from package source files that are not NuGet packages.
+#
+# This is a complementary function to "nuget_link-nuget-archives".
+#
+# This function is used inside "dotnet-pkg_src_unpack"
+# from the "dotnet-pkg" eclass.
+nuget_unpack-non-nuget-archives() {
+       local archive
+       for archive in ${A} ; do
+               case "${archive}" in
+                       *.nupkg )
+                               :
+                               ;;
+                       * )
+                               unpack "${archive}"
+                               ;;
+               esac
+       done
+}
+
 # @FUNCTION: nuget_donuget
 # @USAGE: <nuget-path> ...
 # @DESCRIPTION:

Reply via email to