sys-boot/grub: populate MULTIBUILD_VARIANTS in a more PMS-defined way
authorMike Gilbert <floppym@gentoo.org>
Wed, 27 Apr 2016 17:53:01 +0000 (13:53 -0400)
committerMike Gilbert <floppym@gentoo.org>
Wed, 27 Apr 2016 17:53:17 +0000 (13:53 -0400)
Package-Manager: portage-2.2.28_p79

sys-boot/grub/grub-2.02_beta3-r1.ebuild
sys-boot/grub/grub-9999-r1.ebuild

index 99531f1d3e5d433279118c3c9c91a79bb8baf12d..ab057948df5fd2f7f6fe0d7581f209104b054cb2 100644 (file)
@@ -215,6 +215,19 @@ grub_configure() {
        ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
 }
 
+grub_get_platforms() {
+       MULTIBUILD_VARIANTS=()
+       local platform
+       for platform in "${GRUB_ALL_PLATFORMS[@]}"; do
+               if use "grub_platforms_${platform}"; then
+                       MULTIBUILD_VARIANTS+=( "${platform}" )
+               fi
+       done
+       if (( ${#MULTIBUILD_VARIANTS[@]} == 0 )); then
+               MULTIBUILD_VARIANTS=( guessed )
+       fi
+}
+
 src_configure() {
        # Bug 508758.
        replace-flags -O3 -O2
@@ -236,7 +249,7 @@ src_configure() {
        tc-export BUILD_CC # Bug 485592
 
        # Portage will take care of cleaning up GRUB_PLATFORMS
-       MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
+       grub_get_platforms
        grub_do grub_configure
 }
 
index 350857b9672c1cd7e96650cbc1c3d5cea421044a..c880d12e4920e0358f78f749a55d23fb772cd9fb 100644 (file)
@@ -217,6 +217,19 @@ grub_configure() {
        ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
 }
 
+grub_get_platforms() {
+       MULTIBUILD_VARIANTS=()
+       local platform
+       for platform in "${GRUB_ALL_PLATFORMS[@]}"; do
+               if use "grub_platforms_${platform}"; then
+                       MULTIBUILD_VARIANTS+=( "${platform}" )
+               fi
+       done
+       if (( ${#MULTIBUILD_VARIANTS[@]} == 0 )); then
+               MULTIBUILD_VARIANTS=( guessed )
+       fi
+}
+
 src_configure() {
        # Bug 508758.
        replace-flags -O3 -O2
@@ -238,7 +251,7 @@ src_configure() {
        tc-export BUILD_CC # Bug 485592
 
        # Portage will take care of cleaning up GRUB_PLATFORMS
-       MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
+       grub_get_platforms
        grub_do grub_configure
 }