Commit graph

27 commits

Author SHA1 Message Date
wiz
31f24af614 Update to 0.84:
0.84 May29, 2006

- The XS version of the code used Carp::croak to report failures,
while the Perl version used Carp::confess. The module has always been
documented as using confess, so now the XS version uses this.

- The new compiler detection code always returned false if you didn't
have ExtUtils::CBuilder installed.


0.83 May 28, 2006

- Change how C compiler detection is done in the Makefile.PL so it
does not rely on having make on the system. The new way should work on
(most?) Unix and Win32 systems. Suggested by David Golden. See RT
18969 (for DateTime.pm, but equally applicable to this module). Will
hopefully fix RT 17644.

- Previously, if a parameter was undefined, regex checks for that
parameter always failed. However, it's quite possible for a regex to
successfully match an undefined value (qr/^$/, for example). Now the
code treats undef as an empty string ('') in regex checks. Reported by
Duncan Salada.


0.82 May 9, 2006

- Disabled function inlining if _MSC_VER is defined. Patch from Audrey
Tang.

- Check isa by calling it as a method on the thing being checked.

- Do the same for can in the pure Perl version. This was already fixed
for the XS version in 0.75.


0.81 Apr 1, 2006

- Speed up no validation in XS version by short-circuiting immediately
if validation is off. This gives a noticeable speed boost when
$ENV{NO_VALIDATION} is in use. Patch by Daisuke Maki.

- Inlined some C functions for additional speed in the XS
version. Patch by Daisuke Maki.
2006-07-19 22:39:19 +00:00
jlam
9c8b5ede43 Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where no
developer is officially maintaining the package.

The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list).  Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
2006-03-04 21:28:51 +00:00
wiz
5c4acbd69c Update to 0.80:
0.80 Jan 22, 2006

- If a undef value was given for a parameter that had a regex in its
spec, a warning was emitted. RT #15196.
2006-01-29 17:52:49 +00:00
wiz
62e24bbbc6 Update to 0.79:
0.79 Jan 13, 2006

- The XS version of Params::Validate did not work if a spec hash
reference was marked Readonly using Readonly::XS.

- Added some tests for using tied values for params or spec, and
discovered that a tied spec causes a segfault, but could not figure
out how to fix this (Grr, Perl magic is a huge pain in the nether
regions).
2006-01-23 21:39:34 +00:00
wiz
aa12e7067a Update to 0.78:
0.78 Jul 19, 2005

- If an overloaded object returned false in boolean context, then it
would always fail "can" tests.  Patch by Chi-Fung Fan.


0.77 Apr 29, 2005

- Neither --xs or --pm worked with the Makefile.PL the way they were
supposed to.  Reported by Doug Treder.

- Moved source to my personal SVN repo.
https://svn.urth.org/svn/Params-Validate

- Updated ppport.h, which allows XS version to work with 5.00504.
This was broken since 0.75, at least.
2005-11-23 22:10:22 +00:00
jlam
7fbb8d9527 Bump the PKGREVISIONs of all (638) packages that hardcode the locations
of Perl files to deal with the perl-5.8.7 update that moved all
pkgsrc-installed Perl files into the "vendor" directories.
2005-08-06 06:19:03 +00:00
jlam
7a6521287b Turn PERL5_PACKLIST into a relative path instead of an absolute path.
These paths are now relative to PERL5_PACKLIST_DIR, which currently
defaults to ${PERL5_SITEARCH}.  There is no change to the binary
packages.
2005-07-13 18:01:18 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
agc
4a3d2f7ce2 Add RMD160 digests. 2005-02-23 22:24:08 +00:00
wiz
c8fe75be6c Add HOMEPAGE. 2005-02-22 00:29:22 +00:00
cube
d152175c7c Update to version 0.76.
0.76 Nov 13, 2004 (The "Cancan some more" release)

- Make sure that both the XS and Perl versions give the same error
when checking "can" for an undefined value.

0.75 Nov 13, 2004 (The "Cancan" release)

- When checking if a parameter has a method, P::V now calls the ->can
method on the parameter, rather than calling UNIVERSAL::can()
directly.  Requested by Don Armstrong.

