pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/editors/emacs20 Add experimental aarch64 config for em...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/136401be7a7c
branches:  trunk
changeset: 771746:136401be7a7c
user:      dholland <dholland%pkgsrc.org@localhost>
date:      Sat Dec 25 22:11:50 2021 +0000

description:
Add experimental aarch64 config for emacs20.

Untested for the time being; let me know if it works. Can't be worse than
not building :-)

diffstat:

 editors/emacs20/distinfo                      |    7 +-
 editors/emacs20/patches/patch-ab              |   21 ++-
 editors/emacs20/patches/patch-bg              |   10 +-
 editors/emacs20/patches/patch-src_m_aarch64.h |  138 ++++++++++++++++++++++++++
 4 files changed, 159 insertions(+), 17 deletions(-)

diffs (truncated from 310 to 300 lines):

diff -r 57ac3049d7db -r 136401be7a7c editors/emacs20/distinfo
--- a/editors/emacs20/distinfo  Sat Dec 25 21:50:20 2021 +0000
+++ b/editors/emacs20/distinfo  Sat Dec 25 22:11:50 2021 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.39 2021/10/26 10:21:27 nia Exp $
+$NetBSD: distinfo,v 1.40 2021/12/25 22:11:50 dholland Exp $
 
 BLAKE2s (emacs-20.7-mule-4.1b-elc.tar.gz) = 8d3116a8037014bdeece76148aeb0ae72adcb003fd67922650793302197d62bf
 SHA512 (emacs-20.7-mule-4.1b-elc.tar.gz) = db4020ef7e428c99dffd3873485ce5d0ee4ad2c2bf87ec3b5f84dbf36fa2c398f3c0e02651cae3565acd2e7cbf504f66507c08b578f91247e9a27280226fb8d4
@@ -16,7 +16,7 @@
 SHA512 (emacs20-xim-20000713.diff) = d6d3fb483db830ddcf07f6325901fb7faca1e112129f27036328eb4a6a53851a53318a31830a751525b9e0898256c6c9bfe5c3c333401d44a6dcbad44ba3c7a8
 Size (emacs20-xim-20000713.diff) = 21296 bytes
 SHA1 (patch-aa) = 3b3fd76c058a0a46e0458338ce4c2327a238fb3d
-SHA1 (patch-ab) = cf63cb6481eb5862855f066a358821cf57bb6aa1
+SHA1 (patch-ab) = 05849039b43d15a52242ef3688abac5c46b8aca8
 SHA1 (patch-ac) = abf5971279a8d875504be4c17b8d36cb8cc24885
 SHA1 (patch-ad) = dd21028a6360ccfb442ecced4c67717f60ea78a6
 SHA1 (patch-ae) = 465c7aff1fbb23d08ff8100993041291a9502f34
@@ -37,7 +37,7 @@
 SHA1 (patch-bc) = ce6240227e8a7af506c908e0c199e17ce73d7f27
 SHA1 (patch-bd) = 01c4490ec36fec09148bcb9c76ba6c8de509c346
 SHA1 (patch-bf) = 089ac290cbbe5c060e5300ea3ffacf8cb5ab5254
-SHA1 (patch-bg) = bf979ed89e0d8d29bd411711a69d74cd139d8fa8
+SHA1 (patch-bg) = 5115064efe54800923677304161f46ade379b3b0
 SHA1 (patch-bh) = f59b14cc43d5977a5d80d5d1ab4e246df394d86a
 SHA1 (patch-bi) = c0e237bd46de0f9ef137997e59231f119d5f791e
 SHA1 (patch-bj) = 6dba88723ee632b67fcf6a2dd2918e69034837e2
@@ -54,3 +54,4 @@
 SHA1 (patch-ce) = df4d2a5639a72d2c719662496f17db35686f4ac2
 SHA1 (patch-cf) = 1b5b83eb02872414fd7ca29c344c0560feaf1b7e
 SHA1 (patch-cg) = b2bd4cbff399922e44ad54459255ffb1d61e1bd4
+SHA1 (patch-src_m_aarch64.h) = 861757ce6568303ea55cb9c9f290abc6100d3dc2
diff -r 57ac3049d7db -r 136401be7a7c editors/emacs20/patches/patch-ab
--- a/editors/emacs20/patches/patch-ab  Sat Dec 25 21:50:20 2021 +0000
+++ b/editors/emacs20/patches/patch-ab  Sat Dec 25 22:11:50 2021 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-ab,v 1.11 2013/10/27 20:41:49 joerg Exp $
+$NetBSD: patch-ab,v 1.12 2021/12/25 22:11:51 dholland Exp $
 
 Caution: the changes for using a different cpp for munging the
 makefiles (search for MAKEFILECPP) are *not* reflected in the pkgsrc
@@ -29,7 +29,7 @@
  
  #### Make srcdir absolute, if it isn't already.  It's important to
  #### avoid running the path through pwd unnecessary, since pwd can
-@@ -712,15 +720,20 @@ case "${canonical}" in
+@@ -712,15 +720,21 @@ case "${canonical}" in
      opsys=netbsd
      case "${canonical}" in
        alpha*-*-netbsd*)       machine=alpha ;;
