Computers: January 2001 Archives
Hi, I'm the new maintainer for MacPerl. I've been programming in Perl since 1995, and in MacPerl since 1996. I wrote MacPerl: Power and Ease with Vicki Brown and Rich Morin, and have written a bunch of tools and modules for MacPerl. I work for OSDN, a division of VA Linux, writing Perl code for Slashdot by day and battling supervillains by night. I write for The Perl Journal, and run the Perl News and use Perl web sites. https://pudge.net/macperl/
Matthias Neeracher wrote MacPerl, and was its developer and maintainer since 1991. After eight long years (according to my fuzzy math) under his administration, it is time to restore dignity and character to Perl on Mac OS. :-) When Matthias asked me to take over the maintenance of MacPerl, my primary concerns were ability and availability. As to ability, I know I have nothing close to his acumen in this area. But, I have confidence in the Perl community to help me with the project, and to contribute its time and expertise. And Matthias assured me that he would work with my transition team, so I can get up to speed as quickly as possible, and be able to rely on him as little as necessary. As to availability, I've decided that this is too great an opportunity for me to pass up. I will learn more about many different things, and a new MacPerl is something that the community wants and needs, and I believe I can help make it happen. With the community's help, I think it will be done, and it will be good. Matthias left MacPerl in really good shape, but there's a lot left to do, and I hope I can get help from the rest of the community as we work toward MacPerl 5.6 and beyond. Don't ask what MacPerl can do for you, ask what you can do for MacPerl. So, what is the future of MacPerl? The immediate future is to get the buildable source of MacPerl 5.6.0 into the hands of those who are inclined to help. This source has been released (see below for details). Following that will be cycles of testing, porting, fixing, etc. Soon we will be doing an analysis of the perl 5.6.1 code (still in development) to evaluate what would be necessary to move to 5.6.1. I think most people would prefer releasing 5.6.1 instead of 5.6.0. Hopefully, this will happen, and won't slow down our efforts much. And as soon as this is done, we will release a public beta. When we are confident that it works well, we will do the actual release. There is no timeline for this, as one may imagine. I will likely set short-term "deadlines" for various phases of the process as we get more into it. How fast we get through the phases will largely depend on the community. One really great thing about what Matthias has done with MacPerl over the last year is that he has separated the Mac-specific code into a separate subdirectory (macos), so you can just add in the subdirectory to the perl directory and build it. Future ports of MacPerl will be much simpler because of this. There are a handful of patches to the perl source required, changes to things like paths in perl.c, and whitespace handling in toke.c. These changes, largely, have already been added to "maintperl" (what will be 5.6.1) and "bleadperl" (what is 5.7.0), but we aren't sure if they still work, what further changes might be needed, etc. I figure sometime soon we'll move to 5.6.1 and just start testing. And, speaking of testing: testing and module porting are two of the areas where the most work from volunteers will be needed. Perl comes with an extensive test suite. The goal will be to run the tests, note where the tests don't work, and make appropriate changes in the tests (or in the code, in the case of a bug) to make the tests work. This may also involve reading the tests to make sure that there are not false positives, in some cases. There are plenty of modules that need to be ported, too. File::Find is entirely broken on Mac OS, for instance. In order to facilitate all this, I will be setting up some thingys on SourceForge to track modules and tests, and will be looking for volunteers to take modules and tests, work on them, make changes, and report back. They are not ready yet. When they are, I will, of course, announce it. SourceForge is a nice killer app for open source developers, a free service to the open source community from VA Linux. It offers, to developers for their open source projects, access to FTP, CVS, patch and bug and task management, web space, and more. So you can, at any time, go to SourceForge and check the latest bugs reports, see what tasks are being worked on, get the latest source from CVS, etc. To be involved with development, please register yourself at SourceForge and join the macperl-porters mailing list, if you have not done both already. On an individual basis I will be adding willing volunteers to the MacPerl project on SourceForge to help with bugs, patches, documentation, etc. I will be doing this slowly at first, I imagine. http://sourceforge.net/ http://macperl.sourceforge.net/ http://sourceforge.net/projects/macperl/ http://lists.perl.org/ Please use the bug reporting there for any bugs related to current MacPerl or the development MacPerl; just mark it appropriately, and always give complete version information for what software you are using. You can also make suggestions and feature requests on the bug page. [* NOTE: The bug submission page on SourceForge is currently broken. Hopefully it will be fixed by the time you read this. Please just hold on to any bugs until it is fixed.] I've also been keeping a "diary" on SourceForge, available from my SourceForge page, which might help those who are interested follow what I am up to on the development. http://sourceforge.net/users/pudge/ We are changing the versioning system of MacPerl. Whereas before the version of MacPerl was e.g. 5.2.0r4, which represented perl 5, MacPerl 2.0 (of 5), and maintenance release ("r") 4 of perl (thus corresponding with perl 5.004), it will now be e.g. 5.6.0r1, where 5.6.0 is the perl version, "r" is release ("d" is development), and 1 is the build number. This will make following the version of MacPerl much simpler. There will be no CFM68K build of MacPerl 5.6, at least a first. If there is enough interest, and there are people to help work on it, then we can support it later. So this means there will be no dynamic loading for 68K Macs, unless this is done. Those who really want CFM68K support need to speak up on the macperl-porters list, and hopefully can lend a hand. The worst case scenario is that people who want extra modules under 68K Macs can set up the source on their own system and link in the modules statically, but it would be nice to have dynamic loading support. So that's about it, for now. Please direct general discussion to the macperl list and porting discussion to the macperl-porters list. And if you are so inclined, head on over to the MacPerl page at SourceForge, get familiar with what's going on, and see the "Build Instructions" page for information on how to build it. Note that almost anyone with a relatively recent Mac can build MacPerl, using only freely available tools. This is a very good thing. http://macperl.sourceforge.net/build.html Thanks a ton to Matthias for the wonderful gift he has given us in MacPerl, Larry Wall for his gift of perl, and all those who came before and after who have helped and continue to help this project be possible, and fun. I look forward to a great time and a great release. "The technical specialist marine will accompany us," Ashnak continued. "Captain Barashkukor--Captain!" The small orc, his chin on his hands, continued to gaze fondly at Razitshakra, who ignored him. "Captain!" Barashkukor jumped three inches in his seat, stood up, saluted, and yelled, "Sir, yes sir!" Ashnak sighed. "You are promoted to major, Barashkukor. You will hold Nin-Edin with the orcs until our return. Send out snipers, raiding parties, sallies--harass the enemy, Major, keep them off-balance." Barashkukor, his wistfully dreamy gaze returning to the spectacled female orc, murmured, "Yes, yes, of course. Whatever you think best, General." -- Book 2, Chapter 3, Grunts!, by Mary Gentle Chris Nandor pudge@pobox.com https://pudge.net/ Tuesday, January 30, 2001
I just need to fix a few things in the source (see the bugs and previous diary entries), do another test or two, and release this thing. I am preparing an announcement, a sort of the State of MacPerl.
Hopefully, soon the SourceForge blokes will fix the diary viewing problem, and they will add to the project admin section the code that will allow me to start using MySQL on http://macperl.sourceforge.net/.
I think I've decided to work late nights on Monday, Tuesday, Wednesday, and I really won't get much work done on other days. This will help me focus more, and help this to not overrun my life.
On the Slash front, there are some bugs I am working on (esp. with Template stuff), and we want to get another beta out soon.
Brian Aker and I are going to finish up an outline for a Perl Conference presentation, hopefully a 90-minute talk on Slash.
Hopefully, soon the SourceForge blokes will fix the diary viewing problem, and they will add to the project admin section the code that will allow me to start using MySQL on http://macperl.sourceforge.net/.
I think I've decided to work late nights on Monday, Tuesday, Wednesday, and I really won't get much work done on other days. This will help me focus more, and help this to not overrun my life.
On the Slash front, there are some bugs I am working on (esp. with Template stuff), and we want to get another beta out soon.
Brian Aker and I are going to finish up an outline for a Perl Conference presentation, hopefully a 90-minute talk on Slash.
I uncovered some problems with @INC and require, so I dug into the perl source for the first time (well, except for some playing around before). I found the place in perl.c that was causing our @INC problems (I sitll don't know the exact solution; I have some ideas, but am not sure of the ramifications), and Simon Cozens pointed me to pp_ctl.c for pp_require, and that led me to util.c for PERL_FILE_IS_ABSOLUTE or somesuch. I am not sure what the logic should be there yet, but I put in some test code and it is working OK for now.
Anyway, it's good to get into it and play around with the code.
Anyway, it's good to get into it and play around with the code.
Thanks to Matthias, we have only one thing remaining for MrC/SC builds that is not working (as far as the build itself is concerned), and that is the translators. And you can just comment out one thing in the Makefile for that. I have successfully built, without a hitch, the entire thing from start to finish without a hitch, using all four compilers, or SC/MrC alone. This is a Good Thing.
So I think I am going to, regardless of whether it is all working (shared libs for MrC build, but don't work, and some of the install does not work, I think because File::Find is busted, etc.), do a source release so I can bring in more anxious and inclined souls.
So I think I am going to, regardless of whether it is all working (shared libs for MrC build, but don't work, and some of the install does not work, I think because File::Find is busted, etc.), do a source release so I can bring in more anxious and inclined souls.
What's left: a cleanup of the Makefiles, plus Matthias' welcome assistance in getting some of the other things (x2p, MPDroplet, UnPreload, FontLDEF, and dynamic libraries) for the SC/MrC-only build. It works now with MWC, but I want to get this working with the other two alone before releasing it. I might not wait though, I am not sure. I will be in the office tomorrow and might not get anything significant done, anyway, so there is no rush.
We got together and finished up the beta of Slash, slash-1.1.2-bender. It's coming together nicely. A lot of bugs and tweaks left, but it can be installed and played with, and we forsee no more changes to the schema.
I started a build today on the iBook, and ran into a few snags (it was an SC/MrC-only build). I am trying to get them worked out, with Matthias' help. Someday I am going to let him retire. ;-)
I started a build today on the iBook, and ran into a few snags (it was an SC/MrC-only build). I am trying to get them worked out, with Matthias' help. Someday I am going to let him retire. ;-)
We are going to do a big ol' test of Slash tomorrow, and if all goes well, we can release a beta this week. Everything for beta is pretty much crossed off our lists.
I got some organization things, and web site things, worked out with MacPerl, which is good, but I wanted to do a test build today, and couldn't download from MPW apple.com, because their FTP site was basically cleaned out. Been that way since sometime Sunday. Hrmph. I'll try again later; Matthias tried to send it to me from the CD, but the upload failed for some reason.
I got some organization things, and web site things, worked out with MacPerl, which is good, but I wanted to do a test build today, and couldn't download from MPW apple.com, because their FTP site was basically cleaned out. Been that way since sometime Sunday. Hrmph. I'll try again later; Matthias tried to send it to me from the CD, but the upload failed for some reason.
I finally got MP3::Info out, version 0.90. Not 15 minutes after it went out -- after the previous version has been out for over 10 months -- dynweb gives me a bug report (a warning isn't being caught for files of size 0). Figures.
I got a lot done on MacPerl over the past few days. I am going to do a build from scratch, hopefully tomorrow, maybe on the iBook or iMac. Then I can finish up the build instructions, and do an alpha source release.
I got a lot done on MacPerl over the past few days. I am going to do a build from scratch, hopefully tomorrow, maybe on the iBook or iMac. Then I can finish up the build instructions, and do an alpha source release.