You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
3.3 KiB
110 lines
3.3 KiB
From 9575301256f67116eccdbb99b38fc804ba3dcf53 Mon Sep 17 00:00:00 2001 |
|
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> |
|
Date: Mon, 18 Apr 2016 16:24:03 +0200 |
|
Subject: [PATCH] Provide ExtUtils::MM methods as standalone |
|
ExtUtils::MM::Utils |
|
MIME-Version: 1.0 |
|
Content-Type: text/plain; charset=UTF-8 |
|
Content-Transfer-Encoding: 8bit |
|
|
|
If you cannot afford depending on ExtUtils::MakeMaker, you can |
|
depend on ExtUtils::MM::Utils instead. |
|
|
|
<https://bugzilla.redhat.com/show_bug.cgi?id=1129443> |
|
|
|
Signed-off-by: Petr Písař <ppisar@redhat.com> |
|
--- |
|
MANIFEST | 1 + |
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm | 68 ++++++++++++++++++++++++ |
|
2 files changed, 69 insertions(+) |
|
create mode 100644 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm |
|
|
|
diff --git a/MANIFEST b/MANIFEST |
|
index 6af238c..d4f0c56 100644 |
|
--- a/MANIFEST |
|
+++ b/MANIFEST |
|
@@ -784,6 +784,7 @@ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2 |
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2 |
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm MakeMaker methods for QNX |
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm MakeMaker methods for Unix |
|
+cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm Independed MM methods |
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm MakeMaker methods for U/WIN |
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm MakeMaker methods for VMS |
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm MakeMaker methods for VOS |
|
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm |
|
new file mode 100644 |
|
index 0000000..6bbc0d8 |
|
--- /dev/null |
|
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm |
|
@@ -0,0 +1,68 @@ |
|
+package ExtUtils::MM::Utils; |
|
+ |
|
+require 5.006; |
|
+ |
|
+use strict; |
|
+use vars qw($VERSION); |
|
+$VERSION = '7.11_06'; |
|
+$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] |
|
+ |
|
+=head1 NAME |
|
+ |
|
+ExtUtils::MM::Utils - ExtUtils::MM methods without dependency on ExtUtils::MakeMaker |
|
+ |
|
+=head1 SYNOPSIS |
|
+ |
|
+ require ExtUtils::MM::Utils; |
|
+ MM->maybe_command($file); |
|
+ |
|
+=head1 DESCRIPTION |
|
+ |
|
+This is a collection of L<ExtUtils::MM> subroutines that are used by many |
|
+other modules but that do not need full-featured L<ExtUtils::MakeMaker>. The |
|
+issue with L<ExtUtils::MakeMaker> is it pulls in Perl header files and that is |
|
+an overkill for small subroutines. |
|
+ |
|
+An example is the L<IPC::Cmd> that caused installing GCC just because of |
|
+three-line I<maybe_command()> from L<ExtUtils::MM_Unix>. |
|
+ |
|
+The intentions is to use L<ExtUtils::MM::Utils> instead of |
|
+L<ExtUtils::MakeMaker> for these trivial methods. You can still call them via |
|
+L<MM> class name. |
|
+ |
|
+=head1 METHODS |
|
+ |
|
+=over 4 |
|
+ |
|
+=item maybe_command |
|
+ |
|
+Returns true, if the argument is likely to be a command. |
|
+ |
|
+=cut |
|
+ |
|
+if (!exists $INC{'ExtUtils/MM.pm'}) { |
|
+ *MM::maybe_command = *ExtUtils::MM::maybe_command = \&maybe_command; |
|
+} |
|
+ |
|
+sub maybe_command { |
|
+ my($self,$file) = @_; |
|
+ return $file if -x $file && ! -d $file; |
|
+ return; |
|
+} |
|
+ |
|
+1; |
|
+ |
|
+=back |
|
+ |
|
+=head1 BUGS |
|
+ |
|
+These methods are copied from L<ExtUtils::MM_Unix>. Other operating systems |
|
+are not supported yet. The reason is this |
|
+L<a hack for Linux |
|
+distributions|https://bugzilla.redhat.com/show_bug.cgi?id=1129443>. |
|
+ |
|
+=head1 SEE ALSO |
|
+ |
|
+L<ExtUtils::MakeMaker>, L<ExtUtils::MM> |
|
+ |
|
+=cut |
|
-- |
|
2.5.5 |
|
|
|
|