@@ -48,11 +48,12 @@
 +      sparc*-*-netbsd*)       machine=sparc ;;
        vax-*-netbsd*)  machine=vax ;;
 +      arm*-*-netbsd*) machine=arm ;;
++      aarch64-*-netbsd*) machine=aarch64 ;;
 +      x86_64-*-netbsd*)       machine=amd64 ;;
      esac
    ;;
  
-@@ -1519,6 +1532,7 @@ case "${canonical}" in
+@@ -1519,6 +1533,7 @@ case "${canonical}" in
        *-sysv4.2uw* )          opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
        *-386bsd* )             opsys=386bsd ;;
        *-freebsd* )            opsys=freebsd ;;
@@ -60,7 +61,7 @@
        *-nextstep* )             opsys=nextstep ;;
        ## Otherwise, we'll fall through to the generic opsys code at the bottom.
      esac
-@@ -1981,6 +1995,14 @@ else
+@@ -1981,6 +1996,14 @@ else
  fi
  echo "$ac_t""$CPP" 1>&6
  
@@ -75,7 +76,7 @@
  # Find a good install program.  We prefer a C program (faster),
  # so one script is as good as another.  But avoid the broken or
  # incompatible versions:
-@@ -3823,6 +3845,53 @@ else
+@@ -3823,6 +3846,53 @@ else
    echo "$ac_t""no" 1>&6
  fi
  
@@ -129,7 +130,7 @@
    LIBS="$OLDLIBS"
  fi
  
-@@ -4906,6 +4975,64 @@ EOF
+@@ -4906,6 +4976,64 @@ EOF
  
  fi
  
@@ -194,7 +195,7 @@
  # Set up the CFLAGS for real compilation, so we can substitute it.
  CFLAGS="$REAL_CFLAGS"
  
-@@ -5211,6 +5338,7 @@ s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+@@ -5211,6 +5339,7 @@ s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
  s%@INSTALL_DATA@%$INSTALL_DATA%g
  s%@YACC@%$YACC%g
  s%@SET_MAKE@%$SET_MAKE%g
@@ -202,7 +203,7 @@
  s%@ALLOCA@%$ALLOCA%g
  s%@version@%$version%g
  s%@configuration@%$configuration%g
-@@ -5445,6 +5573,7 @@ fi; done
+@@ -5445,6 +5574,7 @@ fi; done
  EOF
  cat >> $CONFIG_STATUS <<EOF
  CPP="$CPP" CPPFLAGS="$CPPFLAGS"
@@ -210,7 +211,7 @@
  EOF
  cat >> $CONFIG_STATUS <<\EOF
  
-@@ -5480,7 +5609,7 @@ echo creating lib-src/Makefile
+@@ -5480,7 +5610,7 @@ echo creating lib-src/Makefile
    sed -e '1,/start of cpp stuff/d'\
        -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
        < Makefile.c > junk.c
@@ -219,7 +220,7 @@
        sed -e 's/^ /   /' -e '/^#/d' -e '/^[   ]*$/d' > junk2.c
    cat junk1.c junk2.c > Makefile.new
    rm -f junk.c junk1.c junk2.c
-@@ -5496,7 +5625,7 @@ echo creating src/Makefile
+@@ -5496,7 +5626,7 @@ echo creating src/Makefile
    sed -e '1,/start of cpp stuff/d'\
        -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
        < Makefile.c > junk.c
diff -r 57ac3049d7db -r 136401be7a7c editors/emacs20/patches/patch-bg
--- a/editors/emacs20/patches/patch-bg  Sat Dec 25 21:50:20 2021 +0000
+++ b/editors/emacs20/patches/patch-bg  Sat Dec 25 22:11:50 2021 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-bg,v 1.2 2012/03/05 07:29:36 dholland Exp $
+$NetBSD: patch-bg,v 1.3 2021/12/25 22:11:51 dholland Exp $
 
 --- configure.in.orig  2000-06-05 15:42:49.000000000 +0000
 +++ configure.in
@@ -11,7 +11,7 @@
  
  #### Make srcdir absolute, if it isn't already.  It's important to
  #### avoid running the path through pwd unnecessary, since pwd can
-@@ -152,15 +154,19 @@ case "${canonical}" in
+@@ -152,15 +154,21 @@ case "${canonical}" in
      opsys=netbsd
      case "${canonical}" in
        alpha*-*-netbsd*)       machine=alpha ;;
@@ -30,10 +30,12 @@
 +      sparc*-*-netbsd*)       machine=sparc ;;
        vax-*-netbsd*)  machine=vax ;;
 +      arm*-*-netbsd*) machine=arm ;;
++      aarch64-*-netbsd*) machine=aarch64 ;;
++      x86_64-*-netbsd*)       machine=amd64 ;;
      esac
    ;;
  
-@@ -1594,6 +1600,14 @@ dnl tranle%intellicorp.com@localhost says libXmu.a
+@@ -1594,6 +1602,14 @@ dnl tranle%intellicorp.com@localhost says libXmu.a
      LIBS="-lXt $LIBS"
    fi
    AC_CHECK_LIB(Xmu, XmuConvertStandardSelection)
