= Building the Portable Padre on Portable Strawberry Perl = (This is mostly important for the Padre development team and not the end user) How to include Padre into Portable Strawberry and how to release it * Download Portable Strawberry http://strawberryperl.com/ * http://strawberryperl.com/download/strawberry-perl-5.10.0.3-portable-beta-1.zip * unzip it to c:\portable * Theoretically we should not need this but both portable is a bit buggy and some * modules just call out to system("perl") that requires perl to be in PATH. So * set the PATH to include both c:\portable\c\bin and c:\portable\perl\bin * Install Padre using {{{ cpan> install Padre }}} * Install Plugins * .padre is currently in C:\ shall we set the PADRE_HOME to a directory in the portable distribution? (if so we can configure the plug-ins and ship them but we have to make sure the configuration files don't include personal history.. * remove the cpan_sqlite_log.... files from c:\portable\cpan * remove C:\portable\cpan\build and C:\portable\cpan\sources C:\portable\cpan\Bundle * remove C:\portable\perl\bin\lex which the temporary directory of STD.pm (~ 80 Mb) * ( the whole portable directory is now 202 Mb including a bare bones parrot and rakudo installation ) * copy portablepadre.bat and padrewrap.pl from the SVN of padre\tools\portable_strawberry to portable\perl\bin * run padre/trunk/tools/include_parrot.pl * create a zip file and drag all the content of c:\portable\ in it * (TODO isn't there a command line tool in portable to create the zip file ?) * The resulting zip file for Padre 0.25 on Portable Strawberry beta 1 was 60 Mb, == Parrot and Rakudo == Download git for windows and install it http://code.google.com/p/msysgit/ http://msysgit.googlecode.com/files/Git-1.6.3.2-preview20090608.exe Answers I selected: * Use Git Bash only * Use OpenSSH (though not really needed) * Use Windows style line endings Download command line SVN for windows and install it http://www.collab.net/downloads/subversion/ Download CollabNet Subversion Command-Line Client {{{ set PATH=%PATH%;C:\Program Files\Git\bin }}} Actual building instructions: {{{ mkdir c:\tools cd c:\tools git clone git://github.com/rakudo/rakudo.git six cd six }}} Optionally switch to a rakudo release tag. e.g. ThousandOaks For a list of planned rakudo release, please see: http://github.com/rakudo/rakudo/raw/master/docs/release_guide.pod {{{ git checkout ThousandOaks }}} {{{ 2009-11-19 Rakudo #23 (masak) 2009-12-17 Rakudo #24 (chromatic) 2010-01-21 Rakudo #25 (smash) 2010-02-18 Rakudo #26 (Su-Shee) }}} {{{ perl Configure.pl --gen-parrot --gen-parrot-prefix=c:\strawberry\six mingw32-make mingw32-make test mingw32-make install }}} Copy credits and licenses {{{ copy CREDITS c:\strawberry\six\rakudo_credits.txt copy LICENSE c:\strawberry\six\rakudo_license.txt copy parrot\LICENSE c:\strawberry\six\parrot_license.txt copy parrot\CREDITS c:\strawberry\six\parrot_credits.txt }}} Remove unneeded files {{{ del c:\strawberry\six\lib\libparrot.a del c:\strawberry\six\lib\parrot\1.7.0-devel\parrot_config.o }}} size: 34 MB zipped size: 7 Mb. In the Padre repo there is a tools\include_parrot.pl that could be refurbished and used to list the files that are needed by rakudo instead of deleting the others. See also http://rakudo.org/how-to-get-rakudo Switch back to master {{{ git checkout master }}}