From 723bec1ba0579ace280f6d67ad71a1596fc4f166 Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Mon, 9 Aug 2021 13:41:25 +0200
Subject: [PATCH 01/11] Changes made in order to get Hackage upload working
---
Makefile | 6 +++---
RELEASE.md | 11 +++++++----
gf.cabal | 9 ++++++---
src/programs/gf-main.hs | 2 ++
4 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
index cdb35e49a..fc2a38808 100644
--- a/Makefile
+++ b/Makefile
@@ -65,6 +65,6 @@ bintar:
# Make a source tar.gz distribution using git to make sure that everything is included.
# We put the distribution in dist/ so it is removed on `make clean`
-sdist:
- test -d dist || mkdir dist
- git archive --format=tar.gz --output=dist/gf-${VERSION}.tar.gz HEAD
+# sdist:
+# test -d dist || mkdir dist
+# git archive --format=tar.gz --output=dist/gf-${VERSION}.tar.gz HEAD
diff --git a/RELEASE.md b/RELEASE.md
index 04bd4b933..1deaa3a90 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -47,11 +47,14 @@ but the generated _artifacts_ must be manually attached to the release as _asset
In order to do this you will need to be added the [GF maintainers](https://hackage.haskell.org/package/gf/maintainers/) on Hackage.
-1. Run `make sdist`
+1. Run `stack sdist --test-tarball` and address any issues.
2. Upload the package, either:
- 1. **Manually**: visit and upload the file `dist/gf-X.Y.tar.gz`
- 2. **via Cabal (≥2.4)**: `cabal upload dist/gf-X.Y.tar.gz`
-3. If the documentation-building fails on the Hackage server, do:
+ 1. **Manually**: visit and upload the file generated by the previous command.
+ 2. **via Stack**: `stack upload . --candidate`
+3. After testing the candidate, publish it:
+ 1. **Manually**: visit
+ 1. **via Stack**: `stack upload .`
+4. If the documentation-building fails on the Hackage server, do:
```
cabal v2-haddock --builddir=dist/docs --haddock-for-hackage --enable-doc
cabal upload --documentation dist/docs/*-docs.tar.gz
diff --git a/gf.cabal b/gf.cabal
index 711acaeb2..e356614ec 100644
--- a/gf.cabal
+++ b/gf.cabal
@@ -8,12 +8,15 @@ license-file: LICENSE
category: Natural Language Processing, Compiler
synopsis: Grammatical Framework
description: GF, Grammatical Framework, is a programming language for multilingual grammar applications
+maintainer: John J. Camilleri
homepage: https://www.grammaticalframework.org/
bug-reports: https://github.com/GrammaticalFramework/gf-core/issues
tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.10.4
data-dir: src
-extra-source-files: WebSetup.hs
+extra-source-files:
+ WebSetup.hs
+ doc/Logos/gf0.png
data-files:
www/*.html
www/*.css
@@ -106,7 +109,7 @@ library
--ghc-options: -fwarn-unused-imports
--if impl(ghc>=7.8)
-- ghc-options: +RTS -A20M -RTS
- ghc-prof-options: -fprof-auto
+ -- ghc-prof-options: -fprof-auto
exposed-modules:
PGF
@@ -370,7 +373,7 @@ executable gf
if impl(ghc<7.8)
ghc-options: -with-rtsopts=-K64M
- ghc-prof-options: -auto-all
+ -- ghc-prof-options: -auto-all
if impl(ghc>=8.2)
ghc-options: -fhide-source-paths
diff --git a/src/programs/gf-main.hs b/src/programs/gf-main.hs
index 1dae54bc7..cf387d2fa 100644
--- a/src/programs/gf-main.hs
+++ b/src/programs/gf-main.hs
@@ -1,3 +1,5 @@
+module Main where
+
import qualified GF
main = GF.main
From 7a63ba34b471a1b4edd4655422f4ae235dbcf12b Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Thu, 12 Aug 2021 09:56:34 +0200
Subject: [PATCH 02/11] Add changelog
This will hopefully help us keep track of changes for the next release
---
CHANGELOG.md | 11 +++++++++++
README.md | 4 ++--
gf.cabal | 2 ++
3 files changed, 15 insertions(+), 2 deletions(-)
create mode 100644 CHANGELOG.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..ac209f1af
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,11 @@
+### New since 3.11 (WIP)
+
+- Added a changelog!
+
+### 3.11
+
+See
+
+### 3.10
+
+See
diff --git a/README.md b/README.md
index e393be0e6..79e6ab68f 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
# Grammatical Framework (GF)
@@ -39,7 +39,7 @@ or:
stack install
```
-For more information, including links to precompiled binaries, see the [download page](http://www.grammaticalframework.org/download/index.html).
+For more information, including links to precompiled binaries, see the [download page](https://www.grammaticalframework.org/download/index.html).
## About this repository
diff --git a/gf.cabal b/gf.cabal
index e356614ec..b4dcf81a0 100644
--- a/gf.cabal
+++ b/gf.cabal
@@ -15,6 +15,8 @@ tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.10.4
data-dir: src
extra-source-files:
+ README.md
+ CHANGELOG.md
WebSetup.hs
doc/Logos/gf0.png
data-files:
From e477ce4b1fbc5544c1fe0d8dedd83df3f5ec1290 Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Thu, 12 Aug 2021 10:05:45 +0200
Subject: [PATCH 03/11] HTML fix on homepage
---
index.html | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/index.html b/index.html
index 8816cc265..6bf896c28 100644
--- a/index.html
+++ b/index.html
@@ -226,12 +226,12 @@ least one, it may help you to get a first idea of what GF is.
GF WordNet now supports languages for which there are no other WordNets. New additions: Afrikaans, German, Korean, Maltese, Polish, Somali, Swahili.
From bbe4682c3da36d69441e00758c9979a5f0ac44cb Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Thu, 12 Aug 2021 15:19:17 +0200
Subject: [PATCH 04/11] Update homepage
- Add Discord link
- Point to GitHub issues, Stack Overflow in "Getting help"
- Remove old news
---
index.html | 41 +++++++++++------------------------------
1 file changed, 11 insertions(+), 30 deletions(-)
diff --git a/index.html b/index.html
index 6bf896c28..91848da60 100644
--- a/index.html
+++ b/index.html
@@ -219,7 +219,16 @@ least one, it may help you to get a first idea of what GF is.
or browse the channel logs.
- If you have a larger question which the community may benefit from, we recommend you ask it on the mailing list.
+ The is also a GF server on Discord.
+
+
+
+ For bug reports and feature requests, please create an issue on the
+ GF Core or
+ RGL repositories.
+
+ For programming questions, consider asking them on Stack Overflow with the gf tag.
+ If you have a more general question to the community, we recommend you ask it on the mailing list.
@@ -244,34 +253,6 @@ least one, it may help you to get a first idea of what GF is.
Abstract Syntax as Interlingua: Scaling Up the Grammatical Framework from Controlled Languages to Robust Pipelines. A paper in Computational Linguistics (2020) summarizing much of the development in GF in the past ten years.
@@ -341,7 +322,7 @@ least one, it may help you to get a first idea of what GF is.
Libraries are at the heart of modern software engineering. In natural language
applications, libraries are a way to cope with thousands of details involved in
syntax, lexicon, and inflection. The
- GF resource grammar library has
+ GF resource grammar library (RGL) has
support for an increasing number of languages, currently including
Afrikaans,
Amharic (partial),
From 974e8b08353ee9baab59e0e4d8f81413f0789afc Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Thu, 12 Aug 2021 15:20:29 +0200
Subject: [PATCH 05/11] Typos in homepage
---
index.html | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/index.html b/index.html
index 91848da60..f87fa5273 100644
--- a/index.html
+++ b/index.html
@@ -219,13 +219,13 @@ least one, it may help you to get a first idea of what GF is.
or browse the channel logs.
- For bug reports and feature requests, please create an issue on the
+ For bug reports and feature requests, please create an issue in the
GF Core or
- RGL repositories.
+ RGL repository.
For programming questions, consider asking them on Stack Overflow with the gf tag.
If you have a more general question to the community, we recommend you ask it on the mailing list.
From 058526ec5d33759f5f19dedc4767276009888a97 Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Thu, 12 Aug 2021 15:27:10 +0200
Subject: [PATCH 06/11] Remove Travis CI workflow, we use GitHub actions now
Closes #123
---
.travis.yml | 14 --------------
1 file changed, 14 deletions(-)
delete mode 100644 .travis.yml
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 0ca0794b0..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-sudo: required
-
-language: c
-
-services:
- - docker
-
-before_install:
- - docker pull odanoburu/gf-src:3.9
-
-script:
- - |
- docker run --mount src="$(pwd)",target=/home/gfer,type=bind odanoburu/gf-src:3.9 /bin/bash -c "cd /home/gfer/src/runtime/c &&
- autoreconf -i && ./configure && make && make install ; cd /home/gfer ; cabal install -fserver -fc-runtime --extra-lib-dirs='/usr/local/lib'"
From 8ec13b1030f21f5938e4129d2b2a800645721cc0 Mon Sep 17 00:00:00 2001
From: Inari Listenmaa
Date: Mon, 16 Aug 2021 09:07:59 +0800
Subject: [PATCH 07/11] Uncomment installation instructions from Hackage
---
download/index-3.11.md | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/download/index-3.11.md b/download/index-3.11.md
index 4f2798a0a..25b4cf7fb 100644
--- a/download/index-3.11.md
+++ b/download/index-3.11.md
@@ -53,10 +53,11 @@ You will probably need to update the `PATH` environment variable to include your
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
-
+The GF source code has been updated to compile with GHC versions 7.10 through to 8.10.
+
## Installing from the latest developer source code
If you haven't already, clone the repository with:
From ef0e831c9e532e091d463905294958daea57d103 Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Tue, 17 Aug 2021 09:38:20 +0200
Subject: [PATCH 08/11] Update installation instructions from Hackage, source
code
---
download/index-3.11.md | 58 ++++++++++++++++++++++++++----------------
1 file changed, 36 insertions(+), 22 deletions(-)
diff --git a/download/index-3.11.md b/download/index-3.11.md
index 25b4cf7fb..8fa1d5c02 100644
--- a/download/index-3.11.md
+++ b/download/index-3.11.md
@@ -53,27 +53,39 @@ You will probably need to update the `PATH` environment variable to include your
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
-## Installing the latest Hackage release (macOS, Linux, and WSL2 on Windows)
+## Installing from Hackage
+
+_Instructions applicable for macOS, Linux, and WSL2 on Windows._
[GF is on Hackage](http://hackage.haskell.org/package/gf), so under
-normal circumstances the procedure is fairly simple.
-If you already have a version of GHC between 7.10 and 8.10, go directly to point 4.
+normal circumstances the procedure is fairly simple:
-1. Install ghcup https://www.haskell.org/ghcup/
-2. `ghcup install ghc 8.10.4`
-3. `ghcup set ghc 8.10.4`
-4. `cabal update`
-5. On Linux: install some C libraries from your Linux distribution (see note below)
-6. `cabal install gf-3.11`
-
-You can also download the source code release from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases),
-and follow the instructions below under **Installing from the latest developer source code**.
+```
+cabal update
+cabal install gf-3.11
+```
### Notes
+**GHC version**
+
+The GF source code is known to be compilable with GHC versions 7.10 through to 8.10.
+
+**Obtaining Haskell**
+
+There are various ways of obtaining Haskell, including:
+
+- ghcup
+ 1. Install from https://www.haskell.org/ghcup/
+ 2. `ghcup install ghc 8.10.4`
+ 3. `ghcup set ghc 8.10.4`
+- Haskell Platform https://www.haskell.org/platform/
+- Stack https://haskellstack.org/
+
+
**Installation location**
-The above steps installs GF for a single user.
+The above steps install GF for a single user.
The executables are put in `$HOME/.cabal/bin` (or on macOS in `$HOME/Library/Haskell/bin`),
so you might want to add this directory to your path (in `.bash_profile` or similar):
@@ -85,32 +97,34 @@ PATH=$HOME/.cabal/bin:$PATH
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
on Linux depends on some non-Haskell libraries that won't be installed
-automatically by cabal, and therefore need to be installed manually.
+automatically by Cabal, and therefore need to be installed manually.
Here is one way to do this:
- On Ubuntu: `sudo apt-get install libghc-haskeline-dev`
- On Fedora: `sudo dnf install ghc-haskeline-devel`
-**GHC version**
+## Installing from source code
-The GF source code has been updated to compile with GHC versions 7.10 through to 8.10.
+**Obtaining**
-## Installing from the latest developer source code
+To obtain the source code for the **release**,
+download it from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases).
-If you haven't already, clone the repository with:
+Alternatively, to obtain the **latest version** of the source code:
+1. If you haven't already, clone the repository with:
```
git clone https://github.com/GrammaticalFramework/gf-core.git
```
-
-If you've already cloned the repository previously, update with:
-
+2. If you've already cloned the repository previously, update with:
```
git pull
```
-Then install with:
+**Installing**
+
+You can then install with:
```
cabal install
```
From 0258a8725717d029b3c6900ef1ace39b9835e9ad Mon Sep 17 00:00:00 2001
From: "John J. Camilleri"
Date: Tue, 17 Aug 2021 09:57:50 +0200
Subject: [PATCH 09/11] Add IRC, Discord, SO links to "contribute" section at
top of homepage
---
index.html | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/index.html b/index.html
index f87fa5273..f657cc5b5 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,7 @@
-
+
@@ -85,10 +85,27 @@