mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
Updates to reflect the darcs->git move in the developer guide and the download page & release notes for the next release
This commit is contained in:
@@ -23,15 +23,15 @@ you are a GF user who just wants to download and install GF
|
||||
== Setting up your system for building GF ==
|
||||
|
||||
To build GF from source you need to install some tools on your
|
||||
system: the //Haskell Platform//, //Darcs// and the //Haskeline library//.
|
||||
system: the //Haskell Platform//, //Git// and the //Haskeline library//.
|
||||
|
||||
**On Linux** the best option is to install the tools via the standard
|
||||
software distribution channels, i.e. by using the //Software Center//
|
||||
in Ubuntu or the corresponding tool in other popular Linux distributions.
|
||||
Or, from a Terminal window, the following command should be enough:
|
||||
|
||||
- On Ubuntu: ``sudo apt-get install haskell-platform darcs libghc6-haskeline-dev``
|
||||
- On Fedora: ``sudo yum install haskell-platform darcs ghc-haskeline-devel``
|
||||
- On Ubuntu: ``sudo apt-get install haskell-platform git libghc6-haskeline-dev``
|
||||
- On Fedora: ``sudo dnf install haskell-platform git ghc-haskeline-devel``
|
||||
|
||||
|
||||
**On Mac OS and Windows**, the tools can be downloaded from their respective
|
||||
@@ -40,7 +40,7 @@ web sites, as described below.
|
||||
=== The Haskell Platform ===
|
||||
|
||||
GF is written in Haskell, so first of all you need
|
||||
the //Haskell Platform//, e.g. version 7.10.3. Downloads
|
||||
the //Haskell Platform//, e.g. version 8.0.2 or 7.10.3. Downloads
|
||||
and installation instructions are available from here:
|
||||
|
||||
http://hackage.haskell.org/platform/
|
||||
@@ -54,7 +54,7 @@ This command should show you which version of GHC you have. If the installation
|
||||
of the Haskell Platform was successful you should see a message like:
|
||||
|
||||
```
|
||||
The Glorious Glasgow Haskell Compilation System, version 7.8.3
|
||||
The Glorious Glasgow Haskell Compilation System, version 8.0.2
|
||||
```
|
||||
|
||||
Other required tools included in the Haskell Platform are
|
||||
@@ -63,17 +63,23 @@ Other required tools included in the Haskell Platform are
|
||||
and
|
||||
[Happy http://www.haskell.org/happy/].
|
||||
|
||||
=== Darcs ===
|
||||
%=== Darcs ===
|
||||
%
|
||||
%To get the GF source code, you also need //Darcs//, version 2 or later.
|
||||
%Darcs 2.10 is recommended (July 2015).
|
||||
%
|
||||
%//Darcs//
|
||||
%is a distributed version control system, see http://darcs.net/ for
|
||||
%more information. There are precompiled packages for many platforms
|
||||
%available and source code if you want to compile it yourself. Darcs
|
||||
%is also written in Haskell and so you can use GHC to compile it.
|
||||
|
||||
To get the GF source code, you also need //Darcs//, version 2 or later.
|
||||
Darcs 2.10 is recommended (July 2015).
|
||||
|
||||
//Darcs//
|
||||
is a distributed version control system, see http://darcs.net/ for
|
||||
more information. There are precompiled packages for many platforms
|
||||
available and source code if you want to compile it yourself. Darcs
|
||||
is also written in Haskell and so you can use GHC to compile it.
|
||||
=== Git ===
|
||||
|
||||
To get the GF source code, you also need //Git//.
|
||||
//Git// is a distributed version control system, see
|
||||
https://git-scm.com/downloads for more information.
|
||||
|
||||
=== The haskeline library ===
|
||||
|
||||
@@ -83,7 +89,7 @@ extra step is needed to make sure the C libraries (terminfo)
|
||||
required by //haskeline// are installed. Here is one way to do this:
|
||||
|
||||
- On Ubuntu: ``sudo apt-get install libghc-haskeline-dev``
|
||||
- On Fedora: ``sudo yum install ghc-haskeline-devel``
|
||||
- On Fedora: ``sudo dnf install ghc-haskeline-devel``
|
||||
|
||||
|
||||
== Getting the source ==
|
||||
@@ -102,10 +108,10 @@ GF then you should consider getting read-write access.
|
||||
Anyone can get the latest development version of GF by running (all on one line):
|
||||
|
||||
```
|
||||
$ darcs get --lazy --set-scripts-executable http://www.grammaticalframework.org/ gf
|
||||
$ git clone https://github.com/GrammaticalFramework/GF.git
|
||||
```
|
||||
|
||||
This will create a directory called ``gf`` in the current
|
||||
This will create a directory called ``GF`` in the current
|
||||
directory.
|
||||
|
||||
|
||||
@@ -113,11 +119,10 @@ directory.
|
||||
|
||||
To get all new patches from the main repo:
|
||||
```
|
||||
$ darcs pull -a
|
||||
$ git pull
|
||||
```
|
||||
This can be done anywhere in your local repository, i.e. in the ``gf``
|
||||
directory, or any of its subdirectories.
|
||||
Without ``-a``, you can choose which patches you want to get.
|
||||
|
||||
|
||||
==== Recording local changes ====[record]
|
||||
@@ -129,13 +134,13 @@ If you have added files, you first need to tell your local repository to
|
||||
keep them under revision control:
|
||||
|
||||
```
|
||||
$ darcs add file1 file2 ...
|
||||
$ git add file1 file2 ...
|
||||
```
|
||||
|
||||
To record changes, use:
|
||||
|
||||
```
|
||||
$ darcs record
|
||||
$ git commit file1 file2 ...
|
||||
```
|
||||
|
||||
This creates a patch against the previous version and stores it in your
|
||||
@@ -143,105 +148,51 @@ local repository. You can record any number of changes before
|
||||
pushing them to the main repo. In fact, you don't have to push them at
|
||||
all if you want to keep the changes only in your local repo.
|
||||
|
||||
If you think there are too many questions about what to record, you
|
||||
can answer ``f`` to record all remaining changes in the current file,
|
||||
or ``s`` to skip them. Use ``?`` to get a list of more options.
|
||||
%use the ``-a`` flag to ``record``. Or answer ``a`` to the first
|
||||
%question. Both of these record all the changes you have in your local
|
||||
%repository.
|
||||
|
||||
|
||||
==== Submitting patches ====
|
||||
|
||||
If you are using read-only access, send your patches by email to
|
||||
someone with write-access. First record your changes in your local
|
||||
repository, as described above. You can send any number of recorded
|
||||
patches as one patch bundle. You create the patch bundle with:
|
||||
|
||||
```
|
||||
$ darcs send -o mypatch.patch
|
||||
$ gzip mypatch.patch
|
||||
```
|
||||
|
||||
(where ``mypatch`` is hopefully replaced by a slightly more
|
||||
descriptive name). Since some e-mail setups change text attachments
|
||||
(most likely by changing the newline characters) you need to send
|
||||
the patch in some compressed format, such as GZIP, BZIP2 or ZIP.
|
||||
|
||||
Send it as an e-mail attachment.
|
||||
% If you have
|
||||
%sendmail or something equivalent installed, it is possible to send the
|
||||
%patch directly from darcs. If so, replace ``-o mypatch.patch`` with
|
||||
%``--to=EMAIL`` where ``EMAIL`` is the address to send it to.
|
||||
|
||||
Instead of enumerating all modified files on the command line,
|
||||
you can use the flag ``-a`` to automatically record //all// modified
|
||||
files. You still need to use ``git add`` to add new files.
|
||||
|
||||
|
||||
%==== Submitting patches ====
|
||||
%
|
||||
%If you are using read-only access, send your patches by email to
|
||||
%someone with write-access. First record your changes in your local
|
||||
%repository, as described above. You can send any number of recorded
|
||||
%patches as one patch bundle. You create the patch bundle with:
|
||||
%
|
||||
%```
|
||||
%$ darcs send -o mypatch.patch
|
||||
%$ gzip mypatch.patch
|
||||
%```
|
||||
%
|
||||
%(where ``mypatch`` is hopefully replaced by a slightly more
|
||||
%descriptive name). Since some e-mail setups change text attachments
|
||||
%(most likely by changing the newline characters) you need to send
|
||||
%the patch in some compressed format, such as GZIP, BZIP2 or ZIP.
|
||||
%
|
||||
%Send it as an e-mail attachment.
|
||||
%% If you have
|
||||
%%sendmail or something equivalent installed, it is possible to send the
|
||||
%%patch directly from darcs. If so, replace ``-o mypatch.patch`` with
|
||||
%%``--to=EMAIL`` where ``EMAIL`` is the address to send it to.
|
||||
|
||||
|
||||
=== Read-write access ===
|
||||
|
||||
If you have a user account on ``www.grammaticalframework.org``, you can
|
||||
get read-write access over SSH to the GF repository.
|
||||
|
||||
|
||||
==== Getting a fresh copy ====
|
||||
|
||||
Get your copy with (all on one line),
|
||||
replacing ``user`` with your own user name on ``www.grammaticalframework.org``:
|
||||
If you are a member of the GF project on GitHub, you can push your
|
||||
changes directly to the GF git repository on GitHub.
|
||||
|
||||
```
|
||||
$ darcs get --lazy --set-scripts-executable user@www.grammaticalframework.org:/usr/local/www/GF/ gf
|
||||
$ git push
|
||||
```
|
||||
|
||||
The option ``--lazy`` means that darcs defers downloading all the
|
||||
history for the repository. This saves space, bandwidth and CPU time,
|
||||
and most people don't need the full history of all changes in the
|
||||
past.
|
||||
It is also possible for anyone else to contribute by
|
||||
|
||||
- creating a fork of the GF repository on GitHub,
|
||||
- working with local clone of the fork (obtained with ``git clone``),
|
||||
- pushing changes to the fork,
|
||||
- and finally sending a pull request.
|
||||
|
||||
==== Updating your copy ====
|
||||
|
||||
Get all new patches from the main repo:
|
||||
|
||||
```
|
||||
$ darcs pull
|
||||
```
|
||||
|
||||
You can add ``-a`` to get all patches without answering yes/no to each patch.
|
||||
|
||||
|
||||
|
||||
==== Commit your changes ====
|
||||
|
||||
There are two steps to commiting a change to the main repo. First you
|
||||
have to record the changes that you want to commit
|
||||
(see [Recording local changes #record] above), then you push them
|
||||
to the main repo. If you are using ssh-access, all you need to do is:
|
||||
|
||||
```
|
||||
$ darcs push
|
||||
```
|
||||
|
||||
If you use the ``-a`` flag to push, all local patches which are not in
|
||||
the main repo are pushed.
|
||||
|
||||
|
||||
|
||||
==== Apply a patch from someone else ====
|
||||
|
||||
Use:
|
||||
|
||||
```
|
||||
$ darcs apply < mypatch.patch
|
||||
```
|
||||
|
||||
This applies the patch to your local repository. To commit it to the
|
||||
main repo, use ``darcs push``.
|
||||
|
||||
=== Further information about Darcs ===
|
||||
|
||||
|
||||
For more info about what you can do with darcs, see http://darcs.net/manual/
|
||||
|
||||
|
||||
== Compilation from source with Cabal ==
|
||||
@@ -542,7 +493,7 @@ This is possible, but the procedure has not been automated.
|
||||
It involves using the cabal-rpm tool,
|
||||
|
||||
```
|
||||
sudo yum install cabal-rpm
|
||||
sudo dnf install cabal-rpm
|
||||
```
|
||||
|
||||
and following the Fedora guide
|
||||
|
||||
@@ -138,7 +138,7 @@ The first time:
|
||||
%, assuming you already have the Haskell Platform and darcs
|
||||
|
||||
```
|
||||
darcs get --lazy http://www.grammaticalframework.org/ GF
|
||||
git clone https://github.com/GrammaticalFramework/GF.git
|
||||
cd GF
|
||||
cabal install
|
||||
```
|
||||
@@ -147,13 +147,13 @@ Subsequently:
|
||||
|
||||
```
|
||||
cd GF
|
||||
darcs pull -a
|
||||
git pull
|
||||
cabal install
|
||||
```
|
||||
|
||||
Alternatively, you can get the code from the
|
||||
[GF GitHub https://github.com/GrammaticalFramework/GF/] mirror, which is
|
||||
updated nightly.
|
||||
%Alternatively, you can get the code from the
|
||||
%[GF GitHub https://github.com/GrammaticalFramework/GF/] mirror, which is
|
||||
%updated nightly.
|
||||
|
||||
The above notes for installing from source apply also in these cases.
|
||||
For more info on working with the GF source code, see the
|
||||
|
||||
@@ -12,6 +12,12 @@ See the [download page http://www.grammaticalframework.org/download/index.html].
|
||||
|
||||
==What's new==
|
||||
|
||||
The [GF repository on GitHub https://github.com/GrammaticalFramework/GF/]
|
||||
is now our master source repository, not just a read-only mirror.
|
||||
Bug reports and feature requests can be submitted to the
|
||||
[issue tracker https://github.com/GrammaticalFramework/GF/issues],
|
||||
and we also accept pull requests.
|
||||
|
||||
Over 200 changes have been pushed to the source repository since
|
||||
[the release of GF 3.8 release-3.8.html] in June 2016.
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ function sitesearch() {
|
||||
<li><A HREF="demos/index.html">Other Demos</A>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><A HREF="http://www.grammaticalframework.org/download/index.html">Download GF</A>
|
||||
<li><A HREF="http://www.grammaticalframework.org/download/index.html"><b>Download GF</b></A>
|
||||
<li><a href="eclipse/index.html">GF Eclipse Plugin</a>
|
||||
<li><a href="doc/gf-editor-modes.html">GF Editor Modes</a>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user