Skip to content

Commit 9fed2ea

Browse files
authored
Merge branch 'master' into minor-updates-binary-packages
2 parents 28fae94 + e7c0b6d commit 9fed2ea

File tree

4 files changed

+202
-2
lines changed

4 files changed

+202
-2
lines changed

download/index-3.12.md

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
---
2+
title: Grammatical Framework Download and Installation
3+
date: 3 August 2025
4+
---
5+
6+
**GF 3.12** was released on 3 August 2025.
7+
8+
What's new? See the [release notes](release-3.12.html).
9+
10+
#### Note: GF core and the RGL
11+
12+
The following instructions explain how to install **GF core**, i.e. the compiler, shell and run-time systems.
13+
Obtaining the **Resource Grammar Library (RGL)** is done separately; see the section at the bottom of this page.
14+
15+
---
16+
17+
## Installing from a binary package
18+
19+
Binary packages are available for Debian/Ubuntu, macOS, and Windows and include:
20+
21+
- GF shell and grammar compiler
22+
- `gf -server` mode
23+
- C run-time system
24+
- Java & Python bindings to the C run-time system
25+
26+
Unlike in previous versions, the binaries **do not** include the RGL.
27+
28+
[Binary packages on GitHub](https://github.com/GrammaticalFramework/gf-core/releases/tag/3.12)
29+
30+
#### Debian/Ubuntu
31+
32+
There are two versions: `gf-3.12-ubuntu-18.04.deb` for Ubuntu 18.04 (Cosmic), and `gf-3.12-ubuntu-20.04.deb` for Ubuntu 20.04 (Focal).
33+
34+
To install the package use:
35+
36+
```
37+
sudo apt-get install ./gf-3.12-ubuntu-*.deb
38+
```
39+
40+
<!-- The Ubuntu `.deb` packages should work on Ubuntu 16.04, 18.04 and similar Linux distributions. -->
41+
42+
#### macOS
43+
44+
To install the package, just double-click it and follow the installer instructions.
45+
46+
The packages should work on at least Catalina and Big Sur.
47+
48+
#### Windows
49+
50+
To install the package, unpack it anywhere.
51+
52+
You will probably need to update the `PATH` environment variable to include your chosen install location.
53+
54+
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
55+
56+
## Installing from Hackage
57+
58+
_Instructions applicable for macOS, Linux, and WSL2 on Windows._
59+
60+
[GF is on Hackage](http://hackage.haskell.org/package/gf), so under
61+
normal circumstances the procedure is fairly simple:
62+
63+
```
64+
cabal update
65+
cabal install gf-3.12
66+
```
67+
68+
### Notes
69+
70+
**GHC version**
71+
72+
The GF source code is known to be compilable with GHC versions 7.10 through to 8.10.
73+
74+
**Obtaining Haskell**
75+
76+
There are various ways of obtaining Haskell, including:
77+
78+
- ghcup
79+
1. Install from https://www.haskell.org/ghcup/
80+
2. `ghcup install ghc 8.10.4`
81+
3. `ghcup set ghc 8.10.4`
82+
- Haskell Platform https://www.haskell.org/platform/
83+
- Stack https://haskellstack.org/
84+
85+
86+
**Installation location**
87+
88+
The above steps install GF for a single user.
89+
The executables are put in `$HOME/.cabal/bin` (or on macOS in `$HOME/Library/Haskell/bin`),
90+
so you might want to add this directory to your path (in `.bash_profile` or similar):
91+
92+
```
93+
PATH=$HOME/.cabal/bin:$PATH
94+
```
95+
96+
**Haskeline**
97+
98+
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
99+
on Linux depends on some non-Haskell libraries that won't be installed
100+
automatically by Cabal, and therefore need to be installed manually.
101+
Here is one way to do this:
102+
103+
- On Ubuntu: `sudo apt-get install libghc-haskeline-dev`
104+
- On Fedora: `sudo dnf install ghc-haskeline-devel`
105+
106+
## Installing from source code
107+
108+
**Obtaining**
109+
110+
To obtain the source code for the **release**,
111+
download it from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases).
112+
113+
Alternatively, to obtain the **latest version** of the source code:
114+
115+
1. If you haven't already, clone the repository with:
116+
```
117+
git clone https://github.com/GrammaticalFramework/gf-core.git
118+
```
119+
2. If you've already cloned the repository previously, update with:
120+
```
121+
git pull
122+
```
123+
124+
125+
**Installing**
126+
127+
You can then install with:
128+
```
129+
cabal install
130+
```
131+
132+
or, if you're a Stack user:
133+
134+
```
135+
stack install
136+
```
137+
138+
<!--The above notes for installing from source apply also in these cases.-->
139+
For more info on working with the GF source code, see the
140+
[GF Developers Guide](../doc/gf-developers.html).
141+
142+
For macOS Sequoia, you need to downgrade the LLVM package, see instructions [here](https://github.com/GrammaticalFramework/gf-core/issues/172#issuecomment-2599365457).
143+
144+
## Installing the Python bindings from PyPI
145+
146+
The Python library is available on PyPI as `pgf`, so it can be installed using:
147+
148+
```
149+
pip install pgf
150+
```
151+
152+
We provide binary wheels for Linux and macOS, which include the C runtime and are ready-to-go.
153+
If there is no binary distribution for your platform, this will install the source tarball,
154+
which will attempt to build the binding during installation,
155+
and requires the GF C runtime to be installed on your system.
156+
157+
---
158+
159+
## Installing the RGL from a binary release
160+
161+
Binary releases of the RGL are made available on [GitHub](https://github.com/GrammaticalFramework/gf-rgl/releases).
162+
In general the steps to follow are:
163+
164+
1. Download a binary release and extract it somewhere on your system.
165+
2. Set the environment variable `GF_LIB_PATH` to point to wherever you extracted the RGL.
166+
167+
## Installing the RGL from source
168+
169+
To compile the RGL, you will need to have GF already installed and in your path.
170+
171+
1. Obtain the RGL source code, either by:
172+
- cloning with `git clone https://github.com/GrammaticalFramework/gf-rgl.git`
173+
- downloading a source archive [here](https://github.com/GrammaticalFramework/gf-rgl/archive/master.zip)
174+
2. Run `make` in the source code folder.
175+
176+
For more options, see the [RGL README](https://github.com/GrammaticalFramework/gf-rgl/blob/master/README.md).
177+
178+
---
179+
180+
## Older releases
181+
182+
- [GF 3.11](index-3.11.html) (July 2021)
183+
- [GF 3.10](index-3.10.html) (December 2018)
184+
- [GF 3.9](index-3.9.html) (August 2017)
185+
- [GF 3.8](index-3.8.html) (June 2016)
186+
- [GF 3.7.1](index-3.7.1.html) (October 2015)
187+
- [GF 3.7](index-3.7.html) (June 2015)
188+
- [GF 3.6](index-3.6.html) (June 2014)
189+
- [GF 3.5](index-3.5.html) (August 2013)
190+
- [GF 3.4](index-3.4.html) (January 2013)
191+
- [GF 3.3.3](index-3.3.3.html) (March 2012)
192+
- [GF 3.3](index-3.3.html) (October 2011)
193+
- [GF 3.2.9](index-3.2.9.html) source-only snapshot (September 2011)
194+
- [GF 3.2](index-3.2.html) (December 2010)
195+
- [GF 3.1.6](index-3.1.6.html) (April 2010)

download/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
<meta http-equiv="refresh" content="0; URL=/download/index-3.11.html" />
44
</head>
55
<body>
6-
You are being redirected to <a href="index-3.11.html">the current version</a> of this page.
6+
You are being redirected to <a href="index-3.12.html">the current version</a> of this page.
77
</body>
88
</html>

download/release-3.12.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Over 70 commits have been merged to gf-core since the release of GF 3.11 in July
1919
- Better error messages
2020
- Improvements to several GF shell commands
2121
- Several bug fixes and performance improvements
22-
- TODO: no Java bindings
22+
- temporarily drop support for Java bindings
2323

2424
## GF compiler and run-time library
2525
- Syntactic sugar for table update: `table {cases ; vvv => t \! vvv}.t` can now be written as `t ** { cases }`

index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,11 @@ <h3>Getting help</h3>
245245
<div class="col-md-6">
246246
<h2>News</h2>
247247
<dl class="row">
248+
<dt class="col-sm-3 text-center text-nowrap">2025-08-03</dt>
249+
<dd class="col-sm-9">
250+
<strong>GF 3.12 released.</strong>
251+
<a href="download/release-3.12.html">Release notes</a>
252+
</dd>
248253
<dt class="col-sm-3 text-center text-nowrap">2025-01-18</dt>
249254
<dd class="col-sm-9">
250255
<a href="//school.grammaticalframework.org/2025/">9th GF Summer School</a>, in Gothenburg, Sweden, 18 &ndash; 29 August 2025.

0 commit comments

Comments
 (0)