pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/editors/emacs24 editors/emacs24: Fix DragonFly build



details:   https://anonhg.NetBSD.org/pkgsrc/rev/f3e243a31e46
branches:  trunk
changeset: 609473:f3e243a31e46
user:      marino <marino%pkgsrc.org@localhost>
date:      Wed Oct 03 21:32:42 2012 +0000

description:
editors/emacs24: Fix DragonFly build

In order to fix the build on DragonFly, the locations of the crt files
had to be defined.  This was tricky as DragonFly has two base compilers
so gcc --print-libgcc-file-name was used to determine the path of the
crt files.

Also patch-iisp_files.el was removed.  It was removed from distinfo 5
weeks ago, but the patch itself was left in place causing "patch ignored"
warnings.

diffstat:

 editors/emacs24/distinfo                    |   8 +-
 editors/emacs24/patches/patch-aa            |  39 ++++++++++++++++-
 editors/emacs24/patches/patch-ab            |  62 +++++++++++++++++++++++++++-
 editors/emacs24/patches/patch-ad            |   6 +-
 editors/emacs24/patches/patch-lisp_files.el |  37 -----------------
 5 files changed, 100 insertions(+), 52 deletions(-)

diffs (221 lines):

diff -r f63275ca31a8 -r f3e243a31e46 editors/emacs24/distinfo
--- a/editors/emacs24/distinfo  Wed Oct 03 21:23:25 2012 +0000
+++ b/editors/emacs24/distinfo  Wed Oct 03 21:32:42 2012 +0000
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.5 2012/08/28 00:55:52 mef Exp $
+$NetBSD: distinfo,v 1.6 2012/10/03 21:32:42 marino Exp $
 
 SHA1 (emacs-24.2.tar.gz) = 5fc4fe7797f821f2021ac415a81f5f190c52c0b2
 RMD160 (emacs-24.2.tar.gz) = 26f6c2b671ed7f160875d62e47c89afec085110f
 Size (emacs-24.2.tar.gz) = 51471017 bytes
-SHA1 (patch-aa) = dc41270debcdeba46056590ff99e72e79bd04729
-SHA1 (patch-ab) = 3021afead5011aa864a2734eeb72136c36580fb2
-SHA1 (patch-ad) = adc347ccd6edeb6e7ad96eeb98d6ee64176fb143
+SHA1 (patch-aa) = e8e2e174a87c6d052af3fde2907f29f76d3554bd
+SHA1 (patch-ab) = ca3fb1ee6652f6a33758bc07cf93a7eeff2afcd2
+SHA1 (patch-ad) = 2dcb0f4b43c599d0c4af83b5f7e1f2797f96bdac
 SHA1 (patch-ag) = 3e6ee4774189185af10eada9c935120491318313
diff -r f63275ca31a8 -r f3e243a31e46 editors/emacs24/patches/patch-aa
--- a/editors/emacs24/patches/patch-aa  Wed Oct 03 21:23:25 2012 +0000
+++ b/editors/emacs24/patches/patch-aa  Wed Oct 03 21:32:42 2012 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.2 2012/08/10 10:08:14 marino Exp $
+$NetBSD: patch-aa,v 1.3 2012/10/03 21:32:42 marino Exp $
 
 Add DragonFly
 
---- configure.in.orig  2012-06-01 06:17:13.000000000 +0000
+--- configure.in.orig  2012-08-23 05:33:42.000000000 +0000
 +++ configure.in
 @@ -469,6 +469,14 @@ case "${canonical}" in
        vax-*)       machine=vax ;;
@@ -19,13 +19,44 @@
  
    ## OpenBSD ports
    *-*-openbsd* )
-@@ -998,6 +1006,9 @@ case $opsys in
+@@ -999,6 +1007,11 @@ case $opsys in
      LIB_MATH=
      START_FILES='pre-crt0.o'
      ;;
 +  dragonfly )