@@ -48,7 +50,7 @@
    LIBS="$OLDLIBS"
  fi
  
-@@ -1747,6 +1761,10 @@ if test -f /usr/lpp/X11/bin/smt.exp; the
+@@ -1747,6 +1763,10 @@ if test -f /usr/lpp/X11/bin/smt.exp; the
    AC_DEFINE(HAVE_AIX_SMT_EXP)
  fi
  
diff -r 57ac3049d7db -r 136401be7a7c editors/emacs20/patches/patch-src_m_aarch64.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/editors/emacs20/patches/patch-src_m_aarch64.h     Sat Dec 25 22:11:50 2021 +0000
@@ -0,0 +1,138 @@
+$NetBSD: patch-src_m_aarch64.h,v 1.1 2021/12/25 22:11:51 dholland Exp $
+
+Experimental support for 64-bit ARM.
+
+--- src/m/aarch64.h.orig       2021-12-25 21:57:52.527089817 +0000
++++ src/m/aarch64.h
+@@ -0,0 +1,131 @@
++/* machine description file for ARM AArch64.
++   Copyright (C) 2002 Free Software Foundation, Inc.
++
++This file is part of GNU Emacs.
++
++GNU Emacs is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++GNU Emacs is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GNU Emacs; see the file COPYING.  If not, write to
++the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA.  */
++
++
++/* The following line tells the configuration script what sort of 
++   operating system this machine is likely to run.
++   USUAL-OPSYS="linux"  */
++
++#define BITS_PER_LONG           64
++#define BITS_PER_EMACS_INT      64
++
++/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
++   is the most significant byte.  */
++
++#undef WORDS_BIG_ENDIAN
++
++/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
++ * group of arguments and treat it as an array of the arguments.  */
++
++#define NO_ARG_ARRAY
++
++/* Define WORD_MACHINE if addresses and such have
++ * to be corrected before they can be used as byte counts.  */
++
++/* #define WORD_MACHINE  */
++
++/* Now define a symbol for the cpu type, if your compiler
++   does not define it automatically:
++   Ones defined so far include vax, m68000, ns16000, pyramid,
++   orion, tahoe, APOLLO and many others */
++/* (defined automatically)  */
++
++/* Use type int rather than a union, to represent Lisp_Object */
++/* This is desirable for most machines.  */
++
++#define NO_UNION_TYPE
++
++/* Define the type to use.  */
++#define EMACS_INT               long
++#define EMACS_UINT              unsigned long
++#define SPECIAL_EMACS_INT
++
++/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
++   the 24-bit bit field into an int.  In other words, if bit fields
++   are always unsigned.
++
++   If you use NO_UNION_TYPE, this flag does not matter.  */
++
++#define EXPLICIT_SIGN_EXTEND
++
++/* Data type of load average, as read out of kmem.  */
++
++#define LOAD_AVE_TYPE long
++
++/* Convert that into an integer that is 100 for a load average of 1.0  */
++
++#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
++
++/* Define CANNOT_DUMP on machines where unexec does not work.
++   Then the function dump-emacs will not be defined
++   and temacs will do (load "loadup") automatically unless told otherwise.  */
++
++/* #define CANNOT_DUMP */
++
++/* Define VIRT_ADDR_VARIES if the virtual addresses of
++   pure and impure space as loaded can vary, and even their
++   relative order cannot be relied on.
++
++   Otherwise Emacs assumes that text space precedes data space,
++   numerically.  */
++
++#define VIRT_ADDR_VARIES  /* XXX */
++
++/* Define C_ALLOCA if this machine does not support a true alloca
++   and the one written in C should be used instead.
++   Define HAVE_ALLOCA to say that the system provides a properly
++   working alloca function and it should be used.
++   Define neither one if an assembler-language alloca
++   in the file alloca.s should be used.  */
++
++/* #define C_ALLOCA */      /* XXX */
++#define HAVE_ALLOCA
++
++/* Define NO_REMAP if memory segmentation makes it not work well
++   to change the boundary between the text section and data section
++   when Emacs is dumped.  If you define this, the preloaded Lisp
++   code will not be sharable; but that's better than failing completely.  */
++
++#define NO_REMAP  /* XXX */
++
++#define PNTR_COMPARISON_TYPE unsigned long
++
++/* On the 64 bit architecture, we can use 60 bits for addresses */
++
++#define VALBITS         60
++
++/* This definition of MARKBIT is necessary because of the comparison of
++   ARRAY_MARK_FLAG and MARKBIT in an #if in lisp.h, which cpp doesn't like. */
++
++#define MARKBIT         0x8000000000000000L
++
++/* Define XINT and XUINT so that they can take arguments of type int */
++#define XINT(a)  (((long) (a) << (BITS_PER_LONG - VALBITS)) >> (BITS_PER_LONG - VALBITS))
++#define XUINT(a) ((long) (a) & VALMASK)



Home | Main Index | Thread Index | Old Index