Update of /cvsroot/fink/experimental/todai/ecc/main/finkinfo/editors
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18299

Added Files:
        emacs22-carbon.info emacs22-carbon.patch 
Log Message:
emacs22-carbon with some nice patches and elisp's.

--- NEW FILE: emacs22-carbon.info ---
Package: emacs22-carbon
Version: 22.0.50.cvs20060118
Revision: 2
BuildDepends: libncurses5, fink (>= 0.24.2)
Depends: emacsen-common, passwd, macosx
Provides: emacsen
Conflicts: user-ja (<< 2.2)
Source: http://www.j10n.org/files/emacs-%v.tar.bz2
Source-MD5: b9e7f98a24abc252c379109b92709bbb
Source2: 
http://downloads.sourceforge.jp/macemacsjp/18551/inline_patch-20060118.tar.gz
Source2-MD5: 10b08573c6c1114c1d552f36e222a4a4
Source3: 
http://downloads.sourceforge.jp/macemacsjp/16865/transparency-2.1.1.tar.gz
Source3-MD5: fcc6c8803c31c1081c5b26bcb90d4c46
Source4: 
http://downloads.sourceforge.jp/macemacsjp/16789/fixed-width-fontset-0.9.0.tar.gz
Source4-MD5: dabad41eb11f64d5351ff628ca8a11e7
Source5: http://downloads.sourceforge.jp/macemacsjp/17718/mac-functions.patch
Source5Rename: mac-functions-20051116.patch
Source5-MD5: 6d122157a8c1c98b2b569e07da545206
Source6: http://downloads.sourceforge.jp/macemacsjp/17715/utf-8m.el
Source6Rename: utf-8m-20051124.el
Source6-MD5: 54197bdbfcca0755be10625bef2d9ea6
Description: Flexible real-time text editor, Aqua native
DocFiles: <<
  AUTHORS COPYING README mac/README:mac.README
  ../transparency2/readme:transparency2.readme
  ../transparency2/readme.ja:transparency2.readme.ja
  ../fixed-width-fontset/readme:fixed-width-fontset.readme
  ../fixed-width-fontset/readme.ja:fixed-width-fontset.readme.ja
<<
ConfFiles: %p/var/games/%n/tetris-scores %p/var/games/%n/snake-scores
AppBundles: finktmp/mac/Emacs22.app

PatchScript: <<
#!/bin/sh -ev

# Remove CVS date from version number (%v) and append '-carbon' suffix
v=`expr "%v" : '\(.*\)\.cvs'`-carbon

sed -e 's|@PREFIX@|%p|g' \
    -e 's|@EMACS-FLAVOR@|%n|g' \
    -e "s|@EMACS-VERSION@|$v|g" \
    %a/%n.patch | patch -p1
patch -p0 < ../inline_patch-20060118/emacs-inline.patch
patch -p0 < ../transparency2/transparency2.patch
mkdir finktmp
cp ../fixed-width-fontset/carbon-font.el 
../fixed-width-fontset/fixed-width-fontset.el finktmp
patch -p0 < ../mac-functions-20051116.patch
cp ../utf-8m-20051124.el finktmp/utf-8m.el
<<

SetMAKEFLAGS: -j1
SetCPPFLAGS: -DUSE_ATSUI
SetCFLAGS: -fconstant-cfstrings
ConfigureParams: --build=%m-apple-darwin`uname -r|sed 's/\..*//'` 
--infodir='${prefix}/share/info' --mandir='${prefix}/share/man' 
--libexecdir='${prefix}/lib' --with-carbon --enable-carbon-appdir= --without-x 
--without-gif --without-toolkit-scroll-bars
CompileScript: <<
#!/bin/sh -ev

# Remove CVS date from version number (%v) and append '-carbon' suffix
v=`expr "%v" : '\(.*\)\.cvs'`-carbon

case `uname -r` in
    7.*)
    if fgrep -q '7.0.4' 
/System/Library/Frameworks/QuickTime.framework/Resources/version.plist; then
        echo 'QuickTime 7.0.4 breaks the build on 10.3.' >&2
        echo 'Get 7.0.1 reinstaller and downgrade QuickTime.' >&2
        echo 
'http://www.apple.com/support/downloads/quicktime701reinstallerforquicktime704.html'
 >&2
        exit 1
    fi;;
