[libfile-mmagic-xs-perl] 03/08: Drop M::I::XSUtil.pm.diff.

gregor herrmann gregoa at debian.org
Fri Dec 27 21:01:48 UTC 2013


This is an automated email from the git hooks/post-receive script.

gregoa pushed a commit to branch master
in repository libfile-mmagic-xs-perl.

commit cb4f31326733d86779c453cb5d4bff05e554d91e
Author: gregor herrmann <gregoa at debian.org>
Date:   Fri Dec 27 21:47:01 2013 +0100

    Drop M::I::XSUtil.pm.diff.
    
    Upstream upgraded their version in inc/.
---
 debian/patches/M::I::XSUtil.pm.diff | 656 ------------------------------------
 debian/patches/series               |   1 -
 2 files changed, 657 deletions(-)

diff --git a/debian/patches/M::I::XSUtil.pm.diff b/debian/patches/M::I::XSUtil.pm.diff
deleted file mode 100644
index 5b3c5c1..0000000
--- a/debian/patches/M::I::XSUtil.pm.diff
+++ /dev/null
@@ -1,656 +0,0 @@
-Description: ship a newer Module::Install::XSUtil that's compatible with recent perls
-Origin: vendor
-Bug: https://rt.cpan.org/Public/Bug/Display.html?id=63048
-Bug-Debian: http://bugs.debian.org/708076
-Forwarded: not-needed
-Author: gregor herrmann <gregoa at debian.org>
-Last-Update: 2013-05-13
-
---- a/inc/Module/Install/XSUtil.pm
-+++ b/inc/Module/Install/XSUtil.pm
-@@ -1,9 +1,8 @@
--#line 1
- package Module::Install::XSUtil;
- 
- use 5.005_03;
- 
--$VERSION = '0.24';
-+$VERSION = '0.44';
- 
- use Module::Install::Base;
- @ISA     = qw(Module::Install::Base);
-@@ -18,19 +17,21 @@
- use constant _VERBOSE => $ENV{MI_VERBOSE} ? 1 : 0;
- 
- my %ConfigureRequires = (
--    # currently nothing
-+    'ExtUtils::ParseXS' => 2.21,
- );
- 
- my %BuildRequires = (
--    'ExtUtils::ParseXS' => 2.21, # the newer, the better
- );
- 
- my %Requires = (
--    'XSLoader' => 0.10, # the newer, the better
-+    'XSLoader' => 0.02,
- );
- 
- my %ToInstall;
- 
-+my $UseC99       = 0;
-+my $UseCplusplus = 0;
-+
- sub _verbose{
-     print STDERR q{# }, @_, "\n";
- }
-@@ -46,8 +47,8 @@
-         $self->{xsu_initialized} = 1;
- 
-         if(!$self->cc_available()){
--            print "This package requires a C compiler, but it's not available.\n";
--            exit(0);
-+            warn "This distribution requires a C compiler, but it's not available, stopped.\n";
-+            exit;
-         }
- 
-         $self->configure_requires(%ConfigureRequires);
-@@ -64,7 +65,7 @@
-                 $self->makemaker_args->{OPTIMIZE} = '-Zi';
-             }
-             else{
--                $self->makemaker_args->{OPTIMIZE} = '-g';
-+                $self->makemaker_args->{OPTIMIZE} = '-g -ggdb -g3';
-             }
-             $self->cc_define('-DXS_ASSERT');
-         }
-@@ -92,25 +93,44 @@
-         ;
-     }
- 
-+    # cf. https://github.com/sjn/toolchain-site/blob/219db464af9b2f19b04fec05547ac10180a469f3/lancaster-consensus.md
-     my $want_xs;
-     sub want_xs {
--        my $default = @_ ? shift : 1; # you're using this module, you /must/ want XS by default
-+        my($self, $default) = @_;
-         return $want_xs if defined $want_xs;
- 
-+        # you're using this module, you must want XS by default
-+        # unless PERL_ONLY is true.
-+        $default = !$ENV{PERL_ONLY} if not defined $default;
-+
-         foreach my $arg(@ARGV){
--            if($arg eq '--pp'){
-+
-+            my ($k, $v) = split '=', $arg; # MM-style named args
-+            if ($k eq 'PUREPERL_ONLY' && defined $v) {
-+                return $want_xs = !$v;
-+            }
-+            elsif($arg eq '--pp'){ # old-style
-                 return $want_xs = 0;
-             }
-             elsif($arg eq '--xs'){
-                 return $want_xs = 1;
-             }
-         }
-+
-+        if ($ENV{PERL_MM_OPT}) {
-+            my($v) = $ENV{PERL_MM_OPT} =~ /\b PUREPERL_ONLY = (\S+) /xms;
-+            if (defined $v) {
-+                return $want_xs = !$v;
-+            }
-+        }
-+
-         return $want_xs = $default;
-     }
- }
- 
- sub use_ppport{
-     my($self, $dppp_version) = @_;
-+    return if $self->{_ppport_ok}++;
- 
-     $self->_xs_initialize();
- 
-@@ -142,28 +162,60 @@
-     return;
- }
- 
-+sub use_xshelper {
-+    my($self, $opt) = @_;
-+    $self->_xs_initialize();
-+    $self->use_ppport();
-+
-+    my $file = 'xshelper.h';
-+    open my $fh, '>', $file or die "Cannot open $file for writing: $!";
-+    print $fh $self->_xshelper_h();
-+    close $fh or die "Cannot close $file: $!";
-+    if(defined $opt) {
-+        if($opt eq '-clean') {
-+            $self->clean_files($file);
-+        }
-+        else {
-+            $self->realclean_files($file);
-+        }
-+    }
-+    return;
-+}
-+
-+sub _gccversion {
-+    my $res = `$Config{cc} --version`;
-+    my ($version) = $res =~ /\(GCC\) ([0-9.]+)/;
-+    no warnings 'numeric', 'uninitialized';
-+    return sprintf '%g', $version;
-+}
-+
- sub cc_warnings{
-     my($self) = @_;
- 
-     $self->_xs_initialize();
- 
-     if(_is_gcc()){
--        # Note: MSVC++ doesn't support C99, so -Wdeclaration-after-statement helps ensure C89 specs.
-         $self->cc_append_to_ccflags(qw(-Wall));
- 
--        no warnings 'numeric';
--        if($Config{gccversion} >= 4.0){
--            $self->cc_append_to_ccflags('-Wextra -Wdeclaration-after-statement');
--            if($Config{gccversion} >= 4.1){
--                $self->cc_append_to_ccflags('-Wc++-compat');
-+        my $gccversion = _gccversion();
-+        if($gccversion >= 4.0){
-+            $self->cc_append_to_ccflags(qw(-Wextra));
-+            if(!($UseC99 or $UseCplusplus)) {
-+                # Note: MSVC++ doesn't support C99,
-+                # so -Wdeclaration-after-statement helps
-+                # ensure C89 specs.
-+                $self->cc_append_to_ccflags(qw(-Wdeclaration-after-statement));
-+            }
-+            if($gccversion >= 4.1 && !$UseCplusplus) {
-+                $self->cc_append_to_ccflags(qw(-Wc++-compat));
-             }
-         }
-         else{
--            $self->cc_append_to_ccflags('-W -Wno-comment');
-+            $self->cc_append_to_ccflags(qw(-W -Wno-comment));
-         }
-     }
-     elsif(_is_msvc()){
--        $self->cc_append_to_ccflags('-W3');
-+        $self->cc_append_to_ccflags(qw(-W3));
-     }
-     else{
-         # TODO: support other compilers
-@@ -172,6 +224,60 @@
-     return;
- }
- 
-+sub c99_available {
-+    my($self) = @_;
-+
-+    return 0 if not $self->cc_available();
-+
-+    require File::Temp;
-+    require File::Basename;
-+
-+    my $tmpfile = File::Temp->new(SUFFIX => '.c');
-+
-+    $tmpfile->print(<<'C99');
-+// include a C99 header
-+#include <stdbool.h>
-+inline // a C99 keyword with C99 style comments
-+int test_c99() {
-+    int i = 0;
-+    i++;
-+    int j = i - 1; // another C99 feature: declaration after statement
-+    return j;
-+}
-+C99
-+
-+    $tmpfile->close();
-+
-+    system "$Config{cc} -c " . $tmpfile->filename;
-+
-+    (my $objname = File::Basename::basename($tmpfile->filename)) =~ s/\Q.c\E$/$Config{_o}/;
-+    unlink $objname or warn "Cannot unlink $objname (ignored): $!";
-+
-+    return $? == 0;
-+}
-+
-+sub requires_c99 {
-+    my($self) = @_;
-+    if(!$self->c99_available) {
-+        warn "This distribution requires a C99 compiler, but $Config{cc} seems not to support C99, stopped.\n";
-+        exit;
-+    }
-+    $self->_xs_initialize();
-+    $UseC99 = 1;
-+    return;
-+}
-+
-+sub requires_cplusplus {
-+    my($self) = @_;
-+    if(!$self->cc_available) {
-+        warn "This distribution requires a C++ compiler, but $Config{cc} seems not to support C++, stopped.\n";
-+        exit;
-+    }
-+    $self->_xs_initialize();
-+    $UseCplusplus = 1;
-+    return;
-+}
-+
- sub cc_append_to_inc{
-     my($self, @dirs) = @_;
- 
-@@ -242,7 +348,7 @@
- 
-     if ( ! $self->{xsu_loaded_checklib} ) {
-         my $loaded_lib = 0;
--        foreach my $checklib qw(inc::Devel::CheckLib Devel::CheckLib) {
-+        foreach my $checklib (qw(inc::Devel::CheckLib Devel::CheckLib)) {
-             eval "use $checklib 0.4";
-             if (!$@) {
-                 $loaded_lib = 1;
-@@ -290,7 +396,7 @@
-     return;
- }
- 
--sub requires_xs{
-+sub requires_xs_module {
-     my $self  = shift;
- 
-     return $self->requires() unless @_;
-@@ -339,7 +445,7 @@
-     $self->cc_append_to_inc (grep{ !$uniq{ $_ }++ } @inc);
- 
-     %uniq = ();
--    $self->cc_append_to_libs(grep{ !$uniq{ $_->[0] }++ } @libs);
-+    $self->cc_libs(grep{ !$uniq{ $_->[0] }++ } @libs);
- 
-     return %added;
- }
-@@ -365,9 +471,10 @@
-         }
-     }, @dirs);
- 
-+    my $xs_to = $UseCplusplus ? '.cpp' : '.c';
-     foreach my $src_file(@src_files){
-         my $c = $src_file;
--        if($c =~ s/ \.xs \z/.c/xms){
-+        if($c =~ s/ \.xs \z/$xs_to/xms){
-             $XS_ref->{$src_file} = $c;
- 
-             _verbose "xs: $src_file" if _VERBOSE;
-@@ -478,10 +585,14 @@
-         $cppflags   .= ' ' . $mm->{DEFINE} if $mm->{DEFINE};
- 
-         my $add_include = _is_msvc() ? '-FI' : '-include';
--        $cppflags   .= ' ' . join ' ', map{ qq{$add_include "$_"} } qw(EXTERN.h perl.h XSUB.h);
-+        $cppflags   .= ' ' . join ' ',
-+            map{ qq{$add_include "$_"} } qw(EXTERN.h perl.h XSUB.h);
- 
-         my $cppcmd = qq{$Config{cpprun} $cppflags $h_file};
--
-+        # remove all the -arch options to workaround gcc errors:
-+        #       "-E, -S, -save-temps and -M options are not allowed
-+        #        with multiple -arch flags"
-+        $cppcmd =~ s/ -arch \s* \S+ //xmsg;
-         _verbose("extract functions from: $cppcmd") if _VERBOSE;
-         `$cppcmd`;
-     };
-@@ -546,12 +657,120 @@
-     return;
- }
- 
-+sub _xshelper_h {
-+    my $h = <<'XSHELPER_H';
-+:/* THIS FILE IS AUTOMATICALLY GENERATED BY Module::Install::XSUtil $VERSION. */
-+:/*
-+:=head1 NAME
-+:
-+:xshelper.h - Helper C header file for XS modules
-+:
-+:=head1 DESCRIPTION
-+:
-+:    // This includes all the perl header files and ppport.h
-+:    #include "xshelper.h"
-+:
-+:=head1 SEE ALSO
-+:
-+:L<Module::Install::XSUtil>, where this file is distributed as a part of
-+:
-+:=head1 AUTHOR
-+:
-+:Fuji, Goro (gfx) E<lt>gfuji at cpan.orgE<gt>
-+:
-+:=head1 LISENCE
-+:
-+:Copyright (c) 2010, Fuji, Goro (gfx). All rights reserved.
-+:
-+:This library is free software; you can redistribute it and/or modify
-+:it under the same terms as Perl itself.
-+:
-+:=cut
-+:*/
-+:
-+:#ifdef __cplusplus
-+:extern "C" {
-+:#endif
-+:
-+:#define PERL_NO_GET_CONTEXT /* we want efficiency */
-+:#include <EXTERN.h>
-+:#include <perl.h>
-+:#define NO_XSLOCKS /* for exceptions */
-+:#include <XSUB.h>
-+:
-+:#ifdef __cplusplus
-+:} /* extern "C" */
-+:#endif
-+:
-+:#include "ppport.h"
-+:
-+:/* portability stuff not supported by ppport.h yet */
-+:
-+:#ifndef STATIC_INLINE /* from 5.13.4 */
-+:# if defined(__GNUC__) || defined(__cplusplus) || (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
-+:#   define STATIC_INLINE static inline
-+:# else
-+:#   define STATIC_INLINE static
-+:# endif
-+:#endif /* STATIC_INLINE */
-+:
-+:#ifndef __attribute__format__
-+:#define __attribute__format__(a,b,c) /* nothing */
-+:#endif
-+:
-+:#ifndef LIKELY /* they are just a compiler's hint */
-+:#define LIKELY(x)   (!!(x))
-+:#define UNLIKELY(x) (!!(x))
-+:#endif
-+:
-+:#ifndef newSVpvs_share
-+:#define newSVpvs_share(s) Perl_newSVpvn_share(aTHX_ STR_WITH_LEN(s), 0U)
-+:#endif
-+:
-+:#ifndef get_cvs
-+:#define get_cvs(name, flags) get_cv(name, flags)
-+:#endif
-+:
-+:#ifndef GvNAME_get
-+:#define GvNAME_get GvNAME
-+:#endif
-+:#ifndef GvNAMELEN_get
-+:#define GvNAMELEN_get GvNAMELEN
-+:#endif
-+:
-+:#ifndef CvGV_set
-+:#define CvGV_set(cv, gv) (CvGV(cv) = (gv))
-+:#endif
-+:
-+:/* general utility */
-+:
-+:#if PERL_BCDVERSION >= 0x5008005
-+:#define LooksLikeNumber(x) looks_like_number(x)
-+:#else
-+:#define LooksLikeNumber(x) (SvPOKp(x) ? looks_like_number(x) : (I32)SvNIOKp(x))
-+:#endif
-+:
-+:#define newAV_mortal()         (AV*)sv_2mortal((SV*)newAV())
-+:#define newHV_mortal()         (HV*)sv_2mortal((SV*)newHV())
-+:#define newRV_inc_mortal(sv)   sv_2mortal(newRV_inc(sv))
-+:#define newRV_noinc_mortal(sv) sv_2mortal(newRV_noinc(sv))
-+:
-+:#define DECL_BOOT(name) EXTERN_C XS(CAT2(boot_, name))
-+:#define CALL_BOOT(name) STMT_START {            \
-+:        PUSHMARK(SP);                           \
-+:        CALL_FPTR(CAT2(boot_, name))(aTHX_ cv); \
-+:    } STMT_END
-+XSHELPER_H
-+    $h =~ s/^://xmsg;
-+    $h =~ s/\$VERSION\b/$Module::Install::XSUtil::VERSION/xms;
-+    return $h;
-+}
- 
- package
-     MY;
- 
- # XXX: We must append to PM inside ExtUtils::MakeMaker->new().
--sub init_PM{
-+sub init_PM {
-     my $self = shift;
- 
-     $self->SUPER::init_PM(@_);
-@@ -579,7 +798,233 @@
-     return $cccmd
- }
- 
-+sub xs_c {
-+    my($self) = @_;
-+    my $mm = $self->SUPER::xs_c();
-+    $mm =~ s/ \.c /.cpp/xmsg if $UseCplusplus;
-+    return $mm;
-+}
-+
-+sub xs_o {
-+    my($self) = @_;
-+    my $mm = $self->SUPER::xs_o();
-+    $mm =~ s/ \.c /.cpp/xmsg if $UseCplusplus;
-+    return $mm;
-+}
-+
- 1;
- __END__
- 
--#line 774
-+=for stopwords gfx API
-+
-+=head1 NAME
-+
-+Module::Install::XSUtil - Utility functions for XS modules
-+
-+=head1 VERSION
-+
-+This document describes Module::Install::XSUtil version 0.44.
-+
-+=head1 SYNOPSIS
-+
-+    # in Makefile.PL
-+    use inc::Module::Install;
-+
-+    # Enables C compiler warnings
-+    cc_warnings;
-+
-+    # Uses ppport.h
-+    # No need to include it. It's created here.
-+    use_ppport 3.19;
-+
-+
-+    # Sets C pre-processor macros.
-+    cc_define q{-DUSE_SOME_FEATURE=42};
-+
-+    # Sets paths for header files
-+    cc_include_paths 'include'; # all the header files are in include/
-+
-+    # Sets paths for source files
-+    cc_src_paths 'src'; # all the XS and C source files are in src/
-+
-+    # Installs header files
-+    install_headers; # all the header files in @cc_include_paths
-+
-+
-+=head1 DESCRIPTION
-+
-+Module::Install::XSUtil provides a set of utilities to setup distributions
-+which include or depend on XS module.
-+
-+See L<XS::MRO::Compat> and L<Method::Cumulative> for example.
-+
-+=head1 FUNCTIONS
-+
-+=head2 cc_available
-+
-+Returns true if a C compiler is available. YOU DO NOT NEED TO CALL
-+THIS FUNCTION YOURSELF: it will be called for you when this module is
-+initialized, and your Makefile.PL process will exit with 0 status.
-+Only explicitly call if you need to do some esoteric handling when
-+no compiler is available (for example, when you have a pure perl alternative)
-+
-+=head2 c99_available
-+
-+Returns true if a C compiler is available and it supports C99 features.
-+
-+=head2 want_xs ?$default
-+
-+Returns true if the user asked for the XS version or pure perl version of the
-+module.
-+
-+Will return true if C<--xs> is explicitly specified as the argument to
-+F<Makefile.PL>, and false if C<--pp> is specified. If neither is explicitly
-+specified, will return the value specified by C<$default>. If you do not
-+specify the value of C<$default>, then it will be true.
-+
-+
-+=head2 use_ppport ?$version
-+
-+Creates F<ppport.h> using C<Devel::PPPort::WriteFile()>.
-+
-+This command calls C<< configure_requires 'Devel::PPPort' => $version >>
-+and adds C<-DUSE_PPPORT> to C<MakeMaker>'s C<DEFINE>.
-+
-+=head2 use_xshelper ?-clean|-realclean
-+
-+Create sF<xshelper.h>, which is a helper header file to include
-+F<EXTERN.h>, F<perl.h>, F<XSUB.h> and F<ppport.h>, and defines
-+some portability stuff which are not supported by F<ppport.h>.
-+
-+Optional argument C<-clean> and C<-realclean> set C<clean_files>
-+or C<realclean_files> to the generated file F<xshelper.h> respectably.
-+
-+This command includes C<use_ppport>.
-+
-+=head2 cc_warnings
-+
-+Enables C compiler warnings.
-+
-+=head2 cc_define @macros
-+
-+Sets C<cpp> macros as compiler options.
-+
-+=head2 cc_src_paths @source_paths
-+
-+Sets source file directories which include F<*.xs> or F<*.c>.
-+
-+=head2 cc_include_paths @include_paths
-+
-+Sets include paths for a C compiler.
-+
-+=head2 cc_inc_paths @include_paths;
-+
-+This B<was> an alias to C<cc_include_paths>, but from 0.42,
-+this is C<Module::Install::Compiler::cc_inc_paths>, which
-+replaces the EUMM's C<INC> parameter.
-+
-+Don't use this function. Use C<cc_include_paths> instead.
-+
-+=head2 cc_libs @libs
-+
-+Sets C<MakeMaker>'s C<LIBS>. If a name starts C<->, it will be interpreted as is.
-+Otherwise prefixed C<-l>.
-+
-+e.g.:
-+
-+    cc_libs -lfoo;
-+    cc_libs  'foo'; # ditto.
-+    cc_libs qw(-L/path/to/libs foo bar); # with library paths
-+
-+=head2 cc_assert_lib %args
-+
-+Checks if the given C library is installed via Devel::CheckLib.
-+Takes exactly what Devel::CheckLib takes. Note that you must pass
-+the path names explicitly.
-+
-+=head2 requires_c99
-+
-+Tells the build system to use C99 features.
-+
-+=head2 requires_cplusplus
-+
-+Tells the build system to use C++ language.
-+
-+=head2 install_headers ?@header_files
-+
-+Declares providing header files, extracts functions from these header files,
-+and adds these functions to C<MakeMaker>'s C<FUNCLIST>.
-+
-+If I<@header_files> are omitted, all the header files in B<include paths> will
-+be installed.
-+
-+=head2 cc_append_to_inc @include_paths
-+
-+Low level API.
-+
-+=head2 cc_append_to_libs @libraries
-+
-+Low level API.
-+
-+=head2 cc_append_to_ccflags @ccflags
-+
-+Low level API.
-+
-+=head2 cc_append_to_funclist @funclist
-+
-+Low level API.
-+
-+=head1 OPTIONS
-+
-+Under the control of this module, F<Makefile.PL> accepts C<-g> option, which
-+sets C<MakeMaker>'s C<OPTIMIE> C<-g> (or something like). It will disable
-+optimization and enable some debugging features.
-+
-+=head1 DEPENDENCIES
-+
-+Perl 5.5.3 or later.
-+
-+=head1 NOTE
-+
-+In F<Makefile.PL>, you might want to use C<author_requires>, which is
-+provided by C<Module::Install::AuthorReauires>, in order to tell co-developers
-+that they need to install this plugin.
-+
-+    author_requires 'Module::Install::XSUtil';
-+
-+=head1 BUGS
-+
-+No bugs have been reported.
-+
-+Please report any bugs or feature requests to the author.
-+
-+=head1 ACKNOWLEDGEMENT
-+
-+Thanks to Taro Nishino for the test reports.
-+
-+Tanks to lestrrat for the suggestions and patches.
-+
-+=head1 AUTHOR
-+
-+Goro Fuji (gfx) E<lt>gfuji(at)cpan.orgE<gt>.
-+
-+=head1 SEE ALSO
-+
-+L<ExtUtils::Depends>.
-+
-+L<Module::Install>.
-+
-+L<Module::Install::CheckLib>.
-+
-+L<Devel::CheckLib>.
-+
-+L<ExtUtils::MakeMaker>.
-+
-+=head1 LICENSE AND COPYRIGHT
-+
-+Copyright (c) 2009-2010, Goro Fuji (gfx). All rights reserved.
-+
-+This library is free software; you can redistribute it and/or modify
-+it under the same terms as Perl itself.
-+
-+=cut
diff --git a/debian/patches/series b/debian/patches/series
index 2aa3217..a8ab736 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 format_string_fix.diff
-M::I::XSUtil.pm.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libfile-mmagic-xs-perl.git



More information about the Pkg-perl-cvs-commits mailing list