This page describes stuff relating to perl and p5-* ports in tree for perl@
Contents
perl@ PRs
Current list of people in perl@
committers
- az
- bapt
- chinsan
- clsung
- crees
- culot
- dinoex
- ehaupt
- gabor
- jadawin
- kuriyama
- lbr
- leeym
- lth
- mat
- miwi
- mm
- pgollucci
- sahil
- sem
- skreuzer
- skv
- sunpoet
- swills
- tobez
- wen
non committers
Aliaksandr Zahatski <zahatski@gmail.com> [perl 6 related]
How to commit for perl@?
Actually, it's not definitive, but tobez@ submitted this idea:
- the committer made at least 10 commits for unique perl@-maintained port
- the committer maintains at least 10 p5-ports on his own
IRC
You can find some of perl@ people on IRC MagNet. Feel free to connect and ask questions or discuss a future of perl ports on FreeBSD.
Tips and Tricks
Test Dependencies
I (tobez@) found it useful recently to add TEST_DEPENDS clause to the ports I commit to. It has exactly the same syntax as old good BUILD_DEPENDS and RUN_DEPENDS (which almost always means listing versioned package dependencies). It is not currently supported in any way by bsd.{port,perl}.mk framework, and portlint will produce a warning (which I happily ignore) about it. But it is immediately useful:
- It is clear at a glance what ports needs to be installed in order for make test to have a chance to be successful.
- In the future someone might implement support for it in the ports framework.
- My own pre-commit test scripts understand this clause, which increases my productivity quite a bit.
So, in brief, I'd like to see this practice expanding.
I (swills@) have been adding quite a few TEST_DEPENDS and have added some support to the ports tinderbox for TEST_DEPENDS as well. There is also a patch:
which adds some logic for it. With this patch, you can add:
- export USE_PERL_TEST=yes
to your tinderbox/scripts/etc/env/GLOBAL file and tinderbox will run the tests for you.
You may also want this patch:
As it makes tinderbox add the RUN_DEPENDS to the TEST_DEPENDS.
If you wish to make tinderbox fail the build if the tests fail, you can change this line of tinderbox/scripts/lib/buildscript:
- /pnohang $TIMEOUT /tmp/make.log5 ${pkgname} make -k regression-test
to this:
/pnohang $TIMEOUT /tmp/make.log5 ${pkgname} make regression-test || cleanup 5
I've been using this to test and fix all the p5- ports that don't pass their tests, but there are many and help is welcome. I hope to add support to ports proper for testing eventually.
CPAN shortcut for expanding author/id/X/XX/XXX
I (az@) found it useful recently to add CPAN:CPANID clause to the ports I commit to.
It happened that CPAN modules /by-module symlink is no longer available for new modules versions. CPAN /modules/by-author is still available but maybe it will have the same fate. Therefore to properly use the only correct method of /author/id.
Examples of replacement:
BEFORE |
AFTER |
MASTER_SITES= CPAN |
MASTER_SITES= CPAN |
MASTER_SITES= CPAN../by-authors/id/J/JP/JPEACOCK |
MASTER_SITES= CPAN |
MASTER_SITES= CPAN |
MASTER_SITES= CPAN |
In this examples CPAN:JPEACOCK will be expanded to authors/id/J/JPEACOCK and this magic works only while you using CPAN keywork inside MASTER_SITES. I think this is a transitional solution, and when all p5-ports will have the current syntax, I would like to see such syntax: <CPAN>/<AUTHORID>/<ANYTHING INSIDE AUTOR DIRECTORY>.
EXAMPLE OF FUTURE SYNTAX |
MASTER_SITES= CPAN |
MASTER_SITES= CPAN/JPEACOCK |
MASTER_SITES= CPAN |
MASTER_SITES= CPAN/JPEACOCK/DIRECTORY |
Patches |
Comment |
Allow also use new syntax with overloaded MASTER_SITE_PERL_CPAN inside /etc/make.conf |
Removing SITE_PERL from DEPENDS
See http://wiki.freebsd.org/PortsLongtermTargets#Use_of_SITE_PERL_in_dependencies