# 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 }