What follows are build instructions and notes for the various OS's that AmphetaDesk has been successfully developed on. The below mostly focuses on creating the runtimes for Windows and Mac's, but does cover some environmental aspects. If you have no intention of developing or adding code to AmphetaDesk, you can leave this page. This page is NOT for end-users - only developers or hackers. If you're looking for install instructions, check the README.txt.
There are a number of Perl modules that AmphetaDesk needs to run
successfully. Most of these modules are installed on normal systems since
they're pretty common for Perl use, but some, like XML::Parser and
XML::Simple, require the expat C
library, which may or may not be installed. If you're planning on
building AmphetaDesk, it's probably a good idea to make sure you have the
latest modules installed. Under ActiveState's ppm
, you'd want
to issue a verify
(PPM2) or upgrade
(PPM3) command.
Under a normal CPAN shell, you'd do r
instead.
On Linux systems, you can run perl -MCPAN -eshell
and then
install Module::Name
to install specific modules. On Windows,
you'd use the ActiveState ppm
command line utility, with the
same install line. Mac's running OS 9 require that you use the special (included)
cpan-mac
conversion to download and install the modules. OS X users should
assume they're running a Linux system.
The most important modules are contained within Bundle::LWP,
libwww-perl and XML::Parser. Make sure these packages are
installed on your system, and you should be all set. Specific third party
modules, like XML::Simple and Text::Template are shipped
with AmphetaDesk in the lib/
directory.
The Win32 build of AmphetaDesk is compiled with the (freeware)
ActiveState Perl 5.6.0.635 and
(shareware) Perl2EXE v7.02.
We'd like to switch to using PAR, but there are currently
two problems facing us: 1) regardless of the .exe name you choose, it's
always referred to as par.exe
internally, causing worrisome
firewall notices and 2) similarly, the compiled .exe is extracted to
a random subdirectory of $TEMP
for each run, causing spurious
firewall notices for a new instance of the same program. The first
problem is being addressed by the PAR maintainers for the 0.77 release.
When compiling for Win32, make sure that all Perl are set for DOS line feeds.
To build the Win32 GUI, you'll need some Perl modules intended only for
Windows. You can install Win32::API via the ppm
command line utility, along with Win32::TieRegistry. For
AmphetaDesk v0.93, we've used versions 0.41 and 0.23 respectively. For the
Win32::GUI module, however, you'll have to get the latest download
from SourceForge
(v0.0.670) and follow the install instructions within. Note that if you're
building for Windows 95, you'll need to use the latest 0.5.x version
of Win32::GUI - the v0.0.6x line works only on Windows 98 and higher.
To create the Win32 binary with Perl2EXE:
AmphetaDesk.pl
and uncomment the three lines that end with "for windows compile".lib/
directory to lib2/
(so that the modules won't be compiled into the .exe
).cd
to the AmphetaDesk source directory.perl2exe -gui -icon=templates/default/gui/win_icon.ico
-perloptions=-p2x_noshow_includes AmphetaDesk.pl
(all one line).
-perloptions
may be invalid depending on your Perl2EXE version).lib2/
back to lib/
.To create the Win32 binary with PAR (currently not shipped):
AmphetaDesk.pl
and uncomment the three lines that end with "for windows compile".cd
to the AmphetaDesk source directory.pp --icon=templates/default/gui/win_icon.ico
--gui -o AmphetaDesk.exe AmphetaDesk.pl
.This will create an AmphetaDesk.exe
file within your
AmphetaDesk source directory. At this point, manually test the compiled
.exe
file for stability. When you're satisifed that things are
working fine, we'll finalize our build by preping the directory for
archiving into our final zip file. You should remove the following files and
directories, which will insure a default installation of AmphetaDesk:
CVS/
directories.data/channels/
directory.docs/images/
.data/myChannels.opml
file (and any backups).data/mySettings.xml
file (and any backups).At this point, you should be ready to create and name the archive.
The Macintosh build uses MacPerl
5.6.1r1. When compiling the Macintosh build, make sure that the
AmphetaDesk.pl
file and all files in the lib/
directory are set for Macintosh line feeds. We also need StandaloneBuilder,
a revised version of the old MacPerl 5.2.x RuntimeBuilder,
to create the distributable runtime. StandaloneBuilder is from Axel Rose.
To create the Macintosh binary:
lib/
directory to the @INC
search.AmphetaDesk.pl
and uncomment the two lines that end with "for macintosh compile".AmphetaDesk.pl
script onto StandaloneBuilder.dp
.Once the build process has finished, you'll have an
AmphetaDesk f
directory. This will contain the
AmphetaDesk.run
application, and a (possibly empty) directory
called shared libs
under the existing lib
.
Currently, the shared libs
directory needs to have various
MacPerl XS files copied into it (with their correct directory structure).
These are: Events
, Files
, InternetConfig
,
Memory
, Types
, and /auto/XML/Parser/Expat/Expat
.
Rename the AmphetaDesk f
directory to your archive name
(see "Archive File Names" below) and copy over the data/
,
docs/
, extras/
, and templates/
directories. You should also remove the following files and directories,
which insure a default installation of AmphetaDesk:
CVS/
directories.data/channels/
directory.docs/images/
.data/myChannels.opml
file (and any backups).data/mySettings.xml
file (and any backups).Manually test the compiled AmphetaDesk.run
(be sure to
rename it to just AmphetaDesk
before archiving) file for
stability. When testing has completed, be sure to remove the automagically
generated data/channels/
and data/internal/
directories.
At this point, you should be ready to create and name the archive.
The OS X wrapper is a custom Cocoa application using Mac OS X 10.1.5 and the April 2002 Developer Tools. It was developed and compiled by l.m.orchard with the Project- and Interface Builder tools and the source code and docs are available from his site or by requesting a copy from Morbus. If you learn anything from his code, make sure you tell l.m.orchard you love him, because I certainly do. Currently, this code has not been tested under Panther, and no version of AmphetaDesk is known to work.
To create the Mac OS X binary for 10.2 and below:
AmphetaDesk.pbproj
file.AmphetaDesk.app
into the AmphetaDesk source directory.Now, manually test the compiled .app
file for stability. The
.app
runs the AmphetaDesk.pl
file, so make sure
that interaction between the two (browser opening, log display, etc.)
happens as intended. When you're satisifed that things are working fine,
we'll finalize our build by preping the directory for archiving into our
final disk image. You should remove the following files and directories,
which will insure a default installation of AmphetaDesk:
CVS/
directories.data/channels/
directory.docs/images/
.data/myChannels.opml
file (and any backups).data/mySettings.xml
file (and any backups).At this point, you should be ready to create and name the archive.
All completed archives should be named in the following conventions:
Obviously, how the archives are compressed depends on the OS.