SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "emacs"

# SliTaz package receipt.

PACKAGE="emacs"
VERSION="23.4"
CATEGORY="development"
SHORT_DESC="The GNU Emacs editor"
MAINTAINER="domcox@slitaz.org"
DEPENDS="atk cairo dbus expat freetype fontconfig giflib glib gtk+ jpeg libgio libpng \
librsvg util-linux-ng-uuid ncurses pango tiff xorg-server zlib librsvg libgsf"
BUILD_DEPENDS="atk-dev cairo-dev expat-dev dbus-dev freetype-dev fontconfig-dev \
giflib-dev glib-dev gtk+-dev jpeg-dev libgio-dev libpng-dev librsvg-dev ncurses-dev \
pango-dev pkg-config tiff-dev xorg-dev xorg-dev-proto"
SUGGESTED="alsa-lib"
TARBALL="$PACKAGE-$VERSION.tar.gz"
WEB_SITE="http://www.gnu.org/software/emacs/"
WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
TAGS="text-editor"

# Rules to configure and make the package.
compile_rules()
{
    cd $src
    # Gzip workaround in busybox
    sed -i 's/${GZIP_PROG} -9n/${GZIP_PROG}/g' Makefile.in
    sed -i 's/${GZIP_PROG} -9n/${GZIP_PROG}/g' leim/Makefile.in
    # Configure (with GCC 4.5.0 workaround)
    CFLAGS="-g -O2 -fno-optimize-sibling-calls" ./configure $CONFIGURE_ARGS \
        --infodir=/usr/share/info \
        --mandir=/usr/share/man \
        --without-makeinfo \
        --without-gconf \
        --with-sound \
        --with-x \
        --with-toolkit-scroll-bars \
        --with-xpm=yes \
        --libexecdir=/usr/lib \
        --localstatedir=/var/lib \
        --sharedstatedir=/var/lib \
        --prefix=/usr && \
    make $MAKEFLAGS && \
    make DESTDIR=$DESTDIR install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    # Binary files
    BIN_FILES="b2m ctags ebrowse emacs emacsclient etags grep-changelog rcs-checkin"
    echo -n "Copying emacs binary files"
    mkdir -p $fs/usr/bin && \
    for file in $BIN_FILES; do
        cp -a $_pkg/usr/bin/$file $fs/usr/bin
    done
    status
    # Lib files
    echo -n "Copying emacs lib files"
    cp -a $_pkg/usr/lib $fs/usr
    status
    strip -s $fs/usr/lib/$PACKAGE/${VERSION:0:4}/i486-pc-linux-gnu/* 2> /dev/null
    # lisp files
    LISP_DIR="    lisp lisp/calc lisp/calendar lisp/cedet lisp/cedet/ede lisp/cedet/semantic \
                lisp/cedet/semantic/analyze lisp/cedet/semantic/bovine lisp/cedet/semantic/decorate \
                lisp/cedet/semantic/symref lisp/cedet/semantic/wisent lisp/emacs-lisp lisp/emulation \
                lisp/erc lisp/eshell lisp/gnus lisp/international lisp/language lisp/mail lisp/mh-e \
                lisp/net lisp/nxml lisp/obsolete lisp/org lisp/play lisp/progmodes lisp/textmodes lisp/url"
    for dir in $LISP_DIR; do
        echo -n "Copying $dir files"
        mkdir -p $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir && \
        cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/*.elc $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir
        if [ `ls $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/ | grep -c \.el$` -gt 0 ]; then
            cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/*.el $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir
        fi
        for file in COPYING README TODO; do
            if [ -e $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/$file ]; then
                cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/$file $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir
            fi
        done
        status
    done
    # Use linux term only
    LINUX_TERM="README linux.el rxvt.elc tty-colors.elc vt100.elc xterm.elc"
    echo -n "Copying lisp/term files (linux only)"
    mkdir -p $fs/usr/share/$PACKAGE/${VERSION:0:4}/lisp/term && \
    for file in $LINUX_TERM; do
        cp -a $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/lisp/term/$file $fs/usr/share/$PACKAGE/${VERSION:0:4}/lisp/term
    done
    status
    # leim files
    echo -n "Copying leim files"
    mkdir -p $fs/usr/share/$PACKAGE/${VERSION:0:4}/leim && \
    cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/leim/*.el $fs/usr/share/$PACKAGE/${VERSION:0:4}/leim
    status
    LEIM_FILES="leim/ja-dic leim/quail"
    for dir in $LEIM_FILES; do
        echo -n "Copying $dir files"
        mkdir -p $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir && \
        cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/*.elc $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir && \
        for file in COPYING README TODO; do
            if [ -e $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/$file ]; then
                cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/$file $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir
            fi
        done
        status
    done
    # Conf files
    echo -n "Copying conf files"
    CONF_FILES="ETAGS.README charsets e edt-user.el emacs2.py emacs3.py emacs-buffer.gdb emacs.py \
                forms-d2.dat gnus nxml schema enriched.doc ms-kermit ps-prin0.ps ps-prin1.ps \
                ses-example.ses spook.lines yow.lines"
    mkdir -p $fs/usr/share/$PACKAGE/${VERSION:0:4}/etc && \
    for file in $CONF_FILES; do
        cp -a $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/etc/$file $fs/usr/share/$PACKAGE/${VERSION:0:4}/etc
    done
    status
    # Pixmaps files
    XPM_DIR="    images images/custom images/ezimage images/gnus images/gud images/mail images/mpc \
                images/smilies images/smilies/grayscale images/smilies/medium images/tree-widget/default \
                images/tree-widget/folder"
    for dir in $XPM_DIR; do
        echo -n "Copying $dir xpm files"
        mkdir -p $fs/usr/share/$PACKAGE/${VERSION:0:4}/etc/$dir && \
        cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/etc/$dir/*.xpm $fs/usr/share/$PACKAGE/${VERSION:0:4}/etc/$dir && \
        for file in COPYING README TODO; do
            if [ -e $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/$file ]; then
                cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/$dir/$file $fs/usr/share/$PACKAGE/${VERSION:0:4}/$dir
            fi
        done
        status
    done
    PNG_DIR="    images images/gnus images/tree-widget/default images/tree-widget/folder"
    for dir in $PNG_DIR; do
        echo -n "Copying $dir png files"
        cp $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/etc/$dir/*.png $fs/usr/share/$PACKAGE/${VERSION:0:4}/etc/$dir && \
        status
    done
    # Licence
    GNU_FILES="AUTHORS BABYL CENSORSHIP COPYING DISTRIB FTP GNU ORDERS SERVICE copying.paper"
    echo -n "Copying License files"
    for file in $GNU_FILES; do
        cp -a $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/etc/$file $fs/usr/share/$PACKAGE/${VERSION:0:4}/etc
    done
    status
    # Install specific site file
    echo -n "Installing specific SliTaz file"
    mkdir -p $fs/usr/share/$PACKAGE/site-lisp/site-start.d && \
    cp -a $_pkg/usr/share/$PACKAGE/site-lisp $fs/usr/share/$PACKAGE && \
    cp -a $stuff/default.el $fs/usr/share/$PACKAGE/site-lisp && \
    cp -a $stuff/90-slitaz.el $fs/usr/share/$PACKAGE/site-lisp/site-start.d
    status
    # Install desktop files for emacs
    echo -n "Installing emacs menu"
    mkdir -p $fs/usr/share/pixmaps $fs/usr/share/applications && \
    cp -a $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/etc/emacs.desktop $fs/usr/share/applications/ && \
    cp -a $_pkg/usr/share/icons/hicolor/32x32/apps/emacs.png $fs/usr/share/pixmaps
    status
    # Add a desktop file for emacs client
    echo -n "Installing emacsclient menu"
    cp -a $_pkg/usr/share/$PACKAGE/${VERSION:0:4}/etc/emacs.desktop $fs/usr/share/applications/emacsclient.desktop && \
    sed -i 's/Exec.*/Exec=xterm -e emacsclient --alternate-editor="" %F/' $fs/usr/share/applications/emacsclient.desktop && \
    sed -i 's/Name=.*/Name=Emacsclient/' $fs/usr/share/applications/emacsclient.desktop
    status
    # Directory  workaround
    cd $fs/usr/share/$PACKAGE/${VERSION:0:4}
    ln -s ../site-lisp site-lisp
}

post_install()
{
    cd /usr/share/emacs/site-lisp
    cat <<-EOF >site-start.el
    ;; site-start.el for SliTaz            -*- no-byte-compile: t -*-
    ;;
    ;; (C) GNU gpl v3 - SliTaz GNU/Linux 2009.
    ;;
    ;; This default site startup file for Emacs was created by tazpkg
    ;; reconfigure emacs. You may modify this file, replace it by your
    ;; own site initialisation, or even remove it completely.
    ;;
    EOF
    START_FILES=`ls site-start.d/ | sort`
    for file in $START_FILES; do
        cat site-start.d/$file >> site-start.el
    done
}

post_remove()
{
    rm -rf /usr/share/emacs
    rm -rf /usr/lib/emacs
}
3382 packages and 430813 files in stable database (Mon Mar 4 17:53:49 2019)