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/10] 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/10] 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 @@ -![GF Logo](doc/Logos/gf1.svg) +![GF Logo](https://www.grammaticalframework.org/doc/Logos/gf1.svg) # 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/10] 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.

News

-
2021-07-25
-
- GF 3.11 released. - Release notes -
+
2021-07-25
+
+ GF 3.11 released. + Release notes +
2021-05-05
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/10] 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.
-
2018-12-03
-
- Sixth GF Summer School in Stellenbosch (South Africa), 3–14 December 2018 -
-
2018-12-02
-
- GF 3.10 released. - Release notes -
-
2018-07-25
-
- The GF repository has been split in two: - gf-core and - gf-rgl. - The original GF repository is now archived. -
-
2017-08-11
-
- GF 3.9 released. - Release notes -
-
2017-06-29
-
- GF is moving to GitHub.
-
2017-03-13
-
- GF Summer School in Riga (Latvia), 14-25 August 2017 -

Projects

@@ -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/10] 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.

- The is also a GF server on Discord. + There is also a GF server on Discord.

- 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/10] 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/10] 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/10] 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/10] 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 @@

Contribute

@@ -154,7 +171,7 @@ least one, it may help you to get a first idea of what GF is.
-

Applications & Availability

+

Applications & availability

GF can be used for building translation systems, From bedb46527daa99125f103b87e9fdf8e3cbe9d98b Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Tue, 17 Aug 2021 10:18:34 +0200 Subject: [PATCH 10/10] Move Thomas from current to previous on maintainers page --- doc/gf-people.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/gf-people.md b/doc/gf-people.md index 7d0ef90c2..d7b755b9d 100644 --- a/doc/gf-people.md +++ b/doc/gf-people.md @@ -7,7 +7,6 @@ title: "Grammatical Framework: Authors and Acknowledgements" The current maintainers of GF are [Krasimir Angelov](http://www.chalmers.se/cse/EN/organization/divisions/computing-science/people/angelov-krasimir), -[Thomas Hallgren](http://www.cse.chalmers.se/~hallgren/), [Aarne Ranta](http://www.cse.chalmers.se/~aarne/), [John J. Camilleri](http://johnjcamilleri.com), and [Inari Listenmaa](https://inariksit.github.io/). @@ -22,6 +21,7 @@ and The following people have contributed code to some of the versions: +- [Thomas Hallgren](http://www.cse.chalmers.se/~hallgren/) (University of Gothenburg) - Grégoire Détrez (University of Gothenburg) - Ramona Enache (University of Gothenburg) - [Björn Bringert](http://www.cse.chalmers.se/alumni/bringert) (University of Gothenburg)