--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_AUTHOR=REHSACK
+DIST_VERSION=0.426
+inherit perl-module
+
+DESCRIPTION="Provide the missing functionality from List::Util"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="test +xs"
+# See MoreUtils.pm/LICENSE
+LICENSE="Apache-2.0 || ( Artistic GPL-1+ )"
+
+PDEPEND="xs? ( >=dev-perl/List-MoreUtils-XS-0.426.0 )"
+RDEPEND=">=dev-perl/Exporter-Tiny-0.38.0"
+DEPEND="${RDEPEND}
+ virtual/perl-ExtUtils-MakeMaker
+ test? ( >=virtual/perl-Test-Simple-0.960.0 )
+"
+PATCHES=("${FILESDIR}/${P}-xs-config.patch")
+src_configure() {
+ export LMU_USE_XS="$(usex xs 1 0)"
+ perl-module_src_configure
+}
--- /dev/null
+From 903ed372cad330e86ef767eb98a4d29d04781e5e Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentnl@gentoo.org>
+Date: Sat, 28 Oct 2017 14:53:23 +1300
+Subject: Use configuration instead of pure discovery for XS Support
+
+Given in Gentoo that ::XS is either going to be available, or not,
+based on user configuration, *before* configure runs, trying to turn
+it on/off in configure is nonsense.
+
+Subsequently, this test logic just determines if we should be running
+the XS tests or not.
+
+If ::XS is installed already, then XS tests should be run despite user
+not opting in to XS, as the opt-in only regulates dependencies, but
+LMU can still trigger ::XS at runtime.
+
+If the user opts in to XS, then the tests should be run regardless of
+perl detecting XS being installed, because XS *NOT* being available
+is then an error.
+---
+ Makefile.PL | 41 ++---------------------------------------
+ 1 file changed, 2 insertions(+), 39 deletions(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index 89680b1..5083b86 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -8,45 +8,8 @@ use 5.008_001;
+ use Config;
+ use ExtUtils::MakeMaker;
+
+-BEGIN
+-{
+- unless (grep { $_ eq "." } @INC)
+- {
+- use lib ".";
+- }
+-}
+-
+-use inc::latest 'Capture::Tiny';
+-use inc::latest 'Config::AutoConf';
+-
+-if (inc::latest->can("write"))
+-{
+- inc::latest->write("inc");
+- for my $mod (inc::latest->loaded_modules)
+- {
+- inc::latest->bundle_module($mod, "inc");
+- }
+-}
+-
+-use inc::Config::AutoConf::LMU ();
+-
+-inc::Config::AutoConf::LMU->_set_argv(@ARGV); # XXX hack because we cannot construct for global use
+-my $loadable_xs = inc::Config::AutoConf::LMU->check_produce_loadable_xs_build();
+-
+-if (-d "Sandbox")
+-{
+- unless (grep { $_ eq "." } @INC)
+- {
+- use lib ".";
+- }
+- eval "use Sandbox::Tumble ();";
+- $@ and die $@;
+- eval "use File::Path ();";
+- File::Path->import;
+- -d 't/xs' and rmtree('t/xs');
+- -d 't/pureperl' and rmtree('t/pureperl');
+- Sandbox::Tumble->tumble(qw(t));
+-}
++my $loadable_xs = $ENV{LMU_USE_XS} ||
++ eval { require List::MoreUtils::XS; List::MoreUtils::XS->VERSION(0.426) };
+
+ my $conflictMsg = <<EOCM;
+ ***
+--
+2.14.3
+