pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/28977: a couple of problems with editors/emacs



>Number:         28977
>Category:       pkg
>Synopsis:       a couple of problems with editors/emacs
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jan 15 23:24:00 +0000 2005
>Originator:     Greg A. Woods
>Release:        pkgsrc-2004Q4
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Environment:
System: NetBSD
>Description:

        There are several long-standing problems with the editors/emacs
        package.

        The first is that emacs DOES NOT use libtool and the pkgsrc
        module really must not set USE_LIBTOOL either.

        The second is specific to NetBSD -- POSIX_SIGNALS is not used
        but really it should be for correct operation.  As an emacs
        contributor with a copyright declaration on file at the FSF I've
        forwarded this suggestion to the maintainers several times, but
        it still hasn't made it into the main tree so it still must be
        done by pkgsrc.

        The third is that there's no proper support for non-pkgsrc emacs
        add-on packages, e.g. which would be installed in /usr/local.
        This patch adds a new "configuration" file that allows for
        proper handling of /usr/local/share/emacs/site-lisp in an
        extensible way that should not conflict with installation of
        multiple different emacs versions.

>How-To-Repeat:

>Fix:

cvs diff: Diffing editors/emacs
Index: editors/emacs/Makefile
===================================================================
RCS file: /cvs/master/m-NetBSD/main/pkgsrc/editors/emacs/Makefile,v
retrieving revision 1.74
diff -u -r1.74 Makefile
--- editors/emacs/Makefile      3 Oct 2004 00:14:38 -0000       1.74
+++ editors/emacs/Makefile      15 Jan 2005 23:10:19 -0000
@@ -15,7 +15,7 @@
 USE_BUILDLINK3=                yes
 USE_X11=               yes
 USE_GNU_TOOLS+=                make
-USE_LIBTOOL=           yes
+#USE_LIBTOOL=          yes     # NO!!! it does _not_
 GNU_CONFIGURE=         yes
 
 CONFIGURE_ARGS+=       --with-x
@@ -67,6 +67,15 @@
 
 REPLACE_PERL=  lib-src/grep-changelog
 
