Bug 192264

Summary: [new port] devel/p5-Callback-Frame - Preserve error handlers and "local" variables across callbacks
Product: Ports & Packages Reporter: Bill Brinzer <bill.brinzer>
Component: Individual Port(s)Assignee: freebsd-perl (Nobody) <perl>
Status: Closed FIXED    
Severity: Affects Only Me CC: pi
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 192265    
Attachments:
Description Flags
p5-Callback-Frame.shar
none
p5-Callback-Frame.shar
none
p5-Callback-Frame-1.100-10.0-amd64.log
none
p5-Callback-Frame-1.100.log
none
p5-Callback-Frame.shar
none
p5-Callback-Frame-1.100.log none

Description Bill Brinzer 2014-07-30 04:25:56 UTC
Created attachment 145140 [details]
p5-Callback-Frame.shar

This is a dependency of new port devel/p5-AnyEvent-Task, which I plan to submit shortly.

When programming with callbacks in perl, you create anonymous functions with
sub { ... }. These functions are especially useful because when they are called
they will preserve their surrounding lexical environment.They are essential for
convenient and efficient asynchronous programming.

For many applications we really like straightforward callback style. The goal
of Callback::Frame is to simplify the management of dynamic environments while
leaving callback style alone.
Comment 1 John Marino freebsd_committer freebsd_triage 2014-07-30 08:02:32 UTC
Same deal, describe what testing this has been through
Comment 2 Bill Brinzer 2014-08-01 19:00:46 UTC
Created attachment 145222 [details]
p5-Callback-Frame.shar

Replacement .shar file with the following changes suggested by poudriere:

  - Add missing @dirrmtry statements for lib/perl5, etc.
  - Set NO_ARCH= true. (Not sure why I used "true" for this port unlike "yes" for the other three I submitted at the same time. Poudriere didn't seem to mind. Please let me know if this is wrong & I should change.)
Comment 3 Bill Brinzer 2014-08-01 19:01:12 UTC
Created attachment 145223 [details]
p5-Callback-Frame-1.100-10.0-amd64.log

"poudriere testport" logs for this port on 10.0-RELEASE amd64.

I also have logs for 9.3-RELEASE amd64, and the i386 flavors of these releases, if you want them (but I'm guessing they are not necessary since the port is CPU independent as poudriere pointed out).
Comment 4 John Marino freebsd_committer freebsd_triage 2014-08-01 19:07:21 UTC
once more with "poudriere bulk -t" if you don't mind.  (sorry!)
Comment 5 Bill Brinzer 2014-08-01 19:23:22 UTC
Will do!
Comment 6 Bill Brinzer 2014-08-04 15:04:40 UTC
Created attachment 145344 [details]
p5-Callback-Frame-1.100.log

Attached is a log with stage-qa output, from "poudriere bulk -t".
Comment 7 John Marino freebsd_committer freebsd_triage 2014-08-04 15:14:03 UTC
Same story as the others, you don't need to try to remove directories that perl installed:

====> Running Q/A tests (stage-qa)
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for directories owned by MTREEs
===> Checking for directories handled by dependencies
Warning: Possibly owned by dependency: @dirrmtry %%PERL5_MAN3%%
Warning: Possibly owned by dependency: @dirrmtry lib/perl5/%%PERL_VER%%/man
Warning: Possibly owned by dependency: @dirrmtry lib/perl5/%%PERL_VER%%
Warning: Possibly owned by dependency: @dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto
Warning: Possibly owned by dependency: @dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%
Warning: Possibly owned by dependency: @dirrmtry %%SITE_PERL%%
Warning: Possibly owned by dependency: @dirrmtry lib/perl5/site_perl
Warning: Possibly owned by dependency: @dirrmtry lib/perl5
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)
====>> Checking for staging violations... done
Comment 8 Bill Brinzer 2014-08-04 15:26:15 UTC
OK, will fix.
Comment 9 Bill Brinzer 2014-08-04 16:33:28 UTC
Created attachment 145361 [details]
p5-Callback-Frame.shar

New shar file with corrected pkg-plist.
Comment 10 Bill Brinzer 2014-08-04 16:34:05 UTC
Created attachment 145362 [details]
p5-Callback-Frame-1.100.log

stage-qa output for attachment #145361 [details].
Comment 11 John Marino freebsd_committer freebsd_triage 2014-08-04 16:48:32 UTC
Looks good, patch-ready!
Comment 12 John Marino freebsd_committer freebsd_triage 2014-08-11 08:37:38 UTC
Assigning to perl@ per new policy
Comment 13 commit-hook freebsd_committer freebsd_triage 2014-08-17 16:57:00 UTC
A commit references this bug:

Author: pi
Date: Sun Aug 17 16:56:05 UTC 2014
New revision: 365204
URL: http://svnweb.freebsd.org/changeset/ports/365204

Log:
  New port: devel/p5-Callback-Frame

  When programming with callbacks in perl, you create anonymous
  functions with sub { ... }. These functions will preserve their
  surrounding lexical environment. Sometimes people call these
  anonymous functions that reference variables in their surrounding
  lexical scope "closures". Whatever you call them, they are essential
  for convenient and efficient asynchronous programming.

  For many applications we really like straightforward callback style.
  The goal of Callback::Frame is to simplify the management of dynamic
  environments while leaving callback style alone.

  WWW: http://search.cpan.org/dist/Callback-Frame/

  PR:		192264
  Submitted by:	bill.brinzer@gmail.com

Changes:
  head/devel/Makefile
  head/devel/p5-Callback-Frame/
  head/devel/p5-Callback-Frame/Makefile
  head/devel/p5-Callback-Frame/distinfo
  head/devel/p5-Callback-Frame/pkg-descr
  head/devel/p5-Callback-Frame/pkg-plist
Comment 14 Kurt Jaeger freebsd_committer freebsd_triage 2014-08-17 16:57:48 UTC
Committed, thanks.