[87876] trunk/dports/aqua/emacs-app

hum at macports.org hum at macports.org
Sat Dec 10 05:25:25 PST 2011


Revision: 87876
          http://trac.macports.org/changeset/87876
Author:   hum at macports.org
Date:     2011-12-10 05:25:19 -0800 (Sat, 10 Dec 2011)
Log Message:
-----------
emacs-app: add lion fullscreen patch; fetch 23.3b source tarball and add livecheck as well as emacs port; take joint maintainership; see #32288, r87595.

Revision Links:
--------------
    http://trac.macports.org/changeset/87595

Modified Paths:
--------------
    trunk/dports/aqua/emacs-app/Portfile

Added Paths:
-----------
    trunk/dports/aqua/emacs-app/files/patch-lion-fullscreen.diff

Modified: trunk/dports/aqua/emacs-app/Portfile
===================================================================
--- trunk/dports/aqua/emacs-app/Portfile	2011-12-10 12:27:25 UTC (rev 87875)
+++ trunk/dports/aqua/emacs-app/Portfile	2011-12-10 13:25:19 UTC (rev 87876)
@@ -8,7 +8,7 @@
 revision	3
 categories	aqua editors
 license		GPL-3+
-maintainers	css
+maintainers	css hum openmaintainer
 description	The GNU Emacs text editor (Cocoa version)
 
 long_description	GNU Emacs is a self-documenting, customizable,      \
@@ -24,12 +24,11 @@
 platforms	darwin
 homepage	http://www.gnu.org/software/emacs/
 master_sites	gnu:emacs
-distname	emacs-${version}a
+dist_subdir     emacs
+distname	emacs-${version}b
 worksrcdir	emacs-${version}
-use_bzip2	yes
-checksums           md5     f2cf8dc6f28f8ae59bc695b4ddda339c \
-                    sha1    795bdfa372e42b9589a80f6dcb2ad8fed65b90e4 \
-                    rmd160  21f201714bca420c3a8fed8c92058cec786e724e
+checksums       rmd160  d253874ecef5c09d35576cf508727f5863c80834 \
+                sha256  56cb6db717a9eb9679e12466559837c4047a175c89d8cc4d89d4c378562320f9
 
 depends_lib     port:ncurses
 use_parallel_build      yes
@@ -43,11 +42,16 @@
     patchfiles-append   patch-clang.diff
 }
 
-variant fullscreen description {Add fullscreen patch from http://gist.github.com/291150 as mentioned in http://www.sanityinc.com/full-screen-support-for-cocoa-emacs-on-osx} {
+# patch-fullscreen.diff
+#   http://gist.github.com/291150
+#   http://www.sanityinc.com/full-screen-support-for-cocoa-emacs-on-osx
+variant fullscreen description {Add fullscreen patch} {
     patchfiles-append patch-fullscreen.diff
 }
 
-# inline and font patches are fetched from MacEmacsJP http://svn.sourceforge.jp/svnroot/macemacsjp/inline_patch/trunk/, revision 574.
+# inline and font patches are fetched from MacEmacsJP.
+#   http://svn.sourceforge.jp/svnroot/macemacsjp/inline_patch/trunk/
+#   revision 574.
 # patch-macemacsjp-inline.diff <= emacs-inline.patch
 # patch-macemacsjp-jpfont.diff <= font.patch
 
@@ -59,14 +63,15 @@
     patchfiles-append patch-macemacsjp-jpfont.diff
 }
 
-variant patches conflicts fullscreen inline jpfont description {Add all patches: fullscreen, inline and jpfont} {
-    patchfiles-append patch-fullscreen.diff \
-                      patch-macemacsjp-jpfont.diff \
-                      patch-macemacsjp-inline.diff
-}
+variant patches requires fullscreen inline jpfont description {Add all patches: fullscreen, inline and jpfont} {}
 
 platform darwin 11 {
    patchfiles-append	patch-fix-title-bar.diff patch-src_darwin.h.diff
+   # patch-lion-fullscreen.diff
+   #   https://github.com/downloads/typester/emacs/emacs-23-lion-fullscreen-test.patch
+   if {[variant_isset fullscreen]} {
+       patchfiles-append    patch-lion-fullscreen.diff
+   }
    configure.cflags-append	-fno-pie -O2
    configure.ldflags-append	-fno-pie
 }