0.74 Apr 4, 2004 (The "I hate old Perls" release)

- Sometimes, but not always, Perl 5.00504 and 5.00503 cannot produce a
string value for a glob (as opposed to glob reference) parameter.
This was uncovered by a test in the HTML::Mason test suite, but I
cannot reproduce it in a simple testable form for this test suite.
Sigh ...

0.73 Mar 28, 2004  (The "YAPC::Taipei release party" release)

- The minimum number of arguments required was reported incorrectly by
the XS code when a call to validate_pos() failed because too few
parameters were given.  Patch from Britton Kerin.
- Add a new untaint key to the validation spec, which untaints a value
if it passes its validation checks.
2005-01-26 14:16:50 +00:00
grant
908e765695 since perl is now built with threads on most platforms, the perl archlib
module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").

binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.

addresses PR pkg/28619 from H. Todd Fujinaka.
2004-12-20 11:30:55 +00:00
minskim
27c1db4b62 Bl3ify and enable pkgviews installation. 2004-04-25 03:28:10 +00:00
grant
f2d340cc2a Updated p5-Params-Validate to 0.72.
changes since 0.59:

0.72 Dec 3, 2003

- If a normalize_keys callback returns the same normalized key for two
different inputs, Params::Validate will die.

- The pure Perl implementation had a bug where if the same hash
reference was used for the spec in multiple calls to validate(), then
any call made after a parameter failed a validation check could
exhibit strange behaviors (like parameters passing that shouldn't,
etc.).  This was due to the fact that the Perl implementation uses
each() internally, and was leaving the hash's iterator partially
iterated.  Reported via an apparent problem with DateTime.pm by Jost
Krieger.


0.71 Dec 2, 2003

- Suppressed some annoying "subroutine redefined" warnings if the pure
Perl version ended up being loaded after attempting to load the XS
version.


0.70 Nov 23, 2003

- Any validation call that used a callback leaked memory when using
the XS version.  This was introduced in 0.67, when callbacks started
receiving a reference to the parameters as a second argument.
Reported by Eugene van der Pijll.


0.69 Nov 3, 2003

- The key normalization feature introduced in 0.66 leaked one SV*
every time a parameter _hash_ was run through the XS version of
validate() or validate_with().  This happened if one of
normalize_keys, allow_extra, or ignore_case was set, or if
validate_with() was used.  Upgrading is strongly recommended!
Reported by Ruslan.


0.68 Oct 21, 2003

- Added spiffy new parameter dependency feature.  Implemented by
Daisuke Maki.


0.67 Oct 10, 2003

- The test count for 06-option.t was off.  Reported by Christian
Schaffner.

- Validation callbacks now receive a reference to the (normalized)
parameter hash/array as their second argument.

- Shut up an "unitialized value in subroutine entry" warning caused by
calling validate_pos() with an undef value in the parameter array.
This was introduced in 0.66.


0.66 Oct 08, 2003

- Skip a few more tests under Perl 5.6.0.  Patch from Christian
Schaffner.

- Error messages now include the stringified value of the variable
that was invalid.  Implemented by Daisuke Maki.

- Added a new parameter normalization callback feature, the
"normalize_keys" option.  Implemented by Daisuke Maki.

** The "strip_leading" and "ignore_case" options are now deprecated.
Use the new "normalize" feature instead.


0.65 Aug 07, 2003

- It is now possible to turn validation on and off at runtime.  To
make this easier, it can be set via the PERL_NO_VALIDATION environment
variable, or the $Params::Validate::NO_VALIDATION global variable.  Go
ahead, shoot yourself in the foot with it!


0.64 Jul 14, 2003

- Fix an XS compilation error under 5.6.1:

 Validate.xs: In function `validate_isa':
 Validate.xs:381: `perl_on_error' undeclared (first use in this function)


0.63 Jul 14, 2003

- The XS version of validate_with failed if the params key contained
an array reference containing a single hash reference.  Since this
works with the pure Perl version, it should work with the XS version.
Reported by Diab Jerius.  Bug #2791 on rt.cpan.org.


0.62 Jun 25, 2003

