Citrus Perl

Citrus Perl News

Citrus Perl 5.16.3 Released

Citrus Perl 5.16.3 has been released including the latest Wx 0.9918.

Some long standing issues with usage on a PPC Mac running Mac OS X Tiger 10.4 have been resolved so Citrus now installs on that platform again. You cannot create a new distribution that can target Intel Macs if you are running on a Mac OS X Tiger 10.4 PPC based Mac but that is the only restriction I think. (MacOSX 10.4 does not support it).

Raspberry Pi & Citrus

A version of Citrus Perl for the Raspbian Wheezy operating system on the Raspberry Pi has been released.

Citrus Perl 5.16.1 Updated

The current 5.16.1 release of Citrus Perl has been updated with some useful new features.

The distribution now has a working updates system so this should be the last full Perl 5.16.1 release. Additions and bug fixes can now work using the update system.

The additional modules build into Citrus Perl have now been grouped into packages that can be removed or updated using the the Citrus Package Management features.  In addition to supporting updates, this system removes the need for separate distributions of Citrus Perl for the different wxWidgets builds; 2.8.x and 2.9.x. On platforms that support both versions of wxWidgets, you can now swap the 2.8.x and 2.9.x builds as often as you wish. A 'Wx Bundle Package' is provided for each version of wxWidgets that will install all the required packages for your requested wxWidgets version and remove all conflicting packages.

The versions of Wx and related modules are, of course, the latest from CPAN.

The package system also provides the option to remove unwanted packages if you are re-packaging your own distribution. An option to remove absolutely all GUI components from a re-packaged distribution is also provided which will remove 20 to 30 mb from the package size depending on the platform.

The layout of Citrus Perl has also changed for the better and there is no longer a fixed top level path name in the distribution. The distribution is now always packaged and will extract to a top level directory of 'perl'. After extraction you may change the directory name from 'perl' to anything you wish provided you do so before the distribution has been relocated by running relocateperl or the Citrus Utilities.

The help pages provided with the utilities application have been expanded and are now also published as Online Help Pages.

Upgrading from a previous release of Citrus is now far less expensive in time as the utilities application allows you to import all the modules from the 'site' folder of a compatible Citrus release. Any paths in the modules or binaries will be relocated to the new path of the importing Perl during import. You access this feature from the Utilities Tools Menu.

The Mac OS X 32 bit Intel distribution now has Wx packages for both wxWidgets 2.8.12 and 2.9.4. This supports swapping the versions in and out as you wish. The 64 bit Mac OS X distribution has only wxWidgets 2.9.4 as the 2.8.x branch does not support 64 bit builds on Mac OS X.

On Linux the ubuntults flavour only has wxWidgets 2.9.4 packages built. The only reason here is an attempt to limit the number of build variations to be supported. A wxWidgets 2.8.12 package in the ubuntults flavour can offer nothing more than the package in the standard Linux Citrus Perl flavour so there did not seem much point.

Nearly all of the code used to build the Citrus packages is now included within the distribution itself. The goal is that Citrus should be able to 'boot' build itself or an updated version from sources at some point in the future. In addition to the executable source and patch files included within the distribution, the 'scripts' used to build external static dependencies are at the sourceforge site. These are more like 'organic' notes than a serious build system but they do at least contain all the config params and patches used on all platforms and architectures to get the static libraries preferable for a binary distribution. At some point these will get wrapped in a generic way and included as part of the distributed Citrus build system.

I think that as a bundle these changes represent a welcome improvement to Citrus Perl and should make Citrus a more pleasant tool to use and to support. I am certainly pleased with the improvements.

Ubuntu LTS CitrusPerl Released

With the release of  an updated CitrusPerl there also comes a new flavour 'ubuntults'.

This flavour is provided to give access to the latest available features of wxWidgets 2.9.4 on the most recent releases of Linux distributions. In addition to using more up to date libraries this flavour is also able to provide the useful Wx::WebView for Linux users.

Although named 'Ubuntu LTS' after the environment on which it is built, this Citrus Perl flavour is suitable for any recent Linux distribution and has been tested on Fedora 17.

Please read the Installation instructions for Citrus Perl where a couple of runtime requirements are listed. this will avoid initial disappointment running the application or attempting to use Wx::GLCanvas and Wx::WebView.

Citrus Perl 5.16.1 Updated

To support the features available in Wx 0.9912  with enabled builds of wxWidgets, Citrus Perl 5.16.1 has been updated with a new release available for download.

An important and useful feature made available in Wx 0.9912 is runtime assertions in wxWidgets 2.9.4 and above.

There is a wiki entry on the subject at the wxPerl wiki but it basically gives you debug build like information in release mode builds. The assertions can be switched on and off by your Perl code or by an environment variable.

There is also a fix for an old standing problem with Hash::Util::FieldHash which may please the Moose herd.

Citrus Perl 5.16.1 Released

Citrus Perl downloads are back with the release of Citrus Perl 5.16.1.

Versions are available containing wxWidgets 2.8.12 or 2.9.4.

On MacOSX, support has been added for Mountain Lion and the 2.9.4 wxWidgets version is now a 64 bit Perl.

Downloads are now hosted at to ensure continuous availability.