@@ -88,3 +93,7 @@
 	reinplace "s|__PREFIX__|${prefix}|g" \
 		${destroot}${applications_dir}/Emacs.app/Contents/Resources/site-lisp/site-start.el
 }
+
+livecheck.type      regex
+livecheck.url       http://ftp.gnu.org/gnu/emacs/?C=M&O=D
+livecheck.regex     emacs-(\\d+\\.\\d+\\w*)\\.tar

Added: trunk/dports/aqua/emacs-app/files/patch-lion-fullscreen.diff
===================================================================
--- trunk/dports/aqua/emacs-app/files/patch-lion-fullscreen.diff	                        (rev 0)
+++ trunk/dports/aqua/emacs-app/files/patch-lion-fullscreen.diff	2011-12-10 13:25:19 UTC (rev 87876)
@@ -0,0 +1,54 @@
+--- src/nsterm.m.old	2011-11-25 22:36:38.000000000 +0900
++++ src/nsterm.m	2011-11-25 22:59:56.000000000 +0900
+@@ -5182,6 +5182,7 @@
+   [win setAcceptsMouseMovedEvents: YES];
+   [win setDelegate: self];
+   [win useOptimizedDrawing: YES];
++  [win setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];
+ 
+   sz.width = FRAME_COLUMN_WIDTH (f);
+   sz.height = FRAME_LINE_HEIGHT (f);
+@@ -5671,6 +5672,43 @@
+   cols = c;
+ }
+ 
++- (NSApplicationPresentationOptions)window:(NSWindow *)window willUseFullScreenPresentationOptions:(NSApplicationPresentationOptions)proposedOptions {
++    return proposedOptions | NSApplicationPresentationAutoHideToolbar;
++}
++
++- (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize {
++    NSRect r = NSMakeRect(0.f, 0.f, proposedSize.width, proposedSize.height);
++    int cols = FRAME_PIXEL_WIDTH_TO_TEXT_COLS(emacsframe, r.size.width);
++    int rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES(emacsframe, r.size.height);
++
++    change_frame_size (emacsframe, rows, cols, 0, 1, 0); /* pretend, delay, safe */
++    FRAME_PIXEL_WIDTH (emacsframe) = (int)r.size.width;
++    FRAME_PIXEL_HEIGHT (emacsframe) = (int)r.size.height;
++
++    emacsframe->border_width = [window frame].size.width - r.size.width;
++    FRAME_NS_TITLEBAR_HEIGHT (emacsframe) = 0;
++
++    return proposedSize;
++}
++
++- (void)windowDidExitFullScreen:(NSNotification *)notification {
++    NSWindow* window = [notification object];
++
++    NSRect r = [window contentRectForFrameRect:[window frame]];
++    int cols = FRAME_PIXEL_WIDTH_TO_TEXT_COLS(emacsframe, r.size.width);
++    int rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES(emacsframe, r.size.height);
++
++    change_frame_size (emacsframe, rows, cols, 0, 1, 0); /* pretend, delay, safe */
++    FRAME_PIXEL_WIDTH (emacsframe) = (int)r.size.width;
++    FRAME_PIXEL_HEIGHT (emacsframe) = (int)r.size.height;
++
++    emacsframe->border_width = [window frame].size.width - r.size.width;
++    FRAME_NS_TITLEBAR_HEIGHT (emacsframe) =
++        [window frame].size.height - r.size.height;
++
++    [[window delegate] windowDidMove:nil];
++}
++
+ @end  /* EmacsView */
+ 
+ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20111210/748badfc/attachment-0001.html>


More information about the macports-changes mailing list