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

Signed-off-by: Maciej Barć <x...@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 201daf1ec..b4f0c053d 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 445dcdccd..669e21300 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:
-- 
2.41.0


Reply via email to