- Remove a warn() statement left in from debugging.  Reported by Shane
McCarron.


0.61 Jun 23, 2003

- The last release had some debugging code left in which tried to load
Devel::StackTrace.  Reported by Iain Truskett.


0.60 Jun 21, 2003

- Fixed a weird segfault that could occur with Perl 5.6.1 when a
user-defined on_fail callback died with an object as its argument.
This only happened with the XS version of the code.  Reported by Ken
Williams.

The end result is that the version of the XS code that is used with
Perl 5.6.0 and 5.6.1 is slightly slower than that used with 5.00503 or
5.8.0, as it requires an additional Perl-level wrapper.

- Use XSLoader in preference to Dynaloader with Perl 5.6.0+.
2003-12-29 12:03:30 +00:00
grant
4083b24390 s/netbsd.org/NetBSD.org/ 2003-07-17 21:31:04 +00:00
wiz
f887fd9807 Update to 0.59, provided by Koji Kondo in PR 21761.
Changes:
- If an odd number of parameters was given to validate() in the array
as its first argument, the error given would be different depending on
whether or not the pure Perl or XS version of the code was being used.
- Fixed incredibly odd bug that occurred in XS code when tainting was
on with Perl 5.00503.  Unfortunately, the only test case that reliably
reproduces this is one of Mason's tests, so no test was added.
- Fix some compiler warnings from MS Visual Studio 6.  Reported by Ron
Hill.
- When called from the main body of a script, the validation routines
would cause an undefined value warning if validation failed.  Reported
by Britton Kerin and fixed by Ilya Martynov.
- The XS code that handled callbacks expects all callbacks to return
an integer, instead of simply testing the returned value for truth.
This could cause strange warnings like 'Argument "InMemory" isn't
numeric in subroutine entry...'.  Based on a bug report from Robert
Dick for another module I wrote (Lingua::ZH::CCDICT).
- Fixed Params::Validate for Perl configurations where sizeof(IV) !=
sizeof(int).  Reported by Alain Barbet.
- Something around test 5 in 06-options.t appear to cause Perl to
die/segfault/something under 5.6.0.  These tests will be skipped with
5.6.0 in the future.  Reported by Christian Schaffner.
- When testing for a compiler, use nmake on Win32.  Implemented by
Ronald Hill.
- Added regex validation option.
- Added copyright info to each source file.  Added LICENSE file to
distro.
- Added an XS implementation, written by Ilya Martynov.  The pure Perl
implementation is still included as a fallback for users who do not
have a compiler handy.  The XS implementation gives a speed boost of
150% to 300%, depending on the complexity of the validation being
done.
This XS code is known to work Perl 5.00503+, but it may not work with
earlier versions of Perl.
- Fix Attribute::Params::Validate docs to show that attribute
declaration must have open paren immediately after "Validate" or
"ValidatePos".  Reported by Britton Kerin.
- Fix bug with Perl 5.8.0 when in PERL_NO_VALIDATION mode and calling
validate() expecting a hash ref to be returned.  Reported by Randal
Schwartz.
- Argh.  In 0.22 some of the tests printed their test counts (1..x)
after doing the tests.  This works with newer versions of
Test::Harness so I didn't notice it.  Reported by Peter Asemann.
- The last version's tarball was a mess, and had blib and other junk
in it.  This is a nice clean one.
- The various validation functions are now context sensitive, and will
return a reference in scalar context.  This may be a helpful speedup,
especially for large parameter lists.
- More optimization work.
-- Improved the speed of both validate() and validate_pos() by about
20-25%.
-- Improved the speed of the 'no validation' mode for validate() by
over 30%, for validation_pos() by 15%, and for validate_with() by
125%.
-- The speed of validate_with() has been improved by over 100%, but
this was at the expense of not validating its own incoming arguments,
thus making it a little more fragile.
- The PERL_NO_VALIDATION env var is now _only_ checked when the module
is loaded.  This means you cannot change it mid-program.  This is a
backwards incompatibility.
- Added a new function, validate_with(), that allow you to set various
options on a per-invocation basis, rather than on a per-package basis.
Patch by Ken Williams.
- Fix a doc nit where I had a wrong code example.  Reported by Britton
Kerin.
- Added a new validation option parameter, stack_skip, which allows
you to change how errors are reported by Params::Validate.
- Improve skipping of tests when run with 5.6.0.  Patch by Ken
Williams.
- Silence an uninit value warning
2003-06-03 14:13:56 +00:00
jschauma
e366d0c694 Use tech-pkg@ in favor of packages@ as MAINTAINER for orphaned packages.
Should anybody feel like they could be the maintainer for any of thewe packages,
please adjust.
2003-06-02 01:15:31 +00:00
seb
34e5b77c6c Use buildlink2. Use perl5/module.mk. 2002-10-20 23:35:09 +00:00
shell
810b1916a8 Updated p5-Params-Validate to 0.15
Change :
- validate_pos would die stupidly when it received an array with an
  odd number of elements.
