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