summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authordholland <dholland@pkgsrc.org>2021-12-25 22:11:50 +0000
committerdholland <dholland@pkgsrc.org>2021-12-25 22:11:50 +0000
commit214c0d680174f69017a1b1aa3bb5cbd00b6a9ba6 (patch)
tree2b72b021a9ec9016ab6f2f3c0d5dc31cffad0dcf /editors
parent23d12329f8711096d88d1f2becc05d7ec99c1f4f (diff)
downloadpkgsrc-214c0d680174f69017a1b1aa3bb5cbd00b6a9ba6.tar.gz
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 (limited to 'editors')
-rw-r--r--editors/emacs20/distinfo7
-rw-r--r--editors/emacs20/patches/patch-ab21
-rw-r--r--editors/emacs20/patches/patch-bg10
-rw-r--r--editors/emacs20/patches/patch-src_m_aarch64.h138
4 files changed, 159 insertions, 17 deletions
diff --git a/editors/emacs20/distinfo b/editors/emacs20/distinfo
index a78aa32f084..fcb1a9e27be 100644
--- a/editors/emacs20/distinfo
+++ b/editors/emacs20/distinfo
@@ -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 @@ BLAKE2s (emacs20-xim-20000713.diff) = 22ddc9c54b5c3535bf9788af7c00dd3eea65fcbb23
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-bb) = 2b5df93c18a2baabed0d2a878242e1fa30647167
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-cd) = 22b29708e0730275984dc2d8e7a304932d6b66fb
SHA1 (patch-ce) = df4d2a5639a72d2c719662496f17db35686f4ac2
SHA1 (patch-cf) = 1b5b83eb02872414fd7ca29c344c0560feaf1b7e
SHA1 (patch-cg) = b2bd4cbff399922e44ad54459255ffb1d61e1bd4
+SHA1 (patch-src_m_aarch64.h) = 861757ce6568303ea55cb9c9f290abc6100d3dc2
diff --git a/editors/emacs20/patches/patch-ab b/editors/emacs20/patches/patch-ab
index f52b24bcdc0..66300cd0d61 100644
--- a/editors/emacs20/patches/patch-ab
+++ b/editors/emacs20/patches/patch-ab
@@ -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 @@ with autoconf without thinking.
#### 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 @@ with autoconf without thinking.
+ 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 @@ with autoconf without thinking.
*-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 @@ with autoconf without thinking.
# 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 @@ with autoconf without thinking.
LIBS="$OLDLIBS"
fi
-@@ -4906,6 +4975,64 @@ EOF
+@@ -4906,6 +4976,64 @@ EOF
fi
@@ -194,7 +195,7 @@ with autoconf without thinking.
# 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 @@ with autoconf without thinking.
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 @@ with autoconf without thinking.
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 @@ with autoconf without thinking.
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 --git a/editors/emacs20/patches/patch-bg b/editors/emacs20/patches/patch-bg
index 60c91f382bb..0e737e4d614 100644
--- a/editors/emacs20/patches/patch-bg
+++ b/editors/emacs20/patches/patch-bg
@@ -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 @@ $NetBSD: patch-bg,v 1.2 2012/03/05 07:29:36 dholland Exp $
#### 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 @@ $NetBSD: patch-bg,v 1.2 2012/03/05 07:29:36 dholland Exp $
+ 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 says libXmu.a
+@@ -1594,6 +1602,14 @@ dnl tranle@intellicorp.com says libXmu.a
LIBS="-lXt $LIBS"
fi
AC_CHECK_LIB(Xmu, XmuConvertStandardSelection)
@@ -48,7 +50,7 @@ $NetBSD: patch-bg,v 1.2 2012/03/05 07:29:36 dholland Exp $
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 --git a/editors/emacs20/patches/patch-src_m_aarch64.h b/editors/emacs20/patches/patch-src_m_aarch64.h
new file mode 100644
index 00000000000..1391acf8666
--- /dev/null
+++ b/editors/emacs20/patches/patch-src_m_aarch64.h
@@ -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)
++
++/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
++
++#define XPNTR(a) XUINT (a)
++
++/* #undef START_FILES */ /* XXX */
++/* #define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o */ /* XXX */
++
++/* #undef LIB_STANDARD */ /* XXX */
++/* #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o */ /* XXX */