components/emacs/README
changeset 686 b4fe91eb660b
parent 270 ae736fcc412d
child 1147 6095231b2f75
equal deleted inserted replaced
685:5e6df462e21d 686:b4fe91eb660b
    16 # fields enclosed by brackets "[]" replaced with your own identifying
    16 # fields enclosed by brackets "[]" replaced with your own identifying
    17 # information: Portions Copyright [yyyy] [name of copyright owner]
    17 # information: Portions Copyright [yyyy] [name of copyright owner]
    18 #
    18 #
    19 # CDDL HEADER END
    19 # CDDL HEADER END
    20 #
    20 #
    21 # Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
    21 # Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
    22 #
    22 #
    23 
    23 
    24 NAME:             emacs
    24 NAME:             emacs
    25 VERSION:          23.1
    25 VERSION:          23.4
    26 DESCRIPTION:      GNU Emacs editor
    26 DESCRIPTION:      GNU Emacs editor
    27 LICENSE:          GPLv3
    27 LICENSE:          GPLv3
    28 BUGTRAQ:          solaris/utility/emacs
    28 BUGTRAQ:          solaris/utility/emacs
    29 COMMENTS:         
    29 COMMENTS:         
    30 
    30 
    34 information needed to understand how this component is put together.
    34 information needed to understand how this component is put together.
    35 
    35 
    36 
    36 
    37 - We patch the following changes to the emacs sources:
    37 - We patch the following changes to the emacs sources:
    38 
    38 
    39 	buffer_menu.patch
       
    40 	    Fixes an issue with GTK and the Buffers menu where the
       
    41 	    menu contents is not updated to show the current buffers
       
    42 	    and instead shows a stale list. I based these patches
       
    43 	    on the official ones applied to the emacs development branch:
       
    44 
       
    45 	    http://lists.gnu.org/archive/html/emacs-diffs/2009-09/msg00039.html
       
    46 
       
    47 	sysmalloc.patch
    39 	sysmalloc.patch
    48 	    Use the system malloc instead of the built in one
    40 	    Use the system malloc instead of the built in one
    49 
    41 
    50 	dldump.patch
    42 	dldump.patch
    51 	    Use the native Solaris dldump() function (emacs/src/unexsol.c)
    43 	    Use the native Solaris dldump() function (emacs/src/unexsol.c)
    53 	    code (emacs-22.1/src/unexelf.c).
    45 	    code (emacs-22.1/src/unexelf.c).
    54 
    46 
    55 	xft.patch
    47 	xft.patch
    56 	    Patch configure script to provide necessary missing
    48 	    Patch configure script to provide necessary missing
    57 	    libraries for the GTK version of emacs.
    49 	    libraries for the GTK version of emacs.
    58 
       
    59         etags.patch
       
    60             The version of etags in Emacs 23.1 has a bug in the function
       
    61             absolute_filename(). It uses strcpy() to do overlapped string
       
    62             copies, which is undefined. This patch substitutes memmove(),
       
    63             which exists specifically to handle that case.
       
    64 
       
    65 
    50 
    66 - Emacs can be built as either 32-bit or 64-bit, depending on the target
    51 - Emacs can be built as either 32-bit or 64-bit, depending on the target
    67   machine. The benefit of a 64-bit emacs is that the size of the files it
    52   machine. The benefit of a 64-bit emacs is that the size of the files it
    68   can handle is not limited to 128MB, as it is with the 32-bit version.
    53   can handle is not limited to 128MB, as it is with the 32-bit version.
    69 
    54 
    80   With Solaris 11, all kernels are 64-bit, and we therefore do not need
    65   With Solaris 11, all kernels are 64-bit, and we therefore do not need
    81   the 32-bit executables. As such, we only supply 64-bit emacs binaries now,
    66   the 32-bit executables. As such, we only supply 64-bit emacs binaries now,
    82   and the use of usr/lib/isaexec has been removed: This cuts the number of
    67   and the use of usr/lib/isaexec has been removed: This cuts the number of
    83   builds necessary in half, and also the binary package size. It also
    68   builds necessary in half, and also the binary package size. It also
    84   simplifies packaging, and the user's view of /usr/bin/emacs*.
    69   simplifies packaging, and the user's view of /usr/bin/emacs*.
    85 
       
    86   Note that we're installing a 64-bit objects in /bin, and
       
    87   usr/lib/emacs/$(COMPONENT_VERSION)/$(EMACS_ULEVDIR). The userland
       
    88   pkglint plugin considers these to be a "32-bit path". There is an
       
    89   RFE to suppress lint for specific attributes:
       
    90 
       
    91         Bug 17777 - it would be nice if pkglint could suppress specific
       
    92                     messages for specific actions
       
    93         https://defect.opensolaris.org/bz/show_bug.cgi?id=17777
       
    94 
       
    95   Until then, we simply assert that the whole action for those files is
       
    96   linted with
       
    97 
       
    98         pkg.linted=True
       
    99 
       
   100   This disables all lint checking for these items, so extra care is needed
       
   101   not to introduce some other error.
       
   102 
    70 
   103 - There are three different toolkit options: None, Athena widgets
    71 - There are three different toolkit options: None, Athena widgets
   104   (aka Xaw, or lucid), and gtk. It would be nice to only support gtk,
    72   (aka Xaw, or lucid), and gtk. It would be nice to only support gtk,
   105   but for purposes of minimization and user preference, we supply binaries
    73   but for purposes of minimization and user preference, we supply binaries
   106   for all three. We follow the Linux model in this regard. The Xaw and no-X
    74   for all three. We follow the Linux model in this regard. The Xaw and no-X
   132 
   100 
   133   We do not install the files under /var/games/emacs. The reason for
   101   We do not install the files under /var/games/emacs. The reason for
   134   this is that we do not install update-game-score as setuid, and
   102   this is that we do not install update-game-score as setuid, and
   135   therefore the game files are not usable. This the same decision made
   103   therefore the game files are not usable. This the same decision made
   136   by Debian, among others.
   104   by Debian, among others.
   137 
       
   138 - The depend line in gnu-emacs.p5m requiring one of the three toolkit versions
       
   139   to be installed currently has the pkg.linted=true attribute set, pending
       
   140   the resolution of
       
   141 
       
   142         Bug 18202 - pkglint AttributeError when using require-any depend action
       
   143         https://defect.opensolaris.org/bz/show_bug.cgi?id=18202