mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -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 ==
|
== Setting up your system for building GF ==
|
||||||
|
|
||||||
To build GF from source you need to install some tools on your
|
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
|
**On Linux** the best option is to install the tools via the standard
|
||||||
software distribution channels, i.e. by using the //Software Center//
|
software distribution channels, i.e. by using the //Software Center//
|
||||||
in Ubuntu or the corresponding tool in other popular Linux distributions.
|
in Ubuntu or the corresponding tool in other popular Linux distributions.
|
||||||
Or, from a Terminal window, the following command should be enough:
|
Or, from a Terminal window, the following command should be enough:
|
||||||
|
|
||||||
- On Ubuntu: ``sudo apt-get install haskell-platform darcs libghc6-haskeline-dev``
|
- On Ubuntu: ``sudo apt-get install haskell-platform git libghc6-haskeline-dev``
|
||||||
- On Fedora: ``sudo yum install haskell-platform darcs ghc-haskeline-devel``
|
- On Fedora: ``sudo dnf install haskell-platform git ghc-haskeline-devel``
|
||||||
|
|
||||||
|
|
||||||
**On Mac OS and Windows**, the tools can be downloaded from their respective
|
**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 ===
|
=== The Haskell Platform ===
|
||||||
|
|
||||||
GF is written in Haskell, so first of all you need
|
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:
|
and installation instructions are available from here:
|
||||||
|
|
||||||
http://hackage.haskell.org/platform/
|
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:
|
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
|
Other required tools included in the Haskell Platform are
|
||||||
@@ -63,17 +63,23 @@ Other required tools included in the Haskell Platform are
|
|||||||
and
|
and
|
||||||
[Happy http://www.haskell.org/happy/].
|
[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//
|
=== Git ===
|
||||||
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 //Git//.
|
||||||
|
//Git// is a distributed version control system, see
|
||||||
|
https://git-scm.com/downloads for more information.
|
||||||
|
|
||||||
=== The haskeline library ===
|
=== 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:
|
required by //haskeline// are installed. Here is one way to do this:
|
||||||
|
|
||||||
- On Ubuntu: ``sudo apt-get install libghc-haskeline-dev``
|
- 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 ==
|
== 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):
|
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.
|
directory.
|
||||||
|
|
||||||
|
|
||||||
@@ -113,11 +119,10 @@ directory.
|
|||||||
|
|
||||||
To get all new patches from the main repo:
|
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``
|
This can be done anywhere in your local repository, i.e. in the ``gf``
|
||||||
directory, or any of its subdirectories.
|
directory, or any of its subdirectories.
|
||||||
Without ``-a``, you can choose which patches you want to get.
|
|
||||||
|
|
||||||
|
|
||||||
==== Recording local changes ====[record]
|
==== 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:
|
keep them under revision control:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ darcs add file1 file2 ...
|
$ git add file1 file2 ...
|
||||||
```
|
```
|
||||||
|
|
||||||
To record changes, use:
|
To record changes, use:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ darcs record
|
$ git commit file1 file2 ...
|
||||||
```
|
```
|
||||||
|
|
||||||
This creates a patch against the previous version and stores it in your
|
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
|
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.
|
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
|
Instead of enumerating all modified files on the command line,
|
||||||
can answer ``f`` to record all remaining changes in the current file,
|
you can use the flag ``-a`` to automatically record //all// modified
|
||||||
or ``s`` to skip them. Use ``?`` to get a list of more options.
|
files. You still need to use ``git add`` to add new files.
|
||||||
%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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%==== 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 ===
|
=== Read-write access ===
|
||||||
|
|
||||||
If you have a user account on ``www.grammaticalframework.org``, you can
|
If you are a member of the GF project on GitHub, you can push your
|
||||||
get read-write access over SSH to the GF repository.
|
changes directly to the GF git repository on GitHub.
|
||||||
|
|
||||||
|
|
||||||
==== Getting a fresh copy ====
|
|
||||||
|
|
||||||
Get your copy with (all on one line),
|
|
||||||
replacing ``user`` with your own user name on ``www.grammaticalframework.org``:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
$ 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
|
It is also possible for anyone else to contribute by
|
||||||
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.
|
|
||||||
|
|
||||||
|
- 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 ==
|
== 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,
|
It involves using the cabal-rpm tool,
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo yum install cabal-rpm
|
sudo dnf install cabal-rpm
|
||||||
```
|
```
|
||||||
|
|
||||||
and following the Fedora guide
|
and following the Fedora guide
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ The first time:
|
|||||||
%, assuming you already have the Haskell Platform and darcs
|
%, 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
|
cd GF
|
||||||
cabal install
|
cabal install
|
||||||
```
|
```
|
||||||
@@ -147,13 +147,13 @@ Subsequently:
|
|||||||
|
|
||||||
```
|
```
|
||||||
cd GF
|
cd GF
|
||||||
darcs pull -a
|
git pull
|
||||||
cabal install
|
cabal install
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively, you can get the code from the
|
%Alternatively, you can get the code from the
|
||||||
[GF GitHub https://github.com/GrammaticalFramework/GF/] mirror, which is
|
%[GF GitHub https://github.com/GrammaticalFramework/GF/] mirror, which is
|
||||||
updated nightly.
|
%updated nightly.
|
||||||
|
|
||||||
The above notes for installing from source apply also in these cases.
|
The above notes for installing from source apply also in these cases.
|
||||||
For more info on working with the GF source code, see the
|
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==
|
==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
|
Over 200 changes have been pushed to the source repository since
|
||||||
[the release of GF 3.8 release-3.8.html] in June 2016.
|
[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>
|
<li><A HREF="demos/index.html">Other Demos</A>
|
||||||
</ul>
|
</ul>
|
||||||
<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="eclipse/index.html">GF Eclipse Plugin</a>
|
||||||
<li><a href="doc/gf-editor-modes.html">GF Editor Modes</a>
|
<li><a href="doc/gf-editor-modes.html">GF Editor Modes</a>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Reference in New Issue
Block a user