2002-04-27 19:22:40 +00:00
martti
b0a44bf243 Updated p5-Params-Validate to 0.14 (provided by Shell Hung in pkg/15870)
- validate_pos used exists on an array element, which only works with
  5.6.0.  This releaes makes it work 5.00503 again.
- the validation parameters are checked first now
- performance improved on named parameters
- add BOOLEAN type (equivalent to UNDEF | SCALAR)
- fixed buges in test
- apply some of the same optimizations to positional parameters
2002-03-15 12:05:03 +00:00
wiz
314de8c1d6 Remove obsolete files/md5. 2002-01-19 22:06:11 +00:00
wiz
a20a414aa0 Fix DEPENDs line. 2002-01-19 22:05:38 +00:00
mjl
dc25279bec Update p5-Params-Validate to 0.11
- The 'NO_VALIDATION' mode was seriously broken in that it didn't
  handle defaults at all.
- The 'NO_VALIDATION' env var was mis-documented as being
  'NO_VALIDATE'.
- The 'NO_VALIDATION' env var is now 'PERL_NO_VALIDATION' and this
  method of disabling validation is no longer considered alpha.
- The validation functions now check this environment variable every
  time they are called.
- Fix problem with CPAN shell's 'r' command that
  Attribute::Params::Validate was causing with older Perl's.
- Add ability to specify defaults for parameters and get a new
  hash/array back from validate or validate_pos.
- Require Attribute::Handlers if using Perl 5.6.0+.
- fix doc nits.
- Added Attribute::Params::Validate - do validation via attributes
- Rename set_options to validation_options.  This can now be exported
  safely and is included in the :all export tag.  set_options is
  deprecated and will be removed in a future release.

  Also fixes PR/15225 by Shell Hung.
2002-01-18 22:05:41 +00:00
jlam
cc4128d97e Buildlinkify, in the sense that only the perl headers are found in
${PREFIX} -- everything else is pickup up from ${BUILDLINK_DIR}.
2001-11-26 06:49:36 +00:00
zuntum
c72c1cf5f9 Move pkg/ files into package's toplevel directory 2001-11-01 00:57:41 +00:00
veego
63ad910dee SVR4 packages have a limit of 9 chars for a package name.
The automatic truncation in gensolpkg doesn't work for packages which
have the same package name for the first 5-6 chars.
e.g. amanda-server and amanda-client would be named amanda and amanda.
Now, we add a SVR4_PKGNAME and use amacl for amanda-client and amase for
amanda-server.
All svr4 packages also have a vendor tag, so we have to reserve some chars
for this tag, which is normaly 3 or 4 chars. Thats why we can only use 6
or 5 chars for SVR4_PKGNAME. I used 5 for all the packages, to give the
vendor tag enough room.
All p5-* packages and a few other packages have now a SVR4_PKGNAME.
2001-10-18 15:20:01 +00:00
mjl
d0f052656a Initial import of p5-Params-Validate:
The Params::Validate module provides a flexible system for validation
method/function call parameters.  The validation can be as simple as
checking for the presence of required parameters or as complex as
validating object classes (via isa) or capabilities (via can),
checking parameter types, and using customized callbacks to ensure
data integrity.
2001-05-22 16:55:51 +00:00