esac
./configure %c
# Sync .elc's with patched .el's
(cd src && make bootstrap) || exit
(cd lisp && make recompile EMACS=../src/bootstrap-emacs) || exit
# Compile emacs with new *.elc
make

/usr/bin/find mac/Emacs.app ! -path "*/CVS" ! -name CVS ! -name .cvsignore > 
app.list
/usr/bin/cpio -pdL finktmp < app.list
mv finktmp/mac/Emacs.app finktmp/mac/Emacs22.app
EMACSLOADPATH=$PWD/finktmp:$PWD/lisp src/emacs -batch --no-init-file 
--no-site-file --multibyte -f batch-byte-compile 01carbon-emacs.el finktmp/*.el
<<

InstallScript: <<
#!/bin/sh -ev

# Remove CVS date from version number (%v) and append '-carbon' suffix
v=`expr "%v" : '\(.*\)\.cvs'`-carbon

# Install Everything (except Emacs.app)
make prefix=%i install
case `id -u` in 0) chown games %i/var/games/%n/*;; esac

# Move some files to avoid conflicts with other emacsen
for f in %i/share/man/man1/{emacs.1,ctags.1,emacsclient.1,etags.1} \
        %i/bin/{ctags,emacsclient,etags} \
        %i/bin/{b2m,rcs-checkin,ebrowse,grep-changelog}; do
    mv "$f" "$f.%n"
done

# Wrapper script for the command-line invokation
rm %i/bin/emacs %i/bin/emacs-$v
install -m 755 emacs.bash %i/bin/emacs-$v
ln -s emacs-$v %i/bin/%n
ln -s emacs-$v %i/bin/Emacs22.app

mkdir -p %i/etc/emacs
mkdir -p %i/etc/%n/site-start.d
mkdir -p %i/share/%n
mv %i/share/emacs/$v/site-lisp %i/share/%n/
(cd %i/share/emacs/$v; ln -s ../../%n/site-lisp site-lisp) || exit

mv %i/share/info %i/share/info-%n
mkdir -p %i/share/info
mv %i/share/info-%n %i/share/info/%n
rm %i/share/info/%n/dir %i/share/info/%n/dir.old
chmod 755 fix-info mangle-info
./fix-info %i/share/info/%n

rm %i/share/emacs/site-lisp/subdirs.el
install -m 644 finktmp/*.el finktmp/*.elc %i/share/%n/site-lisp
install -m 644 01carbon-emacs.el 01carbon-emacs.elc %i/etc/%n/site-start.d

# Patch Emacs22.app to load %p/bin/init.sh
ebd="finktmp/mac/Emacs22.app/Contents/MacOS/"
mv "$ebd/Emacs" "$ebd/Emacs.bin"
install -m 755 Emacs.finkwrap "$ebd/Emacs"
<<

PostInstScript: <<
# Remove CVS date from version number (%v) and append '-carbon' suffix
v=`expr "%v" : '\(.*\)\.cvs'`-carbon

mkdir -p %p/etc/lisp/emacs/$v/site-lisp
mkdir -p %p/etc/lisp/emacs/site-lisp

  # Priorities are set to low not to disturb non-carbon emacsen...
update-alternatives --install %p/bin/emacs emacs %p/bin/%n 35 \
        --slave %p/share/man/man1/emacs.1 emacs.1 %p/share/man/man1/emacs.1.%n
update-alternatives --install %p/bin/ctags ctags %p/bin/ctags.%n 35 \
        --slave %p/share/man/man1/ctags.1 ctags.1 %p/share/man/man1/ctags.1.%n
update-alternatives --install %p/bin/etags etags %p/bin/etags.%n 55 \
        --slave %p/share/man/man1/etags.1 etags.1 %p/share/man/man1/etags.1.%n
update-alternatives \
        --install %p/bin/emacsclient emacsclient %p/bin/emacsclient.%n 35 \
        --slave %p/share/man/man1/emacsclient.1 emacsclient.1 \
                                        %p/share/man/man1/emacsclient.1.%n
update-alternatives --install %p/bin/b2m b2m %p/bin/b2m.%n 35
update-alternatives \
        --install %p/bin/rcs-checkin rcs-checkin %p/bin/rcs-checkin.%n 35
update-alternatives --install %p/bin/ebrowse ebrowse %p/bin/ebrowse.%n 35
update-alternatives --install %p/bin/grep-changelog grep-changelog \
                                        %p/bin/grep-changelog.%n 35

# Regiser ourselves with emacsen-common
%p/lib/emacsen-common/emacs-install %n

# Since we're placing our info files in a subdirectory of %p/share/info
# we need to manually add each doc to the info dir-file
# NOTE: list of info docs also present in prerm script and "fixinfo"
#   included in the emacs22-carbon.patch
for file in ada-mode autotype ccmode cl dired-x ebrowse ediff efaq eintr \
    elisp emacs emacs-mime emacs-xtra eshell eudc forms gnus idlwave \
    info message mh-e newsticker org pcl-cvs pgg reftex sc ses sieve \
    smtpmail speedbar tramp url vip viper widget woman
do
  install-info --infodir=%p/share/info \
        --section "Carbon Emacs" "Carbon Emacs" %p/share/info/%n/${file}
done
<<

PreRmScript: <<
# Remove CVS date from version number (%v) and append '-carbon' suffix
v=`expr "%v" : '\(.*\)\.cvs'`-carbon

# Manually remove all of our info docs from the dir-file
for file in ada-mode autotype ccmode cl dired-x ebrowse ediff efaq eintr \
    elisp emacs emacs-mime emacs-xtra eshell eudc forms gnus idlwave \
    info message mh-e newsticker org pcl-cvs pgg reftex sc ses sieve \
    smtpmail speedbar tramp url vip viper widget woman
do
  install-info --infodir=%p/share/info --remove-exactly %n/${file}
done

if [ $1 != "upgrade" ]; then
  update-alternatives --remove emacs %p/bin/%n
  update-alternatives --remove emacsclient %p/bin/emacsclient.%n
  update-alternatives --remove ctags %p/bin/ctags.%n
  update-alternatives --remove etags %p/bin/etags.%n
  update-alternatives --remove b2m %p/bin/b2m.%n
  update-alternatives --remove rcs-checkin %p/bin/rcs-checkin.%n
  update-alternatives --remove ebrowse %p/bin/ebrowse.%n
  %p/lib/emacsen-common/emacs-remove %n
fi
<<

DescDetail: <<
GNU Emacs is an extensible, customizable, self-documenting real-time
display editor. Through its extensibility, it is actually much more
than an editor. You can use it as a file manager, mail reader, web
browser, and for many other tasks. Some people even use it to control
their coffee machine.

This package installs Carbon port of GNU Emacs, which can natively run
on Mac OS X window system.  Also supports input methods for
international languages.

Use -nw option to use this emacs on terminal.
<<

DescPackaging: <<
This .info file is essentially based on the emacs21 package by:
Christian Swinehart <[EMAIL PROTECTED]>

The first author of this package is:
NAKAHASHI Ichiro <[EMAIL PROTECTED]>

update-alternatives is used for emacs, emacsclient, ctags, etags, b2m
rcs-checkin, ebrowse, and grep-changelog to allow parallel installation 
of emacs22 & xemacs & emacs22-carbon.

Its info files are installed into the emacs22-carbon subdirectory of
<fink-root>/share/info for the same reason.
<<
DescPort: <<
You can lauch emacs22 from Finder, as well as terminal using usual
command line syntax. For this purpose, Emacs22.app is placed on
%p/Applications and will be symlinked to /Applications/Fink. To gain a
better integration with the fink environments, it automatically loads
%p/bin/init.sh at startup.

I don't know why nichiro set $0 to Emacs instead of Emacs.bin.

The patchfile modifies startup.el, and brings in the scripts fix-info and 
mangle-info, in order to implement our emacs packaging system.

Since this package comes from the CVS repository none of the elisp files
are byte-compiled by default. So before making the source tarball used by
fink the CVS version must first be `make bootstrap'ed then the .elc's
produced are injected into a fresh copy of the source tree and tarred
up again. If .el's are patched, .elc's are updated by `make recompile'.

How to make tarball containing .elc's:
$ cvs -d :pserver:[EMAIL PROTECTED]:/sources/emacs login
<password is empty>
$ cvs -d :pserver:[EMAIL PROTECTED]:/sources/emacs co \
  -d emacs-%v -D "dd mm yyyy UTC" emacs
$ cd emacs-%v
$ ./configure --without-carbon --without-x
$ make bootstrap MAKEINFO="LC_ALL=C %p/bin/makeinfo --force"
$ make distclean
<<
DescUsage: <<
You can launch emacs22-carbon, not just by double-clicking, but also by typing
$ emacs22-carbon
or
$ Emacs22.app
in the terminal. In this way, you can pass runtime options to emacs, e.g.
$ emacs22-carbon --no-site-file

If you want to input characters via MacIM in inline style, add your .emacs.el:
(if (eq window-system 'mac)
    (mac-setup-inline-input-method))
<<
License: GPL
Maintainer: Todai Fink Team <[EMAIL PROTECTED]>
Homepage: http://www.emacswiki.org/cgi-bin/wiki

--- NEW FILE: emacs22-carbon.patch ---
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/01carbon-emacs.el 
emacs-22.0.50.cvs20060118/01carbon-emacs.el
--- emacs-22.0.50.cvs20060118.orig/01carbon-emacs.el    Thu Jan  1 00:00:00 1970
+++ emacs-22.0.50.cvs20060118/01carbon-emacs.el Mon Mar  6 15:42:52 2006
@@ -0,0 +1,13 @@
+(if (eq window-system 'mac)
+  (progn
+    ;; append "PREFIX/sbin" "PREFIX/bin" to exec-path
+    (if (not (member "@PREFIX@/sbin" exec-path))
+       (setq exec-path (append '("@PREFIX@/sbin") exec-path))
+    )
+    (if (not (member "@PREFIX@/bin" exec-path))
+       (setq exec-path (append '("@PREFIX@/bin") exec-path))
+      )
+
+    ;; inline image support
+    (auto-image-file-mode)
+  ))
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/Emacs.finkwrap 
emacs-22.0.50.cvs20060118/Emacs.finkwrap
--- emacs-22.0.50.cvs20060118.orig/Emacs.finkwrap       Thu Jan  1 00:00:00 1970
+++ emacs-22.0.50.cvs20060118/Emacs.finkwrap    Mon Mar  6 15:42:52 2006
@@ -0,0 +1,3 @@
+#!/bin/bash
+. @PREFIX@/bin/init.sh
+exec -a "$0" "$0.bin" "$@"
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/Makefile.in 
emacs-22.0.50.cvs20060118/Makefile.in
--- emacs-22.0.50.cvs20060118.orig/Makefile.in  Thu Nov  3 17:00:25 2005
+++ emacs-22.0.50.cvs20060118/Makefile.in       Mon Mar  6 16:01:14 2006
@@ -422,8 +422,7 @@
          && (echo "Copying $${dir} to $${dest}..." ; \
              (cd $${dir}; tar -chf - . ) \
                | (cd $${dest}; umask 022; \
-                   tar -xvf - && cat > /dev/null) || exit 1; \
-             find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {} ';' ;\
+                   gtar -xvf - --no-same-owner && cat > /dev/null) || exit 1; \
              for subdir in `find $${dest} -type d ! -name RCS ! -name CVS 
-print` ; do \
                chmod a+rx $${subdir} ; \
                rm -rf $${subdir}/RCS ; \
@@ -462,8 +461,8 @@
        then \
           echo "Copying etc/DOC-* to ${docdir} ..." ; \
           (cd ./etc; tar -chf - DOC*) \
-            |(cd ${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 
1; \
-          (cd $(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \
+            |(cd ${docdir}; umask 022; gtar -xvf - --no-same-owner && cat > 
/dev/null) || exit 1; \
+          (cd $(docdir); chmod a+r DOC*; \
            if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \
        else true; fi
        -unset CDPATH; \
@@ -474,8 +473,7 @@
        then \
           echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; \
           (cd lisp; tar -chf - *.el *.elc) \
-            |(cd ${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 
1; \
-          (cd ${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; 
\
+            |(cd ${lispdir}; umask 022; gtar -xvf - --no-same-owner && cat > 
/dev/null) || exit 1; \
        else true; fi
        -unset CDPATH; \
        if [ -n "${GZIP_PROG}" ]; \
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/configure 
emacs-22.0.50.cvs20060118/configure
--- emacs-22.0.50.cvs20060118.orig/configure    Thu Jan 12 22:42:41 2006
+++ emacs-22.0.50.cvs20060118/configure Mon Mar  6 15:42:52 2006
@@ -1359,7 +1359,7 @@
 etcdir='${datadir}/emacs/${version}/etc'
 archlibdir='${libexecdir}/emacs/${version}/${configuration}'
 docdir='${datadir}/emacs/${version}/etc'
-gamedir='${localstatedir}/games/emacs'
+gamedir='${localstatedir}/games/@EMACS-FLAVOR@'
 
 gameuser=games
 
@@ -22779,6 +22779,7 @@
 echo "$as_me: error: can't find current emacs version in 
\`${srcdir}/lisp/version.el'." >&2;}
    { (exit 1); exit 1; }; }
 fi
+version="@EMACS-VERSION@"
 
 ### Specify what sort of things we'll be editing into Makefile and config.h.
 ### Use configuration here uncanonicalized to avoid exceeding size limits.
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/emacs.bash 
emacs-22.0.50.cvs20060118/emacs.bash
--- emacs-22.0.50.cvs20060118.orig/emacs.bash   Thu Jan  1 00:00:00 1970
+++ emacs-22.0.50.cvs20060118/emacs.bash        Mon Mar  6 15:42:52 2006
@@ -0,0 +1,3 @@
+#!/bin/bash
+exec -a "@PREFIX@/Applications/Emacs22.app/Contents/MacOS/Emacs" \
+    "@PREFIX@/Applications/Emacs22.app/Contents/MacOS/Emacs.bin" "$@"
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/fix-info 
emacs-22.0.50.cvs20060118/fix-info
--- emacs-22.0.50.cvs20060118.orig/fix-info     Thu Jan  1 00:00:00 1970
+++ emacs-22.0.50.cvs20060118/fix-info  Mon Mar  6 15:42:52 2006
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+THE_INFO_PREFIX=$1
+
+for file in ada-mode autotype ccmode cl dired-x ebrowse ediff efaq \
+            emacs emacs-mime eshell eudc forms gnus idlwave info message mh-e \
+            pcl-cvs reftex sc speedbar vip viper widget woman
+do
+    ./mangle-info ${THE_INFO_PREFIX}/${file}
+done
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/lisp/startup.el 
emacs-22.0.50.cvs20060118/lisp/startup.el
--- emacs-22.0.50.cvs20060118.orig/lisp/startup.el      Thu Jan 12 02:27:00 2006
+++ emacs-22.0.50.cvs20060118/lisp/startup.el   Mon Mar  6 15:42:52 2006
@@ -287,6 +287,10 @@
 
 (defvar default-frame-background-mode)
 
+(defconst fink-emacs-flavor '@EMACS-FLAVOR@
+  "A symbol representing the particular fink flavor of emacs running.
+Something like 'emacs20, 'xemacs20, etc.")
+
 (defvar pure-space-overflow nil
   "Non-nil if building Emacs overflowed pure space.")
 
@@ -804,8 +808,20 @@
     ;; Run the site-start library if it exists.  The point of this file is
     ;; that it is run before .emacs.  There is no point in doing this after
     ;; .emacs; that is useless.
+
+    ;; (if site-run-file
+    ;;     (load site-run-file t t))
+
+    ;; Fink version of site-start.
     (if site-run-file
-       (load site-run-file t t))
+        (progn
+          ;; Load all the fink package snippets.
+          ;; It's in here because we want -q to kill it too.
+          (if (load "fink-startup" t t nil)
+              (fink-startup fink-emacs-flavor))
+          ;; Now the normal site file...
+          (load site-run-file t t nil)))
+
 
     ;; Sites should not disable this.  Only individuals should disable
     ;; the startup message.
diff -Naur --exclude=*.orig emacs-22.0.50.cvs20060118.orig/mangle-info 
emacs-22.0.50.cvs20060118/mangle-info
--- emacs-22.0.50.cvs20060118.orig/mangle-info  Thu Jan  1 00:00:00 1970
+++ emacs-22.0.50.cvs20060118/mangle-info       Mon Mar  6 15:42:52 2006
@@ -0,0 +1,17 @@
+#!/usr/bin/perl -w -i
+
+use English;
+use strict;
+
+$RS = undef;
+
+my $prefix = "@EMACS-FLAVOR@";
+
+my $x = <>;
+if(!($x =~ m/^(\s*START-INFO-DIR-ENTRY\s+\*\s*[^:]+:\s*)\(([^\)]+)\)/mo)) {
+  die "Couldn't find START-INFO-DIR-ENTRY.";
+}
+   
+print ${PREMATCH};
+print "$1($prefix/$2)";
+print ${POSTMATCH};



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to