mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-21 10:49:33 -06:00
Compare commits
1 Commits
tp_nix_fla
...
release3.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
242cdcfa22 |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -73,9 +73,3 @@ doc/icfp-2012.html
|
|||||||
download/*.html
|
download/*.html
|
||||||
gf-book/index.html
|
gf-book/index.html
|
||||||
src/www/gf-web-api.html
|
src/www/gf-web-api.html
|
||||||
.devenv
|
|
||||||
.direnv
|
|
||||||
result
|
|
||||||
.vscode
|
|
||||||
.envrc
|
|
||||||
.pre-commit-config.yaml
|
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
---
|
---
|
||||||
title: Grammatical Framework Download and Installation
|
title: Grammatical Framework Download and Installation
|
||||||
date: 3 August 2025
|
date: 8 August 2025
|
||||||
---
|
---
|
||||||
|
|
||||||
**GF 3.12** was released on 3 August 2025.
|
**GF 3.12** was released on 8 August 2025.
|
||||||
|
|
||||||
What's new? See the [release notes](release-3.12.html).
|
What's new? See the [release notes](release-3.12.html).
|
||||||
|
|
||||||
#### Note: GF core and the RGL
|
#### Note: GF core and the RGL
|
||||||
|
|
||||||
The following instructions explain how to install **GF core**, i.e. the compiler, shell and run-time systems.
|
The following instructions explain how to install **GF core**, i.e. the compiler, shell and run-time systems.
|
||||||
Obtaining the **Resource Grammar Library (RGL)** is done separately; see the section at the bottom of this page.
|
Obtaining the **Resource Grammar Library (RGL)** is done separately; see the section [at the bottom of this page](#installing-the-rgl-from-a-binary-release).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -21,24 +21,19 @@ Binary packages are available for Debian/Ubuntu, macOS, and Windows and include:
|
|||||||
- GF shell and grammar compiler
|
- GF shell and grammar compiler
|
||||||
- `gf -server` mode
|
- `gf -server` mode
|
||||||
- C run-time system
|
- C run-time system
|
||||||
- Java & Python bindings to the C run-time system
|
- Python bindings to the C run-time system
|
||||||
|
|
||||||
Unlike in previous versions, the binaries **do not** include the RGL.
|
|
||||||
|
|
||||||
[Binary packages on GitHub](https://github.com/GrammaticalFramework/gf-core/releases/tag/3.12)
|
[Binary packages on GitHub](https://github.com/GrammaticalFramework/gf-core/releases/tag/3.12)
|
||||||
|
|
||||||
#### Debian/Ubuntu
|
#### Debian/Ubuntu
|
||||||
|
|
||||||
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).
|
The package targets Ubuntu 24.04 (Noble).
|
||||||
|
To install it, use:
|
||||||
To install the package use:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo apt-get install ./gf-3.12-ubuntu-*.deb
|
sudo apt install ./gf-3.12-ubuntu-24.04.deb
|
||||||
```
|
```
|
||||||
|
|
||||||
<!-- The Ubuntu `.deb` packages should work on Ubuntu 16.04, 18.04 and similar Linux distributions. -->
|
|
||||||
|
|
||||||
#### macOS
|
#### macOS
|
||||||
|
|
||||||
To install the package, just double-click it and follow the installer instructions.
|
To install the package, just double-click it and follow the installer instructions.
|
||||||
@@ -47,9 +42,10 @@ The packages should work on at least Catalina and Big Sur.
|
|||||||
|
|
||||||
#### Windows
|
#### Windows
|
||||||
|
|
||||||
To install the package, unpack it anywhere.
|
To install the package:
|
||||||
|
|
||||||
You will probably need to update the `PATH` environment variable to include your chosen install location.
|
1. unpack it anywhere and take note of the full path to the folder containing the `.exe` file.
|
||||||
|
2. add it to the `PATH` environment variable
|
||||||
|
|
||||||
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
|
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
|
||||||
|
|
||||||
@@ -67,23 +63,22 @@ cabal install gf-3.12
|
|||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
|
|
||||||
**GHC version**
|
#### GHC version
|
||||||
|
|
||||||
The GF source code is known to be compilable with GHC versions 7.10 through to 8.10.
|
The GF source code is known to be compilable with GHC versions 7.10 through to 9.6.7.
|
||||||
|
|
||||||
**Obtaining Haskell**
|
#### Obtaining Haskell
|
||||||
|
|
||||||
There are various ways of obtaining Haskell, including:
|
There are various ways of obtaining Haskell, including:
|
||||||
|
|
||||||
- ghcup
|
- ghcup
|
||||||
1. Install from https://www.haskell.org/ghcup/
|
1. Install from https://www.haskell.org/ghcup/
|
||||||
2. `ghcup install ghc 8.10.4`
|
2. `ghcup install ghc 9.6.7`
|
||||||
3. `ghcup set ghc 8.10.4`
|
3. `ghcup set ghc 9.6.7`
|
||||||
- Haskell Platform https://www.haskell.org/platform/
|
- Stack: https://haskellstack.org/
|
||||||
- Stack https://haskellstack.org/
|
|
||||||
|
|
||||||
|
|
||||||
**Installation location**
|
#### Installation location
|
||||||
|
|
||||||
The above steps install 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`),
|
The executables are put in `$HOME/.cabal/bin` (or on macOS in `$HOME/Library/Haskell/bin`),
|
||||||
@@ -93,7 +88,7 @@ so you might want to add this directory to your path (in `.bash_profile` or simi
|
|||||||
PATH=$HOME/.cabal/bin:$PATH
|
PATH=$HOME/.cabal/bin:$PATH
|
||||||
```
|
```
|
||||||
|
|
||||||
**Haskeline**
|
#### Haskeline
|
||||||
|
|
||||||
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
|
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
|
||||||
on Linux depends on some non-Haskell libraries that won't be installed
|
on Linux depends on some non-Haskell libraries that won't be installed
|
||||||
@@ -105,7 +100,7 @@ Here is one way to do this:
|
|||||||
|
|
||||||
## Installing from source code
|
## Installing from source code
|
||||||
|
|
||||||
**Obtaining**
|
### Obtaining
|
||||||
|
|
||||||
To obtain the source code for the **release**,
|
To obtain the source code for the **release**,
|
||||||
download it from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases).
|
download it from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases).
|
||||||
@@ -121,8 +116,7 @@ git clone https://github.com/GrammaticalFramework/gf-core.git
|
|||||||
git pull
|
git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Installing
|
||||||
**Installing**
|
|
||||||
|
|
||||||
You can then install with:
|
You can then install with:
|
||||||
```
|
```
|
||||||
@@ -139,8 +133,6 @@ stack install
|
|||||||
For more info on working with the GF source code, see the
|
For more info on working with the GF source code, see the
|
||||||
[GF Developers Guide](../doc/gf-developers.html).
|
[GF Developers Guide](../doc/gf-developers.html).
|
||||||
|
|
||||||
For macOS Sequoia, you need to downgrade the LLVM package, see instructions [here](https://github.com/GrammaticalFramework/gf-core/issues/172#issuecomment-2599365457).
|
|
||||||
|
|
||||||
## Installing the Python bindings from PyPI
|
## Installing the Python bindings from PyPI
|
||||||
|
|
||||||
The Python library is available on PyPI as `pgf`, so it can be installed using:
|
The Python library is available on PyPI as `pgf`, so it can be installed using:
|
||||||
@@ -149,10 +141,7 @@ The Python library is available on PyPI as `pgf`, so it can be installed using:
|
|||||||
pip install pgf
|
pip install pgf
|
||||||
```
|
```
|
||||||
|
|
||||||
We provide binary wheels for Linux and macOS, which include the C runtime and are ready-to-go.
|
If this doesn't work, you will need to install the C runtime manually; see the instructions [here](https://www.grammaticalframework.org/doc/gf-developers.html#toc12).
|
||||||
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.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -164,6 +153,8 @@ In general the steps to follow are:
|
|||||||
1. Download a binary release and extract it somewhere on your system.
|
1. Download a binary release and extract it somewhere on your system.
|
||||||
2. Set the environment variable `GF_LIB_PATH` to point to wherever you extracted the RGL.
|
2. Set the environment variable `GF_LIB_PATH` to point to wherever you extracted the RGL.
|
||||||
|
|
||||||
|
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
|
||||||
|
|
||||||
## Installing the RGL from source
|
## Installing the RGL from source
|
||||||
|
|
||||||
To compile the RGL, you will need to have GF already installed and in your path.
|
To compile the RGL, you will need to have GF already installed and in your path.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: GF 3.12 Release Notes
|
title: GF 3.12 Release Notes
|
||||||
date: 03 August 2025
|
date: 08 August 2025
|
||||||
---
|
---
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|||||||
43
flake.lock
generated
43
flake.lock
generated
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1704290814,
|
|
||||||
"narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-23.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"systems": "systems"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
50
flake.nix
50
flake.nix
@@ -1,50 +0,0 @@
|
|||||||
{
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
|
||||||
systems.url = "github:nix-systems/default";
|
|
||||||
};
|
|
||||||
|
|
||||||
nixConfig = {
|
|
||||||
# extra-trusted-public-keys =
|
|
||||||
# "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
|
|
||||||
# extra-substituters = "https://devenv.cachix.org";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs, systems, ... }@inputs:
|
|
||||||
let forEachSystem = nixpkgs.lib.genAttrs (import systems);
|
|
||||||
in {
|
|
||||||
packages = forEachSystem (system:
|
|
||||||
let
|
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
|
||||||
haskellPackages = pkgs.haskell.packages.ghc925.override {
|
|
||||||
overrides = self: _super: {
|
|
||||||
cgi = pkgs.haskell.lib.unmarkBroken (pkgs.haskell.lib.dontCheck
|
|
||||||
(self.callHackage "cgi" "3001.5.0.1" { }));
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
|
||||||
gf = pkgs.haskell.lib.overrideCabal
|
|
||||||
(haskellPackages.callCabal2nixWithOptions "gf" self "--flag=-server"
|
|
||||||
{ }) (_old: {
|
|
||||||
# Fix utf8 encoding problems
|
|
||||||
patches = [
|
|
||||||
# Already applied in master
|
|
||||||
# (
|
|
||||||
# pkgs.fetchpatch {
|
|
||||||
# url = "https://github.com/anka-213/gf-core/commit/6f1ca05fddbcbc860898ddf10a557b513dfafc18.patch";
|
|
||||||
# sha256 = "17vn3hncxm1dwbgpfmrl6gk6wljz3r28j191lpv5zx741pmzgbnm";
|
|
||||||
# }
|
|
||||||
# )
|
|
||||||
./nix/expose-all.patch
|
|
||||||
./nix/revert-new-cabal-madness.patch
|
|
||||||
];
|
|
||||||
jailbreak = true;
|
|
||||||
# executableSystemDepends = [
|
|
||||||
# (pkgs.ncurses.override { enableStatic = true; })
|
|
||||||
# ];
|
|
||||||
# executableHaskellDepends = [ ];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
diff --git a/gf.cabal b/gf.cabal
|
|
||||||
index 0076e7638..8d3fe4b49 100644
|
|
||||||
--- a/gf.cabal
|
|
||||||
+++ b/gf.cabal
|
|
||||||
@@ -168,7 +168,6 @@ Library
|
|
||||||
GF.Text.Lexing
|
|
||||||
GF.Grammar.Canonical
|
|
||||||
|
|
||||||
- other-modules:
|
|
||||||
GF.Main
|
|
||||||
GF.Compiler
|
|
||||||
GF.Interactive
|
|
||||||
@@ -1,193 +0,0 @@
|
|||||||
commit 45e5473fcd5707af93646d9a116867a4d4e3e9c9
|
|
||||||
Author: Andreas Källberg <anka.213@gmail.com>
|
|
||||||
Date: Mon Oct 10 14:57:12 2022 +0200
|
|
||||||
|
|
||||||
Revert "workaround for the Nix madness"
|
|
||||||
|
|
||||||
This reverts commit 1294269cd60f3db7b056135104615625baeb528c.
|
|
||||||
|
|
||||||
There are easier workarounds, like using
|
|
||||||
|
|
||||||
cabal v1-build
|
|
||||||
|
|
||||||
etc. instead of just `cabal build`
|
|
||||||
|
|
||||||
These changes also broke a whole bunch of other stuff
|
|
||||||
|
|
||||||
diff --git a/README.md b/README.md
|
|
||||||
index ba35795a4..79e6ab68f 100644
|
|
||||||
--- a/README.md
|
|
||||||
+++ b/README.md
|
|
||||||
@@ -38,21 +38,6 @@ or:
|
|
||||||
```
|
|
||||||
stack install
|
|
||||||
```
|
|
||||||
-Note that if you are unlucky to have Cabal 3.0 or later, then it uses
|
|
||||||
-the so-called Nix style commands. Using those for GF development is
|
|
||||||
-a pain. Every time when you change something in the source code, Cabal
|
|
||||||
-will generate a new folder for GF to look for the GF libraries and
|
|
||||||
-the GF cloud. Either reinstall everything with every change in the
|
|
||||||
-compiler, or be sane and stop using cabal-install. Instead you can do:
|
|
||||||
-```
|
|
||||||
-runghc Setup.hs configure
|
|
||||||
-runghc Setup.hs build
|
|
||||||
-sudo runghc Setup.hs install
|
|
||||||
-```
|
|
||||||
-The script will install the GF dependencies globally. The only solution
|
|
||||||
-to the Nix madness that I found is radical:
|
|
||||||
-
|
|
||||||
- "No person, no problem" (Нет человека – нет проблемы).
|
|
||||||
|
|
||||||
For more information, including links to precompiled binaries, see the [download page](https://www.grammaticalframework.org/download/index.html).
|
|
||||||
|
|
||||||
diff --git a/Setup.hs b/Setup.hs
|
|
||||||
index 58dc3e0c6..f8309cc00 100644
|
|
||||||
--- a/Setup.hs
|
|
||||||
+++ b/Setup.hs
|
|
||||||
@@ -4,68 +4,42 @@ import Distribution.Simple.LocalBuildInfo(LocalBuildInfo(..),absoluteInstallDirs
|
|
||||||
import Distribution.Simple.Setup(BuildFlags(..),Flag(..),InstallFlags(..),CopyDest(..),CopyFlags(..),SDistFlags(..))
|
|
||||||
import Distribution.PackageDescription(PackageDescription(..),emptyHookedBuildInfo)
|
|
||||||
import Distribution.Simple.BuildPaths(exeExtension)
|
|
||||||
-import System.Directory
|
|
||||||
import System.FilePath((</>),(<.>))
|
|
||||||
-import System.Process
|
|
||||||
-import Control.Monad(forM_,unless)
|
|
||||||
-import Control.Exception(bracket_)
|
|
||||||
-import Data.Char(isSpace)
|
|
||||||
|
|
||||||
import WebSetup
|
|
||||||
|
|
||||||
+-- | Notice about RGL not built anymore
|
|
||||||
+noRGLmsg :: IO ()
|
|
||||||
+noRGLmsg = putStrLn "Notice: the RGL is not built as part of GF anymore. See https://github.com/GrammaticalFramework/gf-rgl"
|
|
||||||
+
|
|
||||||
main :: IO ()
|
|
||||||
main = defaultMainWithHooks simpleUserHooks
|
|
||||||
- { preConf = gfPreConf
|
|
||||||
- , preBuild = gfPreBuild
|
|
||||||
+ { preBuild = gfPreBuild
|
|
||||||
, postBuild = gfPostBuild
|
|
||||||
, preInst = gfPreInst
|
|
||||||
, postInst = gfPostInst
|
|
||||||
, postCopy = gfPostCopy
|
|
||||||
}
|
|
||||||
where
|
|
||||||
- gfPreConf args flags = do
|
|
||||||
- pkgs <- fmap (map (dropWhile isSpace) . tail . lines)
|
|
||||||
- (readProcess "ghc-pkg" ["list"] "")
|
|
||||||
- forM_ dependencies $ \pkg -> do
|
|
||||||
- let name = takeWhile (/='/') (drop 36 pkg)
|
|
||||||
- unless (name `elem` pkgs) $ do
|
|
||||||
- let fname = name <.> ".tar.gz"
|
|
||||||
- callProcess "wget" [pkg,"-O",fname]
|
|
||||||
- callProcess "tar" ["-xzf",fname]
|
|
||||||
- removeFile fname
|
|
||||||
- bracket_ (setCurrentDirectory name) (setCurrentDirectory ".." >> removeDirectoryRecursive name) $ do
|
|
||||||
- exists <- doesFileExist "Setup.hs"
|
|
||||||
- unless exists $ do
|
|
||||||
- writeFile "Setup.hs" (unlines [
|
|
||||||
- "import Distribution.Simple",
|
|
||||||
- "main = defaultMain"
|
|
||||||
- ])
|
|
||||||
- let to_descr = reverse .
|
|
||||||
- (++) (reverse ".cabal") .
|
|
||||||
- drop 1 .
|
|
||||||
- dropWhile (/='-') .
|
|
||||||
- reverse
|
|
||||||
- callProcess "wget" [to_descr pkg, "-O", to_descr name]
|
|
||||||
- callProcess "runghc" ["Setup.hs","configure"]
|
|
||||||
- callProcess "runghc" ["Setup.hs","build"]
|
|
||||||
- callProcess "sudo" ["runghc","Setup.hs","install"]
|
|
||||||
-
|
|
||||||
- preConf simpleUserHooks args flags
|
|
||||||
-
|
|
||||||
- gfPreBuild args = gfPre args . buildDistPref
|
|
||||||
- gfPreInst args = gfPre args . installDistPref
|
|
||||||
+ gfPreBuild args = gfPre args . buildDistPref
|
|
||||||
+ gfPreInst args = gfPre args . installDistPref
|
|
||||||
|
|
||||||
gfPre args distFlag = do
|
|
||||||
return emptyHookedBuildInfo
|
|
||||||
|
|
||||||
gfPostBuild args flags pkg lbi = do
|
|
||||||
+ -- noRGLmsg
|
|
||||||
let gf = default_gf lbi
|
|
||||||
buildWeb gf flags (pkg,lbi)
|
|
||||||
|
|
||||||
gfPostInst args flags pkg lbi = do
|
|
||||||
+ -- noRGLmsg
|
|
||||||
+ saveInstallPath args flags (pkg,lbi)
|
|
||||||
installWeb (pkg,lbi)
|
|
||||||
|
|
||||||
gfPostCopy args flags pkg lbi = do
|
|
||||||
+ -- noRGLmsg
|
|
||||||
+ saveCopyPath args flags (pkg,lbi)
|
|
||||||
copyWeb flags (pkg,lbi)
|
|
||||||
|
|
||||||
-- `cabal sdist` will not make a proper dist archive, for that see `make sdist`
|
|
||||||
@@ -73,16 +47,27 @@ main = defaultMainWithHooks simpleUserHooks
|
|
||||||
gfSDist pkg lbi hooks flags = do
|
|
||||||
return ()
|
|
||||||
|
|
||||||
-dependencies = [
|
|
||||||
- "https://hackage.haskell.org/package/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz",
|
|
||||||
- "https://hackage.haskell.org/package/json-0.10/json-0.10.tar.gz",
|
|
||||||
- "https://hackage.haskell.org/package/network-bsd-2.8.1.0/network-bsd-2.8.1.0.tar.gz",
|
|
||||||
- "https://hackage.haskell.org/package/httpd-shed-0.4.1.1/httpd-shed-0.4.1.1.tar.gz",
|
|
||||||
- "https://hackage.haskell.org/package/exceptions-0.10.5/exceptions-0.10.5.tar.gz",
|
|
||||||
- "https://hackage.haskell.org/package/stringsearch-0.3.6.6/stringsearch-0.3.6.6.tar.gz",
|
|
||||||
- "https://hackage.haskell.org/package/multipart-0.2.1/multipart-0.2.1.tar.gz",
|
|
||||||
- "https://hackage.haskell.org/package/cgi-3001.5.0.0/cgi-3001.5.0.0.tar.gz"
|
|
||||||
- ]
|
|
||||||
+saveInstallPath :: [String] -> InstallFlags -> (PackageDescription, LocalBuildInfo) -> IO ()
|
|
||||||
+saveInstallPath args flags bi = do
|
|
||||||
+ let
|
|
||||||
+ dest = NoCopyDest
|
|
||||||
+ dir = datadir (uncurry absoluteInstallDirs bi dest)
|
|
||||||
+ writeFile dataDirFile dir
|
|
||||||
+
|
|
||||||
+saveCopyPath :: [String] -> CopyFlags -> (PackageDescription, LocalBuildInfo) -> IO ()
|
|
||||||
+saveCopyPath args flags bi = do
|
|
||||||
+ let
|
|
||||||
+ dest = case copyDest flags of
|
|
||||||
+ NoFlag -> NoCopyDest
|
|
||||||
+ Flag d -> d
|
|
||||||
+ dir = datadir (uncurry absoluteInstallDirs bi dest)
|
|
||||||
+ writeFile dataDirFile dir
|
|
||||||
+
|
|
||||||
+-- | Name of file where installation's data directory is recording
|
|
||||||
+-- This is a last-resort way in which the seprate RGL build script
|
|
||||||
+-- can determine where to put the compiled RGL files
|
|
||||||
+dataDirFile :: String
|
|
||||||
+dataDirFile = "DATA_DIR"
|
|
||||||
|
|
||||||
-- | Get path to locally-built gf
|
|
||||||
default_gf :: LocalBuildInfo -> FilePath
|
|
||||||
diff --git a/gf.cabal b/gf.cabal
|
|
||||||
index a055b86be..d00a5b935 100644
|
|
||||||
--- a/gf.cabal
|
|
||||||
+++ b/gf.cabal
|
|
||||||
@@ -2,7 +2,7 @@ name: gf
|
|
||||||
version: 3.11.0-git
|
|
||||||
|
|
||||||
cabal-version: 1.22
|
|
||||||
-build-type: Simple
|
|
||||||
+build-type: Custom
|
|
||||||
license: OtherLicense
|
|
||||||
license-file: LICENSE
|
|
||||||
category: Natural Language Processing, Compiler
|
|
||||||
@@ -44,6 +44,14 @@ data-files:
|
|
||||||
www/translator/*.css
|
|
||||||
www/translator/*.js
|
|
||||||
|
|
||||||
+custom-setup
|
|
||||||
+ setup-depends:
|
|
||||||
+ base >= 4.9.1 && < 4.16,
|
|
||||||
+ Cabal >= 1.22.0.0,
|
|
||||||
+ directory >= 1.3.0 && < 1.4,
|
|
||||||
+ filepath >= 1.4.1 && < 1.5,
|
|
||||||
+ process >= 1.0.1.1 && < 1.7
|
|
||||||
+
|
|
||||||
source-repository head
|
|
||||||
type: git
|
|
||||||
location: https://github.com/GrammaticalFramework/gf-core.git
|
|
||||||
Reference in New Issue
Block a user