Stories
Slash Boxes
Comments

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Submitted by cosimo on 2008.05.23 18:45
It required some trial and error on my part due to lack of experience using svn_load_dirs, but at last, we have it.

The full Win32::API source code history throughout all CPAN releases. Check it out, it's hosted on google code, together with all others Win32 specific modules.

Thanks to Jan for helping me out with this. And if you're wondering, I think it's time to "open up" the source code repository for Win32::API.
Lately I've been receiving lots of emails, requests for support, new implementations and bug reports for it.

Since I have less and less spare time, I think it's important that people that want or know how to contribute, do it. And do it on the "latest and greatest" version, with all recent bug fixes and/or new features.

Of course, a new version is currently in development. It should fix problems using DLL APIs with double or float arguments, together with other minor issues. I will need some more time to finalize these changes, and then hopefully I will release the new version on CPAN in a reasonable time.

So, here it is... Enjoy!

Submitted by cosimo on 2008.04.06 8:23
cosimo writes "This morning, after the coffee-powered briefing, I bugged David about CPAN::Shell. David patiently explained to me the thing. Thanks Dave! Then I went to bug Adrian about Test::Class::Load. After a short chat, I decided to hack on Test::Class::Load, originally by Ovid, :-), to make it subclassable and to allow custom filtering of underlying files to be loaded.

This is something I'd have liked to work on for some time, and we actually need this at $work.

Some hours later, I had put together a patch for Test::Class 0.28, which will hopefully become 0.29. Let's see... :-)

"

  My Oslo QA Hackaton - Day 1 2008-04-05 11:39 cosimo

Submitted by cosimo on 2008.04.05 11:39
cosimo writes "What can I say? I'm really happy I came here. Linpro's offices, the venue for the hackaton, are really at 5 minutes cycling distance from my house... :-)

Lots of cool people and interesting discussions. ADAMK, MarkOv, Andy Armstrong, DOMM, Ovid, Marcus, Merijn, the FreeBSD guys, Schwern, brian d foy, DAGOLDEN, Jonathan Worthington... Need to say more?

I even bugged JW to teach me something about Perl6 parser and actions...
Thanks to Marcus and Andy, there's also a nice Flickr photo collection...

Sadly I have to leave now, but I hope to get around here some time tomorrow...

Anyway, I haven't really understood if I should stick with EU::MM, or go for Module::Build, or even Module::Install... :-)

"

  Win32::API v0.53 released to CPAN 2008-03-01 20:29 cosimo

Submitted by cosimo on 2008.03.01 20:29
I just released version 0.53 of Win32::API. It should be available at your local CPAN mirror very soon.

This version should play nicer with CPAN testers, since it checks if the OS makes sense before going through Makefile.PL, so no more failures with Solaris, Linux, FreeBSD, and such are expected.

Please note that I published 0.51 one hour ago, but it's broken, so I have already scheduled its deletion. Please don't use 0.51.

Enjoy and please report to me any problems you have.

UPDATE: it seems that I screwed up again the META.yml and the dist resulted as UNauthorized because of my inclusion of Devel::AssertOS. Oh well...

.

For the real list of changes, look at CPAN's Changes file.

0.52-0.53:

  • Devel::AssertOS was not properly set up in 0.51.

0.51:

  • Cleaned up API.pm pod docs and clearly stated Win32::API license
  • Fixed $$/pid tests for Cygwin
  • Now uses Devel::AssertOS to check that we are on a Win32 or Cygwin system. This should ease the work of CPAN testers.

  Win32::API v0.52 released to CPAN 2008-03-01 19:59 cosimo

Submitted by cosimo on 2008.03.01 19:59
cosimo writes "I just released version 0.52 of Win32::API.
It should be available at your local CPAN mirror very soon.

Please note that I published 0.51 one hour ago, but it's broken, so I have already scheduled its deletion. Don't use 0.51.

Enjoy and please report to me any problems you have.

Latest changes
--------------

2008-03-01 Win32::API v0.52 Cosimo

      - Devel::AssertOS was not properly set up in 0.51.

2008-03-01 Win32::API v0.51 Cosimo

      - Cleaned up API.pm pod docs and clearly stated Win32::API license
      - Fixed $$/pid tests for Cygwin
      - Now uses Devel::AssertOS to check that we are on a Win32 or Cygwin system. This should ease the work of CPAN testers.

2008-02-23 Win32::API v0.50 Cosimo

      - Fixed RT#31702 http://rt.cpan.org/Public/Bug/Display.html?id=31702
          Thanks to RUrban for supplying the fix.

2008-02-20 Win32::API v0.49 Cosimo

      - Fixed the stack cleanup assembler statements for GCC in API.xs, I hope.
      - Fixed a Borland C macro definition in API.xs
      - Fixed META.yml (stupid me)