+BUILD_TARGET=  all info
+
+# Note:  ${PKGVERSION} here is not the same as ${PKGVERSION} in the PLIST!
+# The expression below is the one used in PLIST_SUBST.
+#
+EGDIR =                
${PREFIX}/share/examples/emacs-${PKGVERSION:C/nb[0-9]*$//}
+
+CONF_FILES=    ${EGDIR}/default.el ${PREFIX}/share/emacs/site-lisp/default.el
+
 post-extract:
        ${CP} ${FILESDIR}/site-init.el ${WRKSRC}/lisp
        ${CP} ${FILESDIR}/amd64.h ${WRKSRC}/src/m
@@ -78,6 +87,9 @@
        @${FIND} ${WRKSRC} -type f -name "*.orig" -print | ${XARGS} ${RM} -f
 
 post-install:
+       ${INSTALL_DATA_DIR} ${EGDIR}
+       ${INSTALL_DATA} ${FILESDIR}/default.el ${EGDIR}
        ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/emacs
 
+.include "../../mk/bsd.pkg.install.mk"
 .include "../../mk/bsd.pkg.mk"
Index: editors/emacs/PLIST
===================================================================
RCS file: /cvs/master/m-NetBSD/main/pkgsrc/editors/emacs/PLIST,v
retrieving revision 1.9
diff -u -r1.9 PLIST
--- editors/emacs/PLIST 16 Feb 2004 20:59:26 -0000      1.9
+++ editors/emacs/PLIST 15 Jan 2005 22:46:40 -0000
@@ -1743,6 +1743,7 @@
 share/emacs/${PKGVERSION}/lisp/xt-mouse.elc
 share/emacs/${PKGVERSION}/site-lisp/subdirs.el
 share/emacs/site-lisp/subdirs.el
+share/examples/emacs-${PKGVERSION}/default.el
 @unexec ${RMDIR} %D/share/emacs/site-lisp 2>/dev/null || ${TRUE}
 @dirrm share/emacs/${PKGVERSION}/site-lisp
 @dirrm share/emacs/${PKGVERSION}/lisp/toolbar
Index: editors/emacs/distinfo
===================================================================
RCS file: /cvs/master/m-NetBSD/main/pkgsrc/editors/emacs/distinfo,v
retrieving revision 1.16
diff -u -r1.16 distinfo
--- editors/emacs/distinfo      31 Jul 2004 21:01:54 -0000      1.16
+++ editors/emacs/distinfo      9 Sep 2004 20:54:07 -0000
@@ -9,4 +9,4 @@
 SHA1 (patch-ag) = 3d64c0d53e3a8a737eeb04a6080a92a826b73620
 SHA1 (patch-ak) = c37ecdcb1e0b0211b15baa7100dd43eab3f0830b
 SHA1 (patch-bg) = 567ccce83e2b6d898a87f20763d5ff4b19c30deb
-SHA1 (patch-xx) = a818041b6c851f8a675b17d4c7372ddb5f468c53
+SHA1 (patch-xx) = a959dd74a444392eee1e1872a44efd31dc34db3d
cvs diff: Diffing editors/emacs/files
Index: editors/emacs/files/default.el
===================================================================
RCS file: editors/emacs/files/default.el
diff -N editors/emacs/files/default.el
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ editors/emacs/files/default.el      15 Jan 2005 23:09:04 -0000
@@ -0,0 +1,13 @@
+;;;
+;;;     default.el - localized system wide default initialization
+;;;
+;;; This file is loaded by default.  Users can prevent loading of this file
+;;; with the `-q' command-line option, or by setting `inhibit-default-init' in
+;;; their own init files.
+
+;; Additional elisp stuff may be installed in /usr/local...
+(setq local-site-lisp-dir "/usr/local/share/emacs/site-lisp")
+(setq load-path (cons local-site-lisp-dir load-path))
+
+;; load that file whenever this one is loaded
+(load-file (concat local-site-lisp-dir "/default.el"))
cvs diff: Diffing editors/emacs/patches
Index: editors/emacs/patches/patch-xx
===================================================================
RCS file: /cvs/master/m-NetBSD/main/pkgsrc/editors/emacs/patches/patch-xx,v
retrieving revision 1.5
diff -u -r1.5 patch-xx
--- editors/emacs/patches/patch-xx      6 Jul 2003 16:10:19 -0000       1.5
+++ editors/emacs/patches/patch-xx      27 Aug 2003 01:57:32 -0000
@@ -2,6 +2,14 @@
 
 --- src/s/netbsd.h.orig        Fri Apr 18 19:04:10 2003
 +++ src/s/netbsd.h
+@@ -1,6 +1,7 @@
+ /* s/ file for netbsd system.  */
+ 
+ /* Get most of the stuff from bsd4.3 */
++/* XXX There should be a "bsd4-4.h" because so many things are different! */
+ #include "bsd4-3.h"
+ 
+ #if defined (__alpha__) && !defined (__ELF__)
 @@ -60,9 +60,17 @@
  #endif /* not NO_SHARED_LIBS and not ELF */
  
@@ -20,3 +28,15 @@
  #undef LIB_GCC
  #define LIB_GCC
  #endif
+@@ -106,6 +107,11 @@
+ #ifndef NOT_C_CODE
+ #include <signal.h>
+ #endif
++
++/* Use POSIX Signals [sigaction(), sigprocmask(), sigsuspend(), etc.]
++   Gerd says this works OK in FreeBSD -- should be fine on any 4.4BSD */
++
++#define POSIX_SIGNALS 1
+ 
+ /* Don't close pty in process.c to make it as controlling terminal.
+    It is already a controlling terminal of subprocess, because we did




Home | Main Index | Thread Index | Old Index