#!/bin/bash ## src2pkg script for: perl ## Auto-generated by src2pkg-1.6 ## src2pkg Copyright 2005-2007 Gilbert Ashley ## Full package name: perl-5.8.8-${ARCH}-1.tgz # BASE_URL='http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/Devel/perl-lite-5.8.8' SOURCE_NAME='perl-5.10.0.tar.bz2' # EXTRA_SOURCES='slack-desc README' ALT_NAME='perl-lite' VERSION='5.10.0' # ARCH='${ARCH}' BUILD='1' PRE_FIX='usr' # Any extra options go here DOCLIST='AUTHORS README Copying' ALLOW_EMPTY_FILES="YES" # PATCHLIST='./Resources/microperl-uconfig.diff' # STD_FLAGS='-O2 -march=${ARCH} -mtune=i686' INCLUDE_MANS=1 # Get the functions and configs . /usr/libexec/src2pkg/FUNCTIONS ; # do_all_processes can substitute these 16 steps: pre_process find_source make_dirs unpack_source fix_source_perms # configure_source # compile_source # fake_install EXTRA_FLAGS='' LIB_PATH="/usr/local/lib${LIBDIRSUFFIX} /usr/lib${LIBDIRSUFFIX} /lib${LIBDIRSUFFIX}" CONFIG_OPTIONS="-de \ -Dprefix=/usr \ -Dcccdlflags='-fPIC' \ -Dinstallprefix=/usr \ -Dlibpth='${LIB_PATH}' \ -Doptimize='${STD_FLAGS}' \ -Dusethreads -Duseithreads \ -Dpager='/usr/bin/less -isr' \ -Dinc_version_list='5.8.8 5.8.7 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' \ -Darchname=${ARCH}-linux" cd $SRC_DIR; if [[ "$ARCH" = "x86_64" ]] ; then # adopted from "Cross Linux From Scratch" # Configure must be told to also use lib64: patch -p1 < $PATCHES_DIR/perl-lite-patches/perl.configure.multilib.patch # "perl -V" should report that libc is in /lib64 sed -i -e '/libc/s#/lib/#/lib64/#' hints/linux.sh # make perl use lib64: echo 'installstyle="lib64/perl5"' >>hints/linux.sh fi if [[ "$QUIET" = "YES" ]] ; then echo -n $BLUE"Running Configure script - "$NORMAL #./Configure $CONFIG_OPTIONS &> /dev/null ./Configure -de \ -Dprefix=/usr \ -Dcccdlflags='-fPIC' \ -Dinstallprefix=/usr \ -Dlibpth="${LIB_PATH}" \ -Doptimize="${STD_FLAGS}" \ -Dusethreads -Duseithreads \ -Dpager='/usr/bin/less -isr' \ -Dinc_version_list='5.8.8 5.8.7 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' \ -Darchname=${ARCH}-linux &> /dev/null else echo $BLUE"Running Configure script - "$NORMAL #./Configure $CONFIG_OPTIONS ./Configure -de \ -Dprefix=/usr \ -Dcccdlflags='-fPIC' \ -Dinstallprefix=/usr \ -Dlibpth="${LIB_PATH}" \ -Doptimize="${STD_FLAGS}" \ -Dusethreads -Duseithreads \ -Dpager='/usr/bin/less -isr' \ -Dinc_version_list='5.8.8 5.8.7 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' \ -Darchname=${ARCH}-linux fi if [[ $? -eq 0 ]] ; then echo $GREEN"Done"$NORMAL else echo $RED"FAILED configuration!"$NORMAL exit fi # Kludge for gcc-4.2.4's needlessly changed output: cat makefile | grep -v '\' > foo mv foo makefile cat x2p/makefile | grep -v '\' > foo mv foo x2p/makefile if [[ "$QUIET" = "YES" ]] ; then echo -n $BLUE"Compiling perl - "$NORMAL make &> /dev/null else echo $BLUE"Compiling perl - "$NORMAL make fi if [[ $? -eq 0 ]] ; then echo $GREEN"Done"$NORMAL else echo $RED"FAILED compilation!"$NORMAL exit fi # make the bin dir mkdir -p $PKG_DIR/usr/bin # install the perl binary cp $SRC_DIR/perl $PKG_DIR/usr/bin/perl${VERSION} ( cd $PKG_DIR/usr/bin/ ; ln -sf perl${VERSION} perl ) # make microperl just for fun # You can run very basic perl scripts with just microperl and a few scripts from the main lib dir. # (kernel can be compiled with nothing besides microperl and integer.pm!) #echo $BLUE"Compiling microperl"$NORMAL #make -f Makefile.micro regen_uconfig #make -f Makefile.micro # install a couple of useful utilities cp pod/pod2html pod/pod2man pod/pod2text $PKG_DIR/usr/bin/ cp x2p/a2p x2p/s2p $PKG_DIR/usr/bin/ ( cd $PKG_DIR/usr/bin/ ; ln -sf s2p psed ) if [[ $INCLUDE_MANS ]] ; then # make the man dir mkdir -p $PKG_DIR/usr/man/man1 # We cheated and copied the man-pages from a full install since the 'installman' helper script # doesn't respect DESTDIR -a act which makes a full compile and install of perl leave all # the uncompresssed man-pages on your system! cp $PATCHES_DIR/perl-lite-patches/perl.1 $PATCHES_DIR/perl-lite-patches/pod2html.1 $PATCHES_DIR/perl-lite-patches/pod2man.1 \ $PATCHES_DIR/perl-lite-patches/pod2text.1 $PATCHES_DIR/perl-lite-patches/a2p.1 \ $PATCHES_DIR/perl-lite-patches/s2p.1 $PKG_DIR/usr/man/man1/ fi # the line that follows each '# *' indicates an empty file. Apparently the serve as place-markers. # To make sure they get included in the package we define FORCE_ZERO_LENGTH above. mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi cp lib/B.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/B/Deparse.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/Config.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/Cwd.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/Data cp lib/Data/Dumper.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/Data/ cp lib/DynaLoader.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/Errno.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/Fcntl.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/File cp lib/File/Glob.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/File/ cp lib/IO.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/IO cp lib/IO/File.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/IO cp lib/IO/Handle.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/IO cp lib/IO/Pipe.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/IO cp lib/IO/Seekable.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/IO cp lib/IO/Select.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/IO cp lib/IO/Socket.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/IO cp lib/POSIX.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/Socket.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/XSLoader.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Cwd # * cp lib/auto/Cwd/Cwd.bs $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Cwd/ cp lib/auto/Cwd/Cwd.so $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Cwd/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Data/Dumper # * cp lib/auto/Data/Dumper/Dumper.bs $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Data/Dumper/ cp lib/auto/Data/Dumper/Dumper.so $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Data/Dumper/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/DynaLoader cp lib/auto/DynaLoader/DynaLoader.a $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/DynaLoader/ cp lib/auto/DynaLoader/autosplit.ix $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/DynaLoader/ cp lib/auto/DynaLoader/dl_expandspec.al $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/DynaLoader/ cp lib/auto/DynaLoader/dl_find_symbol_anywhere.al $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/DynaLoader/ cp lib/auto/DynaLoader/dl_findfile.al $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/DynaLoader/ cp lib/auto/DynaLoader/extralibs.ld $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/DynaLoader/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Fcntl # * cp lib/auto/Fcntl/Fcntl.bs $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Fcntl/ cp lib/auto/Fcntl/Fcntl.so $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Fcntl/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/File/Glob # * cp lib/auto/File/Glob/Glob.bs $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/File/Glob/ cp lib/auto/File/Glob/Glob.so $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/File/Glob/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/IO cp lib/auto/IO/IO.so $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/IO/ # * cp lib/auto/IO/IO.bs $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/IO/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/POSIX # * cp lib/auto/POSIX/POSIX.bs $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/POSIX/ cp lib/auto/POSIX/POSIX.so $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/POSIX/ cp lib/auto/POSIX/autosplit.ix $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/POSIX/ cp lib/auto/POSIX/load_imports.al $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/POSIX/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Socket # * cp lib/auto/Socket/Socket.bs $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Socket/ cp lib/auto/Socket/Socket.so $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/auto/Socket/ cp lib/lib.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/re.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/AutoLoader.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ cp lib/Carp.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/Carp cp lib/Carp/Heavy.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Carp/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/Exporter cp lib/Exporter/Heavy.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Exporter/ cp lib/Exporter.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/File cp lib/File/Spec.pm $PKG_DIR/usr/lib/perl5/${VERSION}/File/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/File/Spec cp lib/File/Spec/Unix.pm $PKG_DIR/usr/lib/perl5/${VERSION}/File/Spec/ cp lib/FileHandle.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/Getopt cp lib/Getopt/Long.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Getopt/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/IO/Socket cp lib/IO/Socket/INET.pm $PKG_DIR/usr/lib/perl5/${VERSION}/IO/Socket cp lib/IO/Socket/UNIX.pm $PKG_DIR/usr/lib/perl5/${VERSION}/IO/Socket mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/IPC cp lib/IPC/Open2.pm $PKG_DIR/usr/lib/perl5/${VERSION}/IPC/ cp lib/IPC/Open3.pm $PKG_DIR/usr/lib/perl5/${VERSION}/IPC/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/List cp lib/List/Util.pm $PKG_DIR/usr/lib/perl5/${VERSION}/List/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/Scalar cp lib/Scalar/Util.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Scalar/ cp lib/SelectSaver.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Scalar/ cp lib/Symbol.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Scalar/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/Text cp lib/Text/ParseWords.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Text/ cp lib/Text/Tabs.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Text/ cp lib/Text/Wrap.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Text/ cp lib/attributes.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/base.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/bytes.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/bytes_heavy.pl $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/constant.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/fields.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/integer.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/locale.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/overload.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/strict.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/utf8.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/utf8_heavy.pl $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/vars.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/warnings.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/warnings cp lib/warnings/register.pm $PKG_DIR/usr/lib/perl5/${VERSION}/warnings/ # the above listed files (apart from the binaries) is from the debian perl-base-5.8.8 list of files # I've added a few extras as I find the need for them # running 'autoreconf -if' shows these files lacking : lib/File/Basename.pm lib/File/stat.pm # lib/Class/Struct.pm lib/Symbol.pm lib/SelectSaver.pm lib/File/Copy.pm lib/File/Compare.pm # build 2 adds these: mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/File cp lib/File/Basename.pm $PKG_DIR/usr/lib/perl5/${VERSION}/File/ cp lib/File/stat.pm $PKG_DIR/usr/lib/perl5/${VERSION}/File/ cp lib/File/Copy.pm $PKG_DIR/usr/lib/perl5/${VERSION}/File/ cp lib/File/Compare.pm $PKG_DIR/usr/lib/perl5/${VERSION}/File/ cp lib/File/Path.pm $PKG_DIR/usr/lib/perl5/${VERSION}/File/ mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/Class cp lib/Class/Struct.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Class/ cp lib/Symbol.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ cp lib/SelectSaver.pm $PKG_DIR/usr/lib/perl5/${VERSION}/ # # more additions mkdir - $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/Encode cp ext/Encode/Encode.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/Encode.pm mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/Encode cp ext/Encode/lib/Encode/Alias.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/Encode/Alias.pm cp ext/Encode/lib/Encode/Encoding.pm $PKG_DIR/usr/lib/perl5/${VERSION}/${ARCH}-linux-thread-multi/Encode/Encoding.pm # for perl-5.10.0 added lib/File/Path.pm above and the following: mkdir -p $PKG_DIR/usr/lib/perl5/${VERSION}/Tie cp lib/Tie/Hash.pm $PKG_DIR/usr/lib/perl5/${VERSION}/Tie # This file shouldn't get clobbered: if [ -r $PKG_DIR/usr/lib${LIBDIRSUFFIX}/perl5/${VERSION}/${ARCH}-linux-thread-multi/perllocal.pod ]; then mv $PKG_DIR/usr/lib${LIBDIRSUFFIX}/perl5/${VERSION}/${ARCH}-linux-thread-multi/perllocal.pod \ $PKG_DIR/usr/lib${LIBDIRSUFFIX}/perl5/${VERSION}/${ARCH}-linux-thread-multi/perllocal.pod.new fi fix_pkg_perms strip_bins create_docs compress_man_pages make_description make_doinst make_package post_process # src2pkg - Copyright 2005-2007 Gilbert Ashley ## See the documentation for more help and examples. Below are some of # the most common Extras and Options for easy cut-and-paste use. # EXTRA_CONFIGS='' PRE_FIX='' DOCLIST='' # MAKE_COMMAND='' INSTALL_LINE='' # SHELL_INSTALL='YES' CORRECT_PERMS='NO'