2008-02-20 Win32::API v0.48 Cosimo

      - Finally applied the cdecl/stdcall patch available since long time
          from http://www.xs4all.nl/~itsme/projects/perl/.
          Now Win32::API *can* work with cdecl DLLs.
          Fixes RT#32424 http://rt.cpan.org/Public/Bug/Display.html?id=32424
              and RT#24685 http://rt.cpan.org/Public/Bug/Display.html?id=24685
          Thanks to Willem Jan Hengeveld (itsme at xs4all.nl) for his great work. Thanks to JimK for a test case and to BrowserUk and others at PerlMonks for providing me useful information and complaints. :-)

          However, still missing some GCC assembler magic for stack cleanup. Any help?

      - Clarified licensing info. Yes, Win32::API is available with GPL 2 / Artistic license."
Submitted by cosimo on 2008.02.20 17:37
As you probably know, I have been struggling to get Win32::API to work on Vista with various MSVC++ and GCC compilers.

Since many have asked for it, and some brave soul had an old patch available on the net, I decided to give it a shot.
I had already tried 2 or 3 times to get this patch (originally for v0.41) integrated in the new Win32::API versions, but always failed at it.

Today I decided to take the full journey, and seems I succeeded. Probably I broke something else... :-)
Please bare with me. Anyway, I have 2 things left in this release that I want to address in the new one:

  • There's a Borland C macro def that is completely broken (thanks to BrowserUk for noticing)
  • I need to complete the stack cleanup assembler code at the end of Call() function in the XS code. This should be easy, for some definition of "easy", since I already have some examples of MSVC/GCC assembler code in my RT queue.

In the meanwhile, if you notice something wrong with your OS/Perl/compiler, please mail me or fill in your bug report in RT. Thanks!

Submitted by cosimo on 2007.12.28 18:49
cosimo writes "On my main PC used to develop CPAN work on Windows I had installed MSVC6, cygwin and strawberry/vanilla Perl.

At the start of November I had to switch to a new laptop with (arghh...) Vista. Then I installed MSVC++ 2005 and 2008, the free editions. And I installed also the Windows Server 2003 Platform SDK, which I thought was the SDK to go with.

Last week Vista ended up filling all its allocated disk space, and I decided to dump all MSVC & SDK installations plus other stuff to DVDs.

Then I reinstalled the compilers and the Microsoft Windows Vista SDK but since then I never got to compile anything again. The error messages are like the following:

gcc -c -I"\Program files\Microsoft SDKs\Windows\V6.0\Include" -I"\Program files\ Microsoft SDKs\Windows\V6.0\VC\include" -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_ READFIX -s -O2 -DVERSION=\"0.47\" -DXS_VERSION=\"0.47\" "-IC:\strawberry\ perl\lib\CORE" Callback.c
In file included from /Program files/Microsoft SDKs/Windows/V6.0/Include/winnt.h :105,
from /Program files/Microsoft SDKs/Windows/V6.0/Include/windef. h:177,
from /Program files/Microsoft SDKs/Windows/V6.0/Include/windows .h:155,
from Callback.xs:17: /Program files/Microsoft SDKs/Windows/V6.0/Include/basetsd.h:81: error: syntax e rror before "INT64"
/Program files/Microsoft SDKs/Windows/V6.0/Include/basetsd.h:81: warning: data d efinition has no type or storage class
/Program files/Microsoft SDKs/Windows/V6.0/Include/basetsd.h:85: error: syntax e rror before "UINT64"
/Program files/Microsoft SDKs/Windows/V6.0/Include/basetsd.h:85: warning: data d efinition has no type or storage class
/Program files/Microsoft SDKs/Windows/V6.0/Include/basetsd.h: In function `PtrTo Ptr64':
/Program files/Microsoft SDKs/Windows/V6.0/Include/basetsd.h:363: error: syntax error before "__int64"
...

They seem to be related to this basetsd.h header file and the INT64 typedefs.

Now I don't know if the Vista SDK is screwed up, and I'd better revert to the Win 2003 Server SDK, or I did something else which screwed up everything...

What the _______ is going on here? Anyone has experiences with Perl gcc/MSVC compiles on Vista?

Anyway, I remember having correctly compiled perl-5.10, parrot and Win32::API with MSVC2005 and 2008 with W2003 Platform SDK. I will try to revert back to that and retry everything from scratch.

I promise I will write a step-by-step walk-through if everything works in the end.
BTW, I'm also working on patching ExtUtils::MakeMaker to correctly detect the PASTHRU_INC Makefile variable (there's already a ticket on RT about that).

"