@@ -1,5 +1,15 @@
Changelog for Perl module ZeroMQ.
+0.23 Oct 16 2012
+ - Oops, ZeroMQ::Raw version was not bumped.
+ - Please consider this a goo timing to move to ZMQ::LibZMQ2, ZMQ::LibZMQ3,
+ and ZMQ
+
+0.22 Oct 11 2012
+ - Explicitly state that this module is deprecated in favor of
+ ZMQ::LibZMQ2, ZMQ::LibZMQ3, and ZMQ.
+ - No code changes.
+
0.21 Mar 22 2012
- Fix threading issues causing a segfault.
martyn-gillmore/aero did the diagnosis on Win32, but that fix still
@@ -1,12 +1,12 @@
---
-abstract: 'A ZeroMQ2 wrapper for Perl'
+abstract: 'A ZeroMQ2 wrapper for Perl (DEPRECATED)'
author:
- 'Daisuke Maki <daisuke@endeworks.jp>'
- 'Steffen Mueller <smueller@cpan.org>'
build_requires:
Devel::CheckLib: 0.4
Devel::PPPort: 3.19
- ExtUtils::MakeMaker: 6.62
+ ExtUtils::MakeMaker: 6.59
Test::Fatal: 0
Test::More: 0.98
Test::Requires: 0
@@ -14,11 +14,11 @@ build_requires:
configure_requires:
Devel::CheckLib: 0.4
Devel::PPPort: 3.19
- ExtUtils::MakeMaker: 6.62
+ ExtUtils::MakeMaker: 6.59
ExtUtils::ParseXS: 2.21
distribution_type: module
dynamic_config: 1
-generated_by: 'Module::Install version 1.04'
+generated_by: 'Module::Install version 1.06'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -39,4 +39,4 @@ requires:
resources:
license: http://dev.perl.org/licenses/
repository: http://github.com/lestrrat/ZeroMQ-Perl
-version: 0.21
+version: 0.23
@@ -1,11 +1,11 @@
{
- "abstract" : "A ZeroMQ2 wrapper for Perl",
+ "abstract" : "A ZeroMQ2 wrapper for Perl (DEPRECATED)",
"author" : [
"Daisuke Maki <daisuke@endeworks.jp>",
"Steffen Mueller <smueller@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Install version 1.04, CPAN::Meta::Converter version 2.112621",
+ "generated_by" : "Module::Install version 1.06, CPAN::Meta::Converter version 2.120921",
"license" : [
"perl_5"
],
@@ -26,11 +26,11 @@
"requires" : {
"Devel::CheckLib" : "0.4",
"Devel::PPPort" : "3.19",
- "ExtUtils::MakeMaker" : "6.62",
+ "ExtUtils::MakeMaker" : "6.59",
"ExtUtils::ParseXS" : "2.21",
- "Test::Fatal" : 0,
+ "Test::Fatal" : "0",
"Test::More" : "0.98",
- "Test::Requires" : 0,
+ "Test::Requires" : "0",
"Test::TCP" : "1.08"
}
},
@@ -38,7 +38,7 @@
"requires" : {
"Devel::CheckLib" : "0.4",
"Devel::PPPort" : "3.19",
- "ExtUtils::MakeMaker" : "6.62",
+ "ExtUtils::MakeMaker" : "6.59",
"ExtUtils::ParseXS" : "2.21"
}
},
@@ -47,7 +47,7 @@
"JSON" : "2.00"
},
"requires" : {
- "Task::Weaken" : 0,
+ "Task::Weaken" : "0",
"XSLoader" : "0.02",
"perl" : "5.008"
}
@@ -62,6 +62,6 @@
"url" : "http://github.com/lestrrat/ZeroMQ-Perl"
}
},
- "version" : "0.21",
+ "version" : "0.22",
"x_module_name" : "ZeroMQ"
}
@@ -1,5 +1,5 @@
NAME
- ZeroMQ - A ZeroMQ2 wrapper for Perl
+ ZeroMQ - A ZeroMQ2 wrapper for Perl (DEPRECATED)
SYNOPSIS ( HIGH-LEVEL API )
# echo server
@@ -81,6 +81,10 @@ INSTALLATION
perl Makefile.PL -g
DESCRIPTION
+ Please note that this module has been DEPRECATED in favor of
+ ZMQ::LibZMQ2, ZMQ::LibZMQ3, and ZMQ. see
+ https://github.com/lestrrat/p5-ZMQ and other CPAN pages.
+
The "ZeroMQ" module is a wrapper of the 0MQ message passing library for
Perl. It's a thin wrapper around the C API. Please read
<http://zeromq.org> for more details on ZeroMQ.
@@ -6,7 +6,7 @@ Devel::CheckLib;
use 5.00405; #postfix foreach
use strict;
use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '0.97';
+$VERSION = '0.98';
use Config qw(%Config);
use Text::ParseWords 'quotewords';
@@ -302,9 +302,9 @@ sub assert_lib {
@$cc,
@$ld,
"-o$exefile",
- "-l$lib",
(map { "-I$_" } @incpaths),
(map { "-L$_" } @libpaths),
+ "-l$lib",
$cfile);
} else { # Unix-ish
# gcc, Sun, AIX (gcc, cc)
@@ -313,9 +313,9 @@ sub assert_lib {
@$ld,
$cfile,
"-o", "$exefile",
- "-l$lib",
(map { "-I$_" } @incpaths),
- (map { "-L$_" } @libpaths)
+ (map { "-L$_" } @libpaths),
+ "-l$lib",
);
}
warn "# @sys_cmd\n" if $args{debug};
@@ -360,8 +360,11 @@ sub _cleanup_exe {
sub _findcc {
# Need to use $keep=1 to work with MSWin32 backslashes and quotes
my $Config_ccflags = $Config{ccflags}; # use copy so ASPerl will compile
- my @Config_ldflags = @Config{qw(ldflags perllibs)};
- my @ccflags = grep { length } quotewords('\s+', 1, $Config_ccflags);
+ my @Config_ldflags = ();
+ for my $config_val ( @Config{qw(ldflags perllibs)} ){
+ push @Config_ldflags, $config_val if ( $config_val =~ /\S/ );
+ }
+ my @ccflags = grep { length } quotewords('\s+', 1, $Config_ccflags||'');
my @ldflags = grep { length } quotewords('\s+', 1, @Config_ldflags);
my @paths = split(/$Config{path_sep}/, $ENV{PATH});
my @cc = split(/\s+/, $Config{cc});
@@ -4,7 +4,7 @@ package Module::Install::Base;
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.04';
+ $VERSION = '1.06';
}
# Suspend handler for "redefined" warnings
@@ -3,13 +3,12 @@ package Module::Install::Can;
use strict;
use Config ();
-use File::Spec ();
use ExtUtils::MakeMaker ();
use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.04';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -29,7 +28,7 @@ sub can_use {
eval { require $mod; $pkg->VERSION($ver || 0); 1 };
}
-# check if we can run some command
+# Check if we can run some command
sub can_run {
my ($self, $cmd) = @_;
@@ -38,14 +37,88 @@ sub can_run {
for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') {
next if $dir eq '';
- my $abs = File::Spec->catfile($dir, $_[1]);
+ require File::Spec;
+ my $abs = File::Spec->catfile($dir, $cmd);
return $abs if (-x $abs or $abs = MM->maybe_command($abs));
}
return;
}
-# can we locate a (the) C compiler
+# Can our C compiler environment build XS files
+sub can_xs {
+ my $self = shift;
+
+ # Ensure we have the CBuilder module
+ $self->configure_requires( 'ExtUtils::CBuilder' => 0.27 );
+
+ # Do we have the configure_requires checker?
+ local $@;
+ eval "require ExtUtils::CBuilder;";
+ if ( $@ ) {
+ # They don't obey configure_requires, so it is
+ # someone old and delicate. Try to avoid hurting
+ # them by falling back to an older simpler test.
+ return $self->can_cc();
+ }
+
+ # Do we have a working C compiler
+ my $builder = ExtUtils::CBuilder->new(
+ quiet => 1,
+ );
+ unless ( $builder->have_compiler ) {
+ # No working C compiler
+ return 0;
+ }
+
+ # Write a C file representative of what XS becomes
+ require File::Temp;
+ my ( $FH, $tmpfile ) = File::Temp::tempfile(
+ "compilexs-XXXXX",
+ SUFFIX => '.c',
+ );
+ binmode $FH;
+ print $FH <<'END_C';
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+int main(int argc, char **argv) {
+ return 0;
+}
+
+int boot_sanexs() {
+ return 1;
+}
+
+END_C
+ close $FH;
+
+ # Can the C compiler access the same headers XS does
+ my @libs = ();
+ my $object = undef;
+ eval {
+ local $^W = 0;
+ $object = $builder->compile(
+ source => $tmpfile,
+ );
+ @libs = $builder->link(
+ objects => $object,
+ module_name => 'sanexs',
+ );
+ };
+ my $result = $@ ? 0 : 1;
+
+ # Clean up all the build files
+ foreach ( $tmpfile, $object, @libs ) {
+ next unless defined $_;
+ 1 while unlink;
+ }
+
+ return $result;
+}
+
+# Can we locate a (the) C compiler
sub can_cc {
my $self = shift;
my @chunks = split(/ /, $Config::Config{cc}) or return;
@@ -78,4 +151,4 @@ if ( $^O eq 'cygwin' ) {
__END__
-#line 156
+#line 236
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.04';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/;
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.04';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -215,13 +215,17 @@ sub write {
require ExtUtils::MakeMaker;
if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) {
- # MakeMaker can complain about module versions that include
- # an underscore, even though its own version may contain one!
- # Hence the funny regexp to get rid of it. See RT #35800
- # for details.
- my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
- $self->build_requires( 'ExtUtils::MakeMaker' => $v );
- $self->configure_requires( 'ExtUtils::MakeMaker' => $v );
+ # This previous attempted to inherit the version of
+ # ExtUtils::MakeMaker in use by the module author, but this
+ # was found to be untenable as some authors build releases
+ # using future dev versions of EU:MM that nobody else has.
+ # Instead, #toolchain suggests we use 6.59 which is the most
+ # stable version on CPAN at time of writing and is, to quote
+ # ribasushi, "not terminally fucked, > and tested enough".
+ # TODO: We will now need to maintain this over time to push
+ # the version up as new versions are released.
+ $self->build_requires( 'ExtUtils::MakeMaker' => 6.59 );
+ $self->configure_requires( 'ExtUtils::MakeMaker' => 6.59 );
} else {
# Allow legacy-compatibility with 5.005 by depending on the
# most recent EU:MM that supported 5.005.
@@ -411,4 +415,4 @@ sub postamble {
__END__
-#line 540
+#line 544
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.04';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.04';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.04';
+ $VERSION = '1.06';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
@@ -31,7 +31,7 @@ BEGIN {
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.04';
+ $VERSION = '1.06';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -467,4 +467,4 @@ sub _CLASS ($) {
1;
-# Copyright 2008 - 2011 Adam Kennedy.
+# Copyright 2008 - 2012 Adam Kennedy.
@@ -7,7 +7,7 @@ BEGIN {
# XXX it's a hassle, but keep it in sync with ZeroMQ.pm
# by loading this here, we can make ZeroMQ::Raw independent
# of ZeroMQ while keeping the dist name as ZeroMQ
- XSLoader::load('ZeroMQ', '0.21');
+ XSLoader::load('ZeroMQ', '0.23');
}
our @EXPORT = qw(
@@ -1,7 +1,7 @@
package ZeroMQ;
use strict;
BEGIN {
- our $VERSION = '0.21';
+ our $VERSION = '0.23';
our @ISA = qw(Exporter);
}
use ZeroMQ::Raw ();
@@ -41,7 +41,7 @@ __END__
=head1 NAME
-ZeroMQ - A ZeroMQ2 wrapper for Perl
+ZeroMQ - A ZeroMQ2 wrapper for Perl (DEPRECATED)
=head1 SYNOPSIS ( HIGH-LEVEL API )
@@ -126,6 +126,10 @@ If you want to compile with debugging on:
=head1 DESCRIPTION
+Please note that this module has been DEPRECATED in favor of L<ZMQ::LibZMQ2>,
+L<ZMQ::LibZMQ3>, and L<ZMQ>. see https://github.com/lestrrat/p5-ZMQ and
+other CPAN pages.
+
The C<ZeroMQ> module is a wrapper of the 0MQ message passing library for Perl.
It's a thin wrapper around the C API. Please read L<http://zeromq.org> for
more details on ZeroMQ.
@@ -8,6 +8,7 @@ my @modules = qw(
Module::Install::ReadmeFromPod
Module::Install::TestTarget
Module::Install::XSUtil
+ Module::Install::Repository
);
my @missing;