DWIM Perl for Linux
The released package of DWIM Perl for Linux can be found at http://dwimperl.com/linux.html
Create derivative distribution
- Fork the repository
- Add and upgrade modules (see below)
- Build new version (see below)
Building manually from source
If you'd like to build DWIM Perl for linux yourself you can do so by the following these instructions:
Install the prerequisites which are 'make' and 'gcc'
Note: in some cases the file downloaded by
wget will have no .zip extension.
You might want to rename the file before proceeding
unzip master.zip cd dwimperl-linux-master ./build.sh perl # build perl ./build.sh cpanm # install cpanm ./build.sh dwim ./build.sh external ./build.sh specials # install special modules ./build.sh modules # install all the modules ./build.sh test_all # run a sanity check loading some of the modules we installed ./build.sh zip # create the tar.gz to be distributed
TBD: building based on existing DWIM Perl TBD: building on Digital Ocean
Look at http://www.cpan.org/src/README.html for the latest stable release of Perl
cd src/ wget http://www.cpan.org/src/5.0/perl-5.20.2.tar.gz
Update the PERL_VERSION in build.sh
OpenSSL is needed by Net::SSLEay which is needed by LWP::Protocol::https and Business::PayPal and more. Look at http://www.openssl.org/ and at http://www.openssl.org/news/ 11-Feb-2013: openssl-1.0.1e.tar.gz ... 06-Aug-2014: openssl-1.0.1i.tar.gz
cd src/ wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
Update the OPENSSL entry in build.sh
cd src wget ftp://xmlsoft.org/libxml2/libxml2-2.9.2.tar.gz
Update the LIBXML2 variable in build.sh
cd src wget http://zlib.net/zlib-1.2.8.tar.gz
Update the ZLIB variable in build.sh
XML::Parser needs expat.
Visit http://sourceforge.net/projects/expat/ and http://sourceforge.net/projects/expat/files/expat/ to see what is the latest then update the EXPAT variable in build.sh
cd src wget http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz
Needed by Geo::IP
cd src wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.5/GeoIP-1.6.5.tar.gz
Change the GEOIP variable in build.sh
Upgrade cpanm used for installing cpanm
Note: This copy of cpanm is only used to install the latest version of cpanm from CPAN. The rest of the modules are then installed using that version of cpanm.
cd src/ wget wget https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm
Add CPAN Modules
cpanfile add the names of the new modules.
carton install. It will download the zip files and install the modules.
Add the zip files to Git.
It seems that if a prerequisite is already installed in the perl we are using, this will not download the zip file of that prerequisites either. I think adding the prerequisite explicitely to the cpanfile helped. Sometimes the modules is actually added to the local/cache but it is not added to the local/cache/modules/02packages.details.txt file Adding the minimum version number to cpanfile and running carton install again helped.
Upgrade CPAN Modules
./build.sh outdated to list the distributions that have newer versions on CPAN.
cpanfile and put the new version number after the name of the module:
requires 'Module::Name', '3.14';
carton install to update the