MojoMojo wiki software on Gentoo

| No Comments

MojoMojo is a great wiki software based on Catalyst. Installation, however, can be quite a nightmare if you want to do it through the package manager of your operating system because of the many Perl libraries it depends on. Using the package manager is actually a good idea, unless you decide to install all dependencies locally through local::lib, as it doesn't pollute your system and makes upgrade operations much more linear.

Although almost no Linux distribution has packages for all all those libraries, Gentoo has a project which already provides ebuilds for them and for MojoMojo itself. They can be found in the Perl overlay:;a=summary

The overlay can be easily synced using the layman Gentoo tool (see this wiki page for more information). You can then just add the overlay with:

layman -a perl-experimental

and you're nearly ready to emerge dev-perl/MojoMojo. Yeah, nearly. You have to perform some (potentially) boring operations before, which include the unmasking of all the ebuilds in the overlay (300 or so): autounmask or a combination awk, perl and/or some other tool will help you adding them to /etc/package.keywords. Hopefully, portage will allow us to use wildcards for unmasking soon or after.

MojoMojo itself is currently hard masked because a dependency of it, dev-perl/Encode has conflicting files with perl 5.8.8. So, first of all you need to add MojoMojo and Encode to /etc/portage/package.unmask and then decide what to do regarding the conflict. You can either ignore it and install Encode with perl 5.8.8 or (best of all) unmask perl as well and upgrade it to 5.10.1 (it's in the same overlay). In my experience, perl 5.10.1 is very stable on Gentoo, and upgrading to it will also help testing it and speed its inclusion in mainstream Portage.

Once you sorted out the perl thing (don't forget to run perl-cleaner if you upgrade... ;-)), take a look at the MojoMojo USE flags and enable what you need. Here's an excerpt from the metadata.xml file:

<flag name="createdb">Create new Database automatically</flag>
<flag name="docbook">DocBook formatter</flag>
<flag name="tocgen">Table Of Contents Generator</flag>
<flag name="podformatter">POD formatterr</flag>
<flag name="syntaxhighlight">Syntax Highlightert</flag>
<flag name="transclusion">Transclusion support</flag>
<flag name="amazonboxes">Amazon boxes</flag>
<flag name="rssformatter">RSS Formatter</flag>
<flag name="emoticons">Emoticons</flag>
<flag name="recaptcha">reCAPTCHA for anonymous edits</flag>

There are two other entries in the file ( markdown and autodeploy ) which refer to older version of the software and are not to be used anymore.

When emerging, portage will surely ask you to unmask some more packages: it's boring, bot once done... it's done. When everything is unmasked, just relax while MojoMojo installs. ;-)

At this point you have everything you need, and you can just unwrap a MojoMojo package anywhere you like and customize it to create your wiki. At present time this is the only option, although ideally one should be able to use webapp-config to create a new blog in the future.

Leave a comment

About this Entry

This page contains a single entry by Michele Beltrame published on September 10, 2009 4:19 PM.

Installing Perl as an unpriviledged user was the previous entry in this blog.

Pragmatic Version Control using Git is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.



OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.14-en