Index: vendor/CPAN/buildme.sh =================================================================== --- vendor/CPAN/buildme.sh (revision 29552) +++ vendor/CPAN/buildme.sh (working copy) @@ -149,7 +149,6 @@ build AutoXS::Header build Class::C3::XS build Class::XSAccessor - build Class::XSAccessor::Array build Compress::Raw::Zlib build DBI build DBD::mysql @@ -180,13 +179,9 @@ ;; Class::XSAccessor) - build_module Class-XSAccessor-1.03 + build_module Class-XSAccessor-1.05 ;; - Class::XSAccessor::Array) - build_module Class-XSAccessor-Array-1.04 - ;; - Compress::Raw::Zlib) build_module Compress-Raw-Zlib-2.017 ;; Index: server/Slim/Utils/Accessor.pm =================================================================== --- server/Slim/Utils/Accessor.pm (revision 29552) +++ server/Slim/Utils/Accessor.pm (working copy) @@ -37,12 +37,12 @@ $hasXS = 0; eval { require Class::XSAccessor::Array; - die if $Class::XSAccessor::Array::VERSION lt '1.04'; + die if $Class::XSAccessor::Array::VERSION lt '1.05'; $hasXS = 1; }; if ( $@ ) { - warn "NOTE: Class::XSAccessor::Array not found, install it for better performance\n"; + warn "NOTE: Class::XSAccessor::Array not found; install Class::XSAccessor for better performance\n"; } return $hasXS; @@ -98,9 +98,10 @@ if ($type eq 'rw') { if ( hasXS() ) { - Class::XSAccessor::Array::_generate_method( - $class, $field, $n, 0, 0, 'accessor', - ); + Class::XSAccessor::Array->import( + class => $class, + accessors => { $field, $n } + ); } else { $accessor = sub { @@ -112,9 +113,10 @@ } elsif ($type eq 'ro') { if ( hasXS() ) { - Class::XSAccessor::Array::_generate_method( - $class, $field, $n, 0, 0, 'getter', - ); + Class::XSAccessor::Array->import( + class => $class, + getters => { $field, $n } + ); } else { $accessor = sub { Index: server/lib/Class/Accessor/Grouped.pm =================================================================== --- server/lib/Class/Accessor/Grouped.pm (revision 29552) +++ server/lib/Class/Accessor/Grouped.pm (working copy) @@ -18,12 +18,12 @@ $hasXS = 0; eval { require Class::XSAccessor; - die if $Class::XSAccessor::VERSION lt '1.03'; + die if $Class::XSAccessor::VERSION lt '1.05'; $hasXS = 1; }; if ( $@ ) { - warn "NOTE: Class::XSAccessor not found, install it for better performance\n"; + warn "NOTE: Class::XSAccessor not found; install it for better performance\n"; } return $hasXS; @@ -104,8 +104,14 @@ my $full_alias = join('::', $class, $alias); if ( $hasXS && $group eq 'simple' ) { - Class::XSAccessor::newxs_accessor("${class}::${name}", $field, 0); - Class::XSAccessor::newxs_accessor("${class}::${alias}", $field, 0); + Class::XSAccessor->import( + class => $class, + accessors => { $name, $field } + ); + Class::XSAccessor->import( + class => $class, + accessors => { $alias, $field } + ); # XXX: is the alias accessor really necessary? }