Camelbox Home Page :: Gtk2-Perl Links Page :: Camelbox Credits :: Camelbox Docs Home
Building Camelbox: Build Start :: Build Setup :: Build Base Perl :: Build Core GTK+ :: Build Extra GTK+ :: Build External Apps
- Perl source
- (Optional)
Unix Utilities for Windows;
this package has a lot of the external utilities you will need when you run
the CPAN shell or tools on Windows
- Install to `C:\camelbox``
- You'll have to rename some of the
UnxUtilties
binaries so they don't conflict with the Windows equivalents (list of renamed UnxUtilities) - Or use https://sourceforge.net/projects/gnuwin32?
- Or build a custom version of the *NIX tools?
- MinGW
- The MinGW software is now installed from a centralized installer, from
which you can install extra packages if you wish (mostly compilers and
make
) - Camelbox only needs the "MinGW base tools" and "g++ compiler" packages
- MinGW Installer downloads
- Install to
C:\camelbox\
- The MinGW software is now installed from a centralized installer, from
which you can install extra packages if you wish (mostly compilers and
dmake
- downloadable from CPAN
- Install to
C:\camelbox\
- The
dmake.exe
file andstartup
folder should be placed in theC:\camelbox\bin
folder - Make sure the paths to
gcc.exe
, anddmake.exe
(and it's subdirectories) are set in the system's environment- Windows 7:
- Right click on
Computer
- Choose
Properties
- Click on
Advanced System Settings
- Click on the
Advanced
tab - Click the
Environment Variables
button - In the
System variables
box, scroll down until you get to thePATH
environment variable, then double click to edit it, and add the path togcc.exe
anddmake.exe
to the end of that line- Use semicolons to separate path components, and quote characters to quote any paths with space in them
- Right click on
- Windows 7:
See also the build setup page, which describes how to unpack the binary zipfiles in order to repackage them for distribution using the Camelbox installer. After performing each of these steps in order, run the following:
- a
xfind
on thecamelbox
directory in order to create a snapshot of what files were installed - a
diff -u
on the file you just created and the file that was created in the previous step of the build process; the first file obviously will have nothing todiff
against, but subsequentdiff
s will show how the contents change over time.
Points at which you need to run a checkpoint xfind/diff
:
- After dropping UnxUtils and
dmake
xfind /camelbox | sed -e '{/^\/camelbox$/d; s/\/camelbox[\\]*//;}' | tee 00-base-unxutils_dmake.txt
- MinGW
- Perl, with simple CPAN config (remember to set
HOME
prior to running CPAN for the first time) - Perl YAML module
- Perl LWP module
- After copying over the GTK binaries
- After installing core Gtk2-Perl
- After any extra Gtk2-Perl modules
- (Optional) LZMA and 7zip
Note: the filelist should not contain any bare directories, unless you want
the contents of those directories archived as well; tar
apparently is
greedy. Also, tar
does not like lines that end with CR/NL
(MS-DOS), it
just likes *NIX-style line endings (LF
only).
The GNU tar
on Windows expects forward slashes in it's filelists:
tar -cvf - -Tperl-5.10.0.txt > test.list.tar
perl-5.10.0.txt
looks like this:
bin/a2p.exe
bin/c2ph.bat
bin/config_data.bat
bin/corelist.bat
bin/cpan.bat
Generate filelists with (zsh.exe
)
xfind /camelbox | sed -e '{/^\/camelbox$/d; s/\/camelbox[\\]*//;}'
Windows MS-DOS Box version:
xfind /camelbox | sed -e "{/^\/camelbox$/d; s/\/camelbox[\\]*//;}"
Generate lists of the packages_dir with:
xfind . | sed '{/^\.$/d; s/^\.\\//; s/\\/\//g;}' > /temp/_package_dirs.txt
Create a LZMA compressed tarball:
lzma e /path/to/input/tarball.tar /path/to/output/file.tar.lzma
Create an LZMA compressed tarball using a list of files
cd C:\camelbox
tar -cvf - -Tfilelist.txt | lzma e -si /path/to/output/file.tar.lzma
Create an LZMA compressed tarball using a list of files, with comments filtered out
cd C:\camelbox
grep -v "#" /path/to/package_list.txt | tar -cv -T - \
| lzma e -si /path/to/output/file.tar.lzma
Unpack a LZMA compressed tarball
lzma d -so demo.tar.lzma | tar -xvf -
Next step: Setting up files to be placed into archives
vim: set filetype=markdown shiftwidth=2 tabstop=2: