[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals-release/ada-mode 8660d5e9b2 1/2: Release 8.0.5 packagin
From: |
Stephen Leake |
Subject: |
[elpa] externals-release/ada-mode 8660d5e9b2 1/2: Release 8.0.5 packaging fixes |
Date: |
Wed, 8 Feb 2023 10:08:02 -0500 (EST) |
branch: externals-release/ada-mode
commit 8660d5e9b2219208e5d43b979f5fb57fbb518924
Author: Stephen Leake <stephen_leake@stephe-leake.org>
Commit: Stephen Leake <stephen_leake@stephe-leake.org>
Release 8.0.5 packaging fixes
---
.elpaignore | 1 +
.gitignore | 6 ---
Alire.make | 1 -
NEWS | 5 +++
README | 2 +-
ada-mode.el | 6 +--
ada-mode.texi | 18 ++++----
ada_mode_wisi_parse.gpr | 110 ++++++++++++++++++++++++++++++++++++++++++++++++
build.sh | 9 ++--
install.sh | 2 +-
10 files changed, 134 insertions(+), 26 deletions(-)
diff --git a/.elpaignore b/.elpaignore
new file mode 100644
index 0000000000..ce56bc2095
--- /dev/null
+++ b/.elpaignore
@@ -0,0 +1 @@
+alire.toml
diff --git a/.gitignore b/.gitignore
index d9f97eb120..f65844eda1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,4 @@
*.elc
-*.exe
-*.parse_table
ada-mode-autoloads.el
ada-mode-pkg.el
-Makefile.conf
ada_annex_p_lr1_parse_table.txt
-ada_mode_wisi_parse.gpr
-check.gpr
-obj/
diff --git a/Alire.make b/Alire.make
index f7e9a89a24..910183349d 100644
--- a/Alire.make
+++ b/Alire.make
@@ -7,5 +7,4 @@ include
$(STEPHES_ADA_LIBRARY_ALIRE_PREFIX)/build/alire_rules.make
include $(WISITOKEN_ALIRE_PREFIX)/build/wisitoken_alire_rules.make
# Local Variables:
-# eval: (load-file "prj.el")
# End:
diff --git a/NEWS b/NEWS
index c5830f9018..ad53c680fe 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,11 @@ Please send ada-mode bug reports to bug-gnu-emacs@gnu.org, with
'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
+Ada Mode 8.0.5
+3 Feb 2020
+
+** Alire and ELPA packaging fixes.
+
Ada Mode 8.0.4
16 Jan 2023
diff --git a/README b/README
index 7db7121651..92144ab945 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 8.0.4
+Emacs Ada mode version 8.0.5
Ada mode provides auto-casing, fontification, navigation, and
indentation for Ada source code files.
diff --git a/ada-mode.el b/ada-mode.el
index a67b46aa1b..7e1f09c07e 100644
--- a/ada-mode.el
+++ b/ada-mode.el
@@ -6,8 +6,8 @@
;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
;; Keywords: languages
;; ada
-;; Version: 8.0.4
-;; package-requires: ((uniquify-files "1.0.4") (wisi "4.2.2") (gnat-compiler
"1.0.1") (emacs "25.3"))
+;; Version: 8.0.5
+;; package-requires: ((uniquify-files "1.0.4") (wisi "4.2.2") (gnat-compiler
"1.0.2") (emacs "25.3"))
;; url: https://www.nongnu.org/ada-mode/
;;
;; This file is part of GNU Emacs.
@@ -117,7 +117,7 @@
(defun ada-mode-version ()
"Return Ada mode version."
(interactive)
- (let ((version-string "8.0.4"))
+ (let ((version-string "8.0.5"))
(if (called-interactively-p 'interactive)
(message version-string)
version-string)))
diff --git a/ada-mode.texi b/ada-mode.texi
index 84335451ed..456e36f657 100644
--- a/ada-mode.texi
+++ b/ada-mode.texi
@@ -259,14 +259,14 @@ ELPA package ada-ref-man.
@node Ada executables
@section Ada executables
-Ada mode requires either the external parser and gpr-query, or the Ada
+Ada mode requires either the wisi parser and gpr-query, or the Ada
language server @code{ada_language_server}. All of these can be
installed via the Alire Ada package manager
(@url{https://alire.ada.dev/}), or compiled directly.
See the gpr-query package for information on compiling gpr-query.
-To install the external parser,
+To install the wisi parser:
@example
cd ~/.emacs.d/elpa/ada-mode-i.j.xx
@@ -275,19 +275,19 @@ cd ~/.emacs.d/elpa/ada-mode-i.j.xx
@end example
By default, @file{install.sh} installs the parser executable in
-@code{$HOME/.local/bin}. If you want to install somewhere else, use
-@code{install.sh --prefix=<dir>}.
+@code{$HOME/.local/bin}, so you must put that in @code{PATH}. If you
+want to install somewhere else, use @code{install.sh --prefix=<dir>}.
These scripts default to use Alire (@url{https://alire.ada.dev/}) if
it is found on @code{PATH}; otherwise they use @code{gprbuild}.
One step in build.sh is to run @code{wisitoken-bnf-generate} to
generate the LR1 parse table for the parser. This can take up to 5.4GB
-of memory; if your machine does not have that much, you can download
-the @file{ada_annex_p_lr1_parse_table.txt} from
-@url{https://download.savannah.nongnu.org/releases/ada-mode/} - be
-sure to get the version that matches ada-mode, and put it in the same
-directory as @file{ada_mode_wisi_lr1_parse}.
+of memory during the generate process; if your machine does not have
+that much, you can download the @file{ada_annex_p_lr1_parse_table.txt}
+from @url{https://download.savannah.nongnu.org/releases/ada-mode/} -
+be sure to get the version that matches the current ada-mode, and put
+it in the same directory as @file{ada_mode_wisi_lr1_parse}.
@node Known versions
@section Known versions
diff --git a/ada_mode_wisi_parse.gpr b/ada_mode_wisi_parse.gpr
new file mode 100644
index 0000000000..2f2049c503
--- /dev/null
+++ b/ada_mode_wisi_parse.gpr
@@ -0,0 +1,110 @@
+-- Abstract :
+--
+-- build ada_mode_wisi_parse and other executables
+--
+-- Copyright (C) 2014, 2018 - 2020, 2022 Free Software Foundation, Inc.
+--
+-- This program is free software; you can redistribute it and/or
+-- modify it under terms of the GNU General Public License as
+-- published by the Free Software Foundation; either version 3, or (at
+-- your option) any later version. This program 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
+-- distributed with this program; see file COPYING. If not, write to
+-- the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
+-- MA 02110-1335, USA.
+
+with "standard_common";
+with "wisi";
+project Ada_Mode_Wisi_Parse is
+
+ for Main use
+ ("ada_mode_wisi_lalr_parse.ads",
+ "ada_mode_wisi_lr1_parse.ads",
+ "run_ada_lalr_parse.ads",
+ "run_ada_lr1_parse.ads"
+ );
+
+ for Source_Dirs use (".");
+ for Create_Missing_Dirs use "True";
+
+ case Standard_Common.Profile is
+ when "On" =>
+ for Object_Dir use "obj_pro";
+ for Exec_Dir use "exec_pro";
+
+ when "Off" =>
+ for Object_Dir use "obj";
+ for Exec_Dir use "bin";
+ end case;
+
+ for Languages use ("Ada", "C");
+
+ package Compiler is
+
+ case Standard_Common.Build is
+ when "Debug" =>
+ for Default_Switches ("Ada") use
+ Standard_Common.Compiler.Common_Switches &
+ Standard_Common.Compiler.Style_Checks &
+ Standard_Common.Compiler.Debug_Switches;
+
+ -- Generated files; lines too long, don't need debug
+ for Switches ("ada_process_actions.adb") use
+ Standard_Common.Compiler.Common_Switches &
+ Standard_Common.Compiler.Base_Style_Checks &
+ Standard_Common.Compiler.Base_Release_Switches & ("-O1",
"-gnat2020");
+
+ for Switches ("ada_process_main.adb") use
+ Standard_Common.Compiler.Common_Switches &
+ Standard_Common.Compiler.Base_Style_Checks &
+ Standard_Common.Compiler.Base_Release_Switches & ("-O1",
"-gnat2020");
+
+ for Default_Switches ("C") use
Standard_Common.Compiler.Debug_Switches_C;
+
+ when "Normal" =>
+ for Default_Switches ("Ada") use
+ Standard_Common.Compiler.Common_Switches &
+ Standard_Common.Compiler.Style_Checks &
+ Standard_Common.Compiler.Release_Switches;
+
+ for Switches ("ada_process_actions.adb") use
+ Standard_Common.Compiler.Common_Switches &
+ Standard_Common.Compiler.Base_Style_Checks &
+ Standard_Common.Compiler.Base_Release_Switches & ("-O1",
"-gnat2020");
+
+ for Switches ("ada_process_main.adb") use
+ Standard_Common.Compiler.Common_Switches &
+ Standard_Common.Compiler.Base_Style_Checks &
+ Standard_Common.Compiler.Base_Release_Switches & ("-O1",
"-gnat2020");
+
+ for Default_Switches ("C") use
Standard_Common.Compiler.Release_Switches_C;
+ end case;
+
+ end Compiler;
+
+ package Builder is
+ -- Specifying some configuration pragmas can reduce parse times
+ -- by 10% or so, on some systems. But doing so only here causes
+ -- recompiling of wisitoken. If we add Global_ or Local_
+ -- Configuration_Pragmas in wisitoken.gpr, we get compilation
+ -- errors there. So we leave it up to users to patch this if
+ -- they want it.
+ -- for Global_Configuration_Pragmas use "config.pragmas";
+
+ for Global_Compilation_Switches ("Ada") use
Standard_Common.Builder'Global_Compilation_Switches ("Ada");
+
+ end Builder;
+
+ package Binder is
+ for default_switches ("Ada") use ("-E"); -- symbolic traceback
+ end Binder;
+
+ package Install is
+ for Required_Artifacts ("bin") use
+ ("ada_annex_p_lr1_parse_table.txt");
+ end Install;
+
+end Ada_Mode_Wisi_Parse;
diff --git a/build.sh b/build.sh
index 08b8ce7094..5e2e424163 100755
--- a/build.sh
+++ b/build.sh
@@ -12,7 +12,7 @@ if type alr; then
echo "building ada-mode executables via Alire"
# alr get --build builds dependencies with release, but top with
development.
- alr get emacs_ada_mode~8.0.3
+ alr get emacs_ada_mode~8.0.5
cd emacs_ada_mode_*; alr build --release
elif type gprbuild; then
@@ -37,12 +37,11 @@ elif type gprbuild; then
gprbuild -p -j8 -P $WISI_DIR/wisi.gpr wisitoken-bnf-generate
# We generate the Ada LR1 parse table .txt file here, because it is too
- # large to keep in ELPA. The code generated by wisitoken-bnf-generate
+ # large to keep in ELPA. The C code generated by wisitoken-bnf-generate
# is in ELPA, because it requires the re2c tool, which we don't expect
- # users to have installed. The LR1 parse table for gpr is in the Ada
- # code, so we don't need to generate that here.
+ # users to have installed (although we do expect Alire to install it).
echo "generate Ada LR1 parse table"
- $WISI_DIR/wisitoken-bnf-generate --task_count 1 ada_annex_p.wy
+ $WISI_DIR/wisitoken-bnf-generate ada_annex_p.wy
gprbuild -p -j8 -P ada_mode_wisi_parse.gpr -aP $WISI_DIR "$@"
diff --git a/install.sh b/install.sh
index 8645b48b4a..2c95f9bc05 100755
--- a/install.sh
+++ b/install.sh
@@ -12,7 +12,7 @@ else
PREFIX=$1
fi
-echo "installing ada-mode executables to" $PREFIX/bin
+echo "installing ada-mode executables to" $PREFIX/bin "; ensure that is in
PATH"
# No need for gprinstall; we only need the executable
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals-release/ada-mode 8660d5e9b2 1/2: Release 8.0.5 packaging fixes,
Stephen Leake <=