-+    LIB_STANDARD=-lc
++    # This base version is appended below
++    LIB_STANDARD='-lc $(CRT_DIR)/crtn.o'
++    START_FILES='$(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o'
 +    ;;
    freebsd )
      LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
      START_FILES='pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
+@@ -1095,6 +1108,28 @@ fi                              # crt_fi
+ AC_SUBST(CRT_DIR)
+ 
+ case $opsys in
++  dragonfly )
++    if test "x${GCC}" = xyes ; then
++      libgcc_file=`$CC --print-libgcc-file-name 2>/dev/null`
++      case "$libgcc_file" in
++         */*)
++           crt_gcc_subdir=`AS_DIRNAME(["$libgcc_file"])`
++           ;;
++         *)
++           AC_MSG_ERROR([Cannot determine CRT $CC subdirectory.]) 
++           ;;
++      esac
++      for f in crtbegin.o crtend.o; do
++        if test ! -f $crt_gcc_subdir/$f; then
++          AC_MSG_ERROR([Required file not found: $f])
++        fi
++      done
++      LIB_STANDARD="$crt_gcc_subdir/crtend.o $LIB_STANDARD"
++      START_FILES="$START_FILES $crt_gcc_subdir/crtbegin.o"
++    else
++      AC_MSG_WARN([Correct CRT file list unknown for ${CC}.])
++    fi 
++    ;;
+   netbsd | openbsd )
+     if test -f $CRT_DIR/crti.o; then
+ 
diff -r f63275ca31a8 -r f3e243a31e46 editors/emacs24/patches/patch-ab
--- a/editors/emacs24/patches/patch-ab  Wed Oct 03 21:23:25 2012 +0000
+++ b/editors/emacs24/patches/patch-ab  Wed Oct 03 21:32:42 2012 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ab,v 1.2 2012/08/10 10:08:14 marino Exp $
+$NetBSD: patch-ab,v 1.3 2012/10/03 21:32:42 marino Exp $
 
 Add DragonFly
 
---- configure.orig     2012-06-10 07:29:35.000000000 +0000
+--- configure.orig     2012-08-23 06:37:10.000000000 +0000
 +++ configure
 @@ -4476,6 +4476,15 @@ case "${canonical}" in
      esac
@@ -20,13 +20,67 @@
    ## OpenBSD ports
    *-*-openbsd* )
      opsys=openbsd
-@@ -8088,6 +8097,9 @@ case $opsys in
+@@ -8095,6 +8104,11 @@ case $opsys in
      LIB_MATH=
      START_FILES='pre-crt0.o'
      ;;
 +  dragonfly )
-+    LIB_STANDARD=-lc
++    # This base version is appended below
++    LIB_STANDARD='-lc $(CRT_DIR)/crtn.o'
++    START_FILES='$(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o'
 +    ;;
    freebsd )
      LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
      START_FILES='pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
+@@ -8209,6 +8223,51 @@ fi                              # crt_fi
+ 
+ 
+ case $opsys in
++  dragonfly )
++    if test "x${GCC}" = xyes ; then
++      libgcc_file=`$CC --print-libgcc-file-name 2>/dev/null`
++      case "$libgcc_file" in
++         */*)
++           crt_gcc_subdir=`$as_dirname -- "$libgcc_file" ||
++$as_expr X"$libgcc_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$libgcc_file" : 'X\(//\)[^/]' \| \
++       X"$libgcc_file" : 'X\(//\)$' \| \
++       X"$libgcc_file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$libgcc_file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)[^/].*/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++           ;;
++         *)
++           as_fn_error $? "Cannot determine CRT $CC subdirectory." "$LINENO" 5
++           ;;
++      esac
++      for f in crtbegin.o crtend.o; do
++        if test ! -f $crt_gcc_subdir/$f; then
++          as_fn_error $? "Required file not found: $f" "$LINENO" 5
++        fi
++      done
++      LIB_STANDARD="$crt_gcc_subdir/crtend.o $LIB_STANDARD"
++      START_FILES="$START_FILES $crt_gcc_subdir/crtbegin.o"
++    else
++      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Correct CRT file list unknown for ${CC}." >&5
++$as_echo "$as_me: WARNING: Correct CRT file list unknown for ${CC}." >&2;}
++    fi
++    ;;
+   netbsd | openbsd )
+     if test -f $CRT_DIR/crti.o; then
+ 
diff -r f63275ca31a8 -r f3e243a31e46 editors/emacs24/patches/patch-ad
--- a/editors/emacs24/patches/patch-ad  Wed Oct 03 21:23:25 2012 +0000
+++ b/editors/emacs24/patches/patch-ad  Wed Oct 03 21:32:42 2012 +0000
@@ -1,11 +1,11 @@
-$NetBSD: patch-ad,v 1.1 2012/06/16 21:03:42 dholland Exp $
+$NetBSD: patch-ad,v 1.2 2012/10/03 21:32:42 marino Exp $
 
 This will sometimes help to avoid Segmentation Fault at
 build time
 
---- lisp/cus-dep.el.orig       2010-04-03 22:26:07.000000000 +0000
+--- lisp/cus-dep.el.orig       2012-08-23 05:33:42.000000000 +0000
 +++ lisp/cus-dep.el
-@@ -59,6 +59,7 @@ Usage: emacs -batch -l ./cus-dep.el -f c
+@@ -62,6 +62,7 @@ Usage: emacs -batch -l ./cus-dep.el -f c
              (unless (or (string-match custom-dependencies-no-scan-regexp file)
                          (string-match preloaded file)
                          (not (file-exists-p file)))
diff -r f63275ca31a8 -r f3e243a31e46 editors/emacs24/patches/patch-lisp_files.el
--- a/editors/emacs24/patches/patch-lisp_files.el       Wed Oct 03 21:23:25 2012 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-$NetBSD: patch-lisp_files.el,v 1.1 2012/08/13 06:39:06 wiz Exp $
-
-CVE-2012-3479:
-When the Emacs user option `enable-local-variables' is set to `:safe'
-(the default value is t), Emacs should automatically refuse to evaluate
-`eval' forms in file-local variable sections.  Due to the bug, Emacs
-instead automatically evaluates such `eval' forms.  Thus, if the user
-changes the value of `enable-local-variables' to `:safe', visiting a
-malicious file can cause automatic execution of arbitrary Emacs Lisp
-code with the permissions of the user.
-
-Bug tracker ref: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12155
-
---- lisp/files.el.orig 2012-05-14 12:00:02.000000000 +0000
-+++ lisp/files.el
-@@ -3107,11 +3107,16 @@ DIR-NAME is the name of the associated d
-             ;; Obey `enable-local-eval'.
-             ((eq var 'eval)
-              (when enable-local-eval
--               (push elt all-vars)
--               (or (eq enable-local-eval t)
--                   (hack-one-local-variable-eval-safep (eval (quote val)))
--                   (safe-local-variable-p var val)
--                   (push elt unsafe-vars))))
-+               (let ((safe (or (hack-one-local-variable-eval-safep
-+                                (eval (quote val)))
-+                               ;; In case previously marked safe (bug#5636).
-+                               (safe-local-variable-p var val))))
-+                 ;; If not safe and e-l-v = :safe, ignore totally.
-+                 (when (or safe (not (eq enable-local-variables :safe)))
-+                   (push elt all-vars)
-+                   (or (eq enable-local-eval t)
-+                       safe
-+                       (push elt unsafe-vars))))))
-             ;; Ignore duplicates (except `mode') in the present list.
-             ((and (assq var all-vars) (not (eq var 'mode))) nil)
-             ;; Accept known-safe variables.



Home | Main Index | Thread Index | Old Index