summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrangelov <kr.angelov@gmail.com>2020-11-17 10:27:07 +0100
committerkrangelov <kr.angelov@gmail.com>2020-11-17 10:27:07 +0100
commit37c63a0c22ccc73e60222335263c702873b6af2c (patch)
treee5a7bfc4f430cc568da7294e732002afdec8c19b
parentd4ccd2848c293eabb511e966ed6f12066a2b2ee0 (diff)
parent6862098d8bd6f47513d52e132aba419997979f90 (diff)
Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core
-rw-r--r--RELEASE.md47
-rwxr-xr-xbin/update_html2
-rw-r--r--download/gfc25
-rw-r--r--download/index-3.10.md (renamed from download/index.md)0
-rw-r--r--download/index-3.11.md182
-rw-r--r--download/index.html8
-rw-r--r--download/release-3.11.md25
7 files changed, 263 insertions, 26 deletions
diff --git a/RELEASE.md b/RELEASE.md
new file mode 100644
index 000000000..131a37b5d
--- /dev/null
+++ b/RELEASE.md
@@ -0,0 +1,47 @@
+# GF Core releases
+
+🚨 WARNING! The information here is preliminary!
+
+## Creating a new release
+
+### 1. Prepare the repository
+
+**Web pages**
+
+1. Create `download/index-X.Y.md` with installation instructions.
+1. Create `download/release-X.Y.md` with changelog information.
+1. Update `download/index.html` to redirect to the new version.
+1. Add announcement in news section in `index.html`
+
+**Version numbers**
+
+1. Update version number in `gf.cabal` (ommitting `-git` suffix)
+1. Add a new line in `debian/changelog`
+
+### 2. Create GitHub release
+
+1. When the above changes are committed to the `master` branch in the repository,
+ check that all builds are successful:
+ - https://github.com/GrammaticalFramework/gf-core/actions
+ - https://travis-ci.org/github/GrammaticalFramework/gf-core
+1. Create a GitHub release here: https://github.com/GrammaticalFramework/gf-core/releases/new
+ with a tag format `RELEASE-X.Y`
+
+### 3. Binary packages
+
+Build and attach binaries to the release by running the relevant GitHub Actions workflows (TODO):
+
+1. Go to https://github.com/GrammaticalFramework/gf-rgl/actions
+1. Click "Build [platform] package" under _Workflows_
+1. Click "Run workflow" and specify the tag `RELEASE-X.Y`
+
+### 4. Upload to Hackage
+
+1. Run `make sdist`
+1. Visit `https://hackage.haskell.org/upload` and upload the file `dist/gf-X.Y.tar.gz`,
+ OR upload directly with Cabal (≥2.4): `cabal upload dist/gf-X.Y.tar.gz`
+1. 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/bin/update_html b/bin/update_html
index 912ff1fa0..717670085 100755
--- a/bin/update_html
+++ b/bin/update_html
@@ -147,7 +147,7 @@ else
fi
done
find . -name '*.md' | while read file ; do
- if [[ "$file" == *"README.md" ]] ; then continue ; fi
+ if [[ "$file" == *"README.md" ]] || [[ "$file" == *"RELEASE.md" ]] ; then continue ; fi
html="${file%.md}.html"
if [ "$file" -nt "$html" ] || [ "$template" -nt "$html" ] ; then
render_md_html "$file" "$html"
diff --git a/download/gfc b/download/gfc
deleted file mode 100644
index 7c1d30515..000000000
--- a/download/gfc
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-prefix="/usr/local"
-
-case "i386-apple-darwin9.3.0" in
- *-cygwin)
- prefix=`cygpath -w "$prefix"`;;
-esac
-
-exec_prefix="${prefix}"
-GF_BIN_DIR="${exec_prefix}/bin"
-GF_DATA_DIR="${prefix}/share/GF-3.0-beta"
-
-GFBIN="$GF_BIN_DIR/gf"
-
-if [ ! -x "${GFBIN}" ]; then
- GFBIN=`which gf`
-fi
-
-if [ ! -x "${GFBIN}" ]; then
- echo "gf not found."
- exit 1
-fi
-
-exec $GFBIN --batch "$@"
diff --git a/download/index.md b/download/index-3.10.md
index 44eb6db3c..44eb6db3c 100644
--- a/download/index.md
+++ b/download/index-3.10.md
diff --git a/download/index-3.11.md b/download/index-3.11.md
new file mode 100644
index 000000000..4e225f631
--- /dev/null
+++ b/download/index-3.11.md
@@ -0,0 +1,182 @@
+---
+title: Grammatical Framework Download and Installation
+...
+
+**GF 3.11** was released on ? December 2020.
+
+What's new? See the [release notes](release-3.11.html).
+
+## Binary packages
+
+Unlike previous versions, these binary packages include only the GF core (compiler and runtime).
+
+| Platform | Download | Features | How to install |
+|:----------------|:---------------------------------------------------|:---------------|:---------------------------------|
+| macOS | [gf-3.11.pkg](gf-3.11.pkg) | GF, S, C, J, P | Double-click on the package icon |
+| Ubuntu (32-bit) | [gf\_3.11\_i386.deb](gf_3.11_i386.deb) | GF, S, C, J, P | `sudo dpkg -i gf_3.11_i386.deb` |
+| Ubuntu (64-bit) | [gf\_3.11\_amd64.deb](gf_3.11_amd64.deb) | GF, S, C, J, P | `sudo dpkg -i gf_3.11_amd64.deb` |
+| Windows | [gf-3.11-bin-windows.zip](gf-3.11-bin-windows.zip) | GF, S | `unzip gf-3.11-bin-windows.zip` |
+
+**Features**
+
+- GF = GF shell and grammar compiler
+- S = `gf -server` mode
+- C = C run-time system
+- J/P = Java/Python binding to the C run-time system
+
+### Notes
+
+The Windows package is installed by just unpacking it anywhere. You will
+probably need to set the `PATH` and `GF_LIB_PATH` environment variables,
+see Inari's notes on [Installing GF on Windows](http://www.grammaticalframework.org/~inari/gf-windows.html#toc3).
+
+The Ubuntu `.deb` packages should work on Ubuntu 16.04 and 18.04 and
+similar Linux distributions. The `.deb` packages were updated
+to version 3.10-2 after the release of GF 3.10.
+(Because of a packaging bug the Resource Grammar Library was missing
+in the 3.10-1 packages.)
+
+The packages for macOS (Mac OS X) should work on at least 10.13 and
+10.14 (High Sierra and Mojave)
+
+## Installing the latest release from source
+
+[GF is on Hackage](http://hackage.haskell.org/package/gf), so under
+normal circumstances the procedure is fairly simple:
+
+1. Install a recent version of the [Haskell
+ Platform](http://hackage.haskell.org/platform) (see note below)
+2. `cabal update`
+3. On Linux: install some C libraries from your Linux distribution (see note below)
+4. `cabal install gf`
+
+This installs the GF executable and Haskell libraries, but **does not include the RGL**.
+
+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**.
+
+### Notes
+
+**Installation location**
+
+The above steps installs GF for a single user. The executables are put
+in `$HOME/.cabal/bin` (or, with recent versions of the Haskell platform
+on Mac OS X, in `$HOME/Library/Haskell/bin`), so it is a good idea to
+put a line in your `.bash_profile` or `.profile` to add that directory
+to you path:
+
+```
+PATH=$HOME/.cabal/bin:$PATH
+```
+
+or
+
+```
+PATH=$HOME/Library/Haskell/bin:$PATH
+```
+
+**Build tools**
+
+In order to compile GF you need the build tools **Alex** and **Happy**.
+These can be installed via Cabal, e.g.:
+
+```
+cabal install alex happy
+```
+
+or obtained by other means, depending on your OS.
+
+**Haskeline**
+
+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.
+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**
+
+The GF source code has been updated to compile with GHC 8.4.
+Using older versions of GHC (e.g. 8.2, 8.0 and 7.10) should still work too.
+
+## Installing from the latest developer source code
+
+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:
+
+```
+git pull
+```
+
+Then install with:
+
+```
+cabal install
+```
+
+or, if you're a Stack user:
+
+```
+stack install
+```
+
+The above notes for installing from source apply also in these cases.
+For more info on working with the GF source code, see the
+[GF Developers Guide](../doc/gf-developers.html).
+
+## Installing the RGL from source
+
+To install the RGL from source,
+you can download a release from [GitHub](https://github.com/GrammaticalFramework/gf-rgl/releases)
+or get the latest version by cloning the repository:
+
+```
+git clone https://github.com/GrammaticalFramework/gf-rgl.git
+```
+
+In both cases, once you have the RGL sources you can install them by running:
+
+```
+make
+```
+
+in the RGL folder.
+This assumes that you already have GF installed.
+For more details about building the RGL, see the [RGL README](https://github.com/GrammaticalFramework/gf-rgl/blob/master/README.md).
+
+## Installing the Python bindings from PyPI
+
+The Python library is available on PyPI as `pgf`, so it can be installed using:
+
+```
+pip install pgf
+```
+
+We provide binary wheels for Linux and OSX (with Windows missing so far), which
+include the C runtime and a ready-to-go. If there is no binary distribution for
+your platform, this will install the source tarball, which will attempt to build
+the binding during installation, and requires the GF C runtime to be installed on
+your system.
+
+## Older releases
+
+- [GF 3.10](index-3.10.html) (December 2018)
+- [GF 3.9](index-3.9.html) (August 2017)
+- [GF 3.8](index-3.8.html) (June 2016)
+- [GF 3.7.1](index-3.7.1.html) (October 2015)
+- [GF 3.7](index-3.7.html) (June 2015)
+- [GF 3.6](index-3.6.html) (June 2014)
+- [GF 3.5](index-3.5.html) (August 2013)
+- [GF 3.4](index-3.4.html) (January 2013)
+- [GF 3.3.3](index-3.3.3.html) (March 2012)
+- [GF 3.3](index-3.3.html) (October 2011)
+- [GF 3.2.9](index-3.2.9.html) source-only snapshot (September 2011)
+- [GF 3.2](index-3.2.html) (December 2010)
+- [GF 3.1.6](index-3.1.6.html) (April 2010)
diff --git a/download/index.html b/download/index.html
new file mode 100644
index 000000000..eb32412f8
--- /dev/null
+++ b/download/index.html
@@ -0,0 +1,8 @@
+<html>
+<head>
+ <meta http-equiv="refresh" content="0; URL=/download/index-3.10.html" />
+</head>
+<body>
+ You are being redirected to <a href="index-3.10.html">the current version</a> of this page.
+</body>
+</html>
diff --git a/download/release-3.11.md b/download/release-3.11.md
new file mode 100644
index 000000000..a6af7fafe
--- /dev/null
+++ b/download/release-3.11.md
@@ -0,0 +1,25 @@
+---
+title: GF 3.11 Release Notes
+date: ? December 2020
+...
+
+## Installation
+
+See the [download page](index.html).
+
+## What's new
+
+From this release, the binary GF core packages do not contain the RGL.
+The RGL's release cycle is now completely separate from GF's. See [RGL releases](https://github.com/GrammaticalFramework/gf-rgl/releases).
+
+Over ... changes have been pushed to GF core
+since the release of GF 3.10 in December 2018.
+
+## General
+
+- Testsuite.
+- Compatibiilty with new versions of GHC.
+
+## GF compiler and run-time library
+
+- More improvements to error messages.