Steve, Johan, et.al.

I'm sorry to hear that Citrus Perl is dormant. It worked well for me.

Listed below is an annotated version of Steve's script.

Before I try to run it, I have more questions.

There are some git commands between perl Build and perl Build Install and
between make and make install. Is this ordering necessary? I'd like to move
the git stuff below the build/make stuff.

Should there be a section for recommended other perl modules to install?
What would be a good list of these for a broad audience.

Any other comments/corrections are welcome.

James

#!/bin/bash
#
# wxPerl Installation Script for Ubuntu 14.04LTS 64bit
#
# Author:        Steve Cookson (Kbuntu 14.04LTS 64bit Version)
# Modified By:        James M. Lynes, Jr.
# Last Modified:    October 2, 2014
#
# To Install:    Save this file as wxPerl-Installer.sh
#        Open a Terminal window
#        sudo -s
#        sh wxPerl-Installer.sh
#
# Notes:    This script uses your system Perl.
#        Installs wxWidgets 3.0.1 below your home directory.
#            see the --wxWidgets-version=3.0.1 line below
#        Modify this script to add any Perl Modules you require.
#        This script takes approximately # hours and ## minutes to run
#            on an HP 15 with Intel 2.6 Ghz Quadcore
#
#
# Reset packages in case there was a previous crash.
#
cd ~                    # Install into your home directory
dpkg --configure -a            # Configure all unpacked packages
apt-get -y update            # Resync package indexes
apt-get -y upgrade            # Install newest version of packages
#
# Install the dependencies first
#
# Install the Development Environment
#
apt-get -y install make                 # Needed for cpan
apt-get -y install g++
apt-get -y install gcc
apt-get -y install subversion            # Needed for proper
Alien-wxWidgets and wxPerl
apt-get -y install git                  # Needed for custom install
Alien-wxWidgets and wxPerl
apt-get -y install libgconf2-dev    # Needed as wxMediaCtrl dependency
apt-get -y install libgtk-3-dev        # Needed as wxMediaCtrl dependency
apt-get -y install libexpat1-dev
apt-get -y install libtiff4-dev
apt-get -y install libpng12-dev
apt-get -y install libjpeg-dev
apt-get -y install libcairo2-dev
apt-get -y install libxmu-dev
apt-get -y install libwebkitgtk-dev
#
# Install the Video environment (wxMediaCtrl dependencies)
#
apt-get -y install libgstreamer0.10-dev            # Needed for
Alien-wxWidgets and wxPerl
apt-get -y install libgstreamer-plugins-base0.10-dev    # Needed for
Alien-wxWidgets and wxPerl
#
apt-get -y install cups-pdf                             # Needed for PDF
printing
apt-get -y install apparmor-utils            # Confine an application's
resources
aa-complain cupsd                    # Report resource policy violations
#
# Install Perl modules
#
cpan -i ExtUtils::XSpp                    # Needed by wxPerl/Alien install
cpan -i ExtUtils::ParseXS                # Needed by wxPerl Makefile.PL
cpan -i XSLoader                    # Needed by wxPerl/Alien install
cpan -i Encode                        # Needed for utf-8
cpan -i Test::Pod                    # ?
cpan -i ExtUtils::MakeMaker                # ?
cpan -i Pod::Coverage                    # ?
cpan -i Test::Pod::Coverage                # ?
#
# Install OpenGL and Dependencies
#
apt-get -y install libglu1-mesa-dev
apt-get -y install freeglut3-dev
apt-get -y install mesa-common-dev            # Needed by OpenGL
apt-get -y install libsdl1.2-dev            # ?
apt-get -y remove libwxgtk2.8-dev
apt-get -y install libwxgtk3.0-dev
apt-get autoremove                    # Remove packages no longer needed
cpan -i OpenGL
#
# Download Alien-wxWidgets(wxWidgets)
#
cd ~
git clone https://github.com/SteveBz/Alien-wxWidgets
#
# Compile wxWidgets
#
cd ~/Alien-wxWidgets
perl Build.PL \
    --wxWidgets-build=1 \
    --wxWidgets-graphicscontext \
    --wxWidgets-build-opengl=1 \
    --wxWidgets-version=3.0.1 \
    --wxWidgets-source=tar.bz2 \
    --wxWidgets-unicode=1 \
    --wx-unicode='yes' \
    --wxWidgets-extraflags="--enable-graphics_ctx \
                        --disable-compat26 \
                        --enable-mediactrl \
                        --with-libjpeg=builtin \
                        --with-libpng=builtin \
                        --with-regex=builtin \
                        --with-libtiff=builtin \
                        --with-zlib=builtin \
                        --with-expat=builtin \
                        --with-libxpm=builtin \
                        --with-gtk=2\
                        --with-gtkprint"
#
perl Build
# Baseline Alien-wxWidgets on git.
git init
git add *
git commit -am "Adding Alien-wxWidgets baseline"
perl Build install
ldconfig                        # Configure dynamic linker run-time bindings
#
cd ~
git clone https://github.com/SteveBz/wxPerl
cd ~/wxPerl
perl Makefile.PL
make
# Baseline wxPerl on git.
git init
git add ~/wxPerl
git commit -am "Adding wxPerl baseline"
make install
#
# Install predecessors for Wx::PdfDocuments
#
cd ~
cpan -i Wx::GLCanvas
cpan -i Text::Patch
cpan -i Wx::PdfDocument
#
# Install wxDemo
#
cpan -i Wx::Demo
#
# Install Locally Needed Modules
#
cpan -i App::cpanminus
cpan -i Device::SerialPort::Arduino
cpan -i GDGraph-1.48
#
# Done
#

Reply via email to