From 4e9e7c2bddbfee4fbce7d8df2f9193fdf1820d32 Mon Sep 17 00:00:00 2001 From: hallgren Date: Thu, 25 Jun 2015 12:10:47 +0000 Subject: [PATCH] Documentation updates for the release of GF 3.7 --- Makefile | 2 +- debian/changelog | 6 ++ doc/gf-developers.t2t | 6 +- download/index-next.t2t | 180 ++++++++++++++++++++++++++++++++++++++ download/release-next.t2t | 36 ++++---- gf.cabal | 2 +- src/runtime/c/INSTALL | 2 +- 7 files changed, 214 insertions(+), 20 deletions(-) create mode 100644 download/index-next.t2t diff --git a/Makefile b/Makefile index be3ad00f0..0ed5bb23b 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ html:: # Make a debian package. First add a suitable entry with the correct GF version # number to the top of debian/changelog. -# (Tested on Ubuntu 14.04. You need to install dpkg-dev & debhelper.) +# (Tested on Ubuntu 15.04. You need to install dpkg-dev & debhelper.) deb: dpkg-buildpackage -b diff --git a/debian/changelog b/debian/changelog index c64f370c2..b245fe322 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +gf (3.7-1) precise trusty vivid; urgency=low + + * GF 3.7 + + -- Thomas Hallgren Tue, 25 Jun 2015 14:00:00 +0200 + gf (3.6-1) precise saucy trusty; urgency=low * GF 3.6 diff --git a/doc/gf-developers.t2t b/doc/gf-developers.t2t index da986b8c9..f8c71153e 100644 --- a/doc/gf-developers.t2t +++ b/doc/gf-developers.t2t @@ -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//, version 2012.4.0.0 or 2013.2.0.0. Downloads +the //Haskell Platform//, version 2014.2.0.0 or 2013.2.0.0. 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.6.3 +The Glorious Glasgow Haskell Compilation System, version 7.8.3 ``` Other required tools included in the Haskell Platform are @@ -463,6 +463,8 @@ the ``INSTALL`` files in those directories. This was tested on Ubuntu 14.04 for the release of GF 3.6, and the resulting ``.deb`` packages appears to work on Ubuntu 12.04, 13.10 and 14.04. +For the release of GF 3.7, we generated ``.deb`` packages on Ubuntu 15.04 and +tested them on Ubuntu 12.04 and 14.04. Under Ubuntu, Haskell executables are statically linked against other Haskell libraries, so the .deb packages are fairly self-contained. diff --git a/download/index-next.t2t b/download/index-next.t2t new file mode 100644 index 000000000..d234336e4 --- /dev/null +++ b/download/index-next.t2t @@ -0,0 +1,180 @@ +Grammatical Framework Download and Installation + + +%!style:../css/style.css +%!postproc(html): +%!postproc(html): <meta name = "viewport" content = "width = device-width"><TITLE> +%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> +%!postproc(html): <TD><I> <TD><small> +%!postproc(html): </I></TD> </small></TD> + +**GF 3.7** was released on 25 June 2015. + +What's new? See the [Release notes release-3.7.html]. + + +== Binary packages == + +|| Platform | Download | Features | How to install +| Mac OS X | [gf-3.7.pkg gf-3.7.pkg] | //GF+S+C// | Double-click on the package icon +| Mac OS X | [gf-3.7-bin-intel-mac.tar.gz gf-3.7-bin-intel-mac.tar.gz] | //GF+S+C+P// | ``sudo tar -C /usr/local -zxf gf-3.7-bin-intel-mac.tar.gz`` +%| Fedora (32-bit) | [Fedora RPMs /~hallgren/tmp/Fedora/] | //GF+S+C+P// | ``sudo rpm -i ...`` +| Ubuntu (32-bit) | [gf_3.7-1_i386.deb gf_3.7-1_i386.deb] | //GF+S+C+P// | ``sudo dpkg -i gf_3.7-1_i386.deb`` +| Ubuntu (64-bit) | [gf_3.7-1_amd64.deb gf_3.7-1_amd64.deb] | //GF+S+C+P// | ``sudo dpkg -i gf_3.7-1_amd64.deb`` +| Windows | [gf-3.7-bin-windows.zip gf-3.7-bin-windows.zip] | //GF// | ``unzip gf-3.7-bin-windows.zip`` +%| MINGW | [gf-3.7-bin-i686-MINGW32_NT-6.1.tar.gz gf-3.7-bin-i686-MINGW32_NT-6.1.tar.gz] | //GF+S+C// | ``tar -C / gf-3.7-bin-i686-MINGW32_NT-6.1.tar.gz`` +%| ... | ... | ... | ... + +Features: GF = GF shell and grammar compiler and the Resource Grammar Library, +S = ``gf -server`` mode, C = C run-time system, P = Python binding to the C run-time system + +%More binary packages might be added later. + +===Notes=== + +The Windows package is installed by just unpacking it anywhere. +%It finds the libraries relative to the ``.exe`` file. +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 new experimental MINGW package is for use in the +%[MINGW http://www.mingw.org] environment in Windows. Unpack it in the MSYS shell +%(which is started with ``C:\MinGW\msys\1.0\msys.bat``). +%It should work out of the box without any additional settings. + +The ``.deb`` packages work on Ubuntu 12.04, 14.04 and 15.04. + +The packages for Mac OS work on 10.9 (Mavericks) and on 10.10 (Yosemite). + +The Mac OS and Linux ``.tar.gz`` packages are designed to be installed in +``/usr/local``. +You can install them in other locations, but then you need to set the +``GF_LIB_PATH`` environment variable: + +``` + export GF_LIB_PATH=/usr/local/share/gf-3.7/lib +``` + +where ``/usr/local`` should be replaced with the path to the location where you +unpacked the package. + + +==Installing the latest release from source== + +[GF is on Hackage http://hackage.haskell.org/package/gf], so under normal +circumstances the prodedure is fairly simple: + ++ Install the [Haskell Platform http://hackage.haskell.org/platform] + version 2013.2.0.0 or 2012.4.0.0 (see notes 2&3 below) ++ ``cabal update`` ++ On Linux: install some C libraries from your Linux distribution + (see note 1 below) ++ ``cabal install gf`` + + +You can also download the full source package from here: +[``gf-3.7.tar.gz`` gf-3.7.tar.gz]. + +=== Notes === + +The above steps installs GF for a single user. +% and does not require root privileges. +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 +``` + +**Note 1**. +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 yum install ghc-haskeline-devel`` + + +**Note 2**. +We recommend using GHC 7.8 (which is part of the Haskell Platform 2014.2.0.0) +or GHC 7.6 (which is part of the Haskell Platform 2013.2.0.0). +Using GHC 7.4 (Haskell Platform 2012.4.0.0) still works too. +%Compilation with GHC 6.12 is no longer supported, because of multiple package +%version dependency problems. + +The GF source code has been updated to be compilable with GHC 7.10.1, but we +have seen cases where GF stops with the message ``gf: <<loop>>`` when running +with multiple threads (``-j +RTS -N -RTS``), so it's probably better to stick +with GHC 7.8, at least until GHC 7.10.2 is out. + +**Note 3**. +[The Haskell Platform for Mac OS X http://www.haskell.org/platform/mac.html] +page states that on OS X 10.6 you need Xcode 3.2 or later, but in fact it appears you need +Xcode 3.2.3 or later. If you have Xcode 3.2.2, you can get an error from the +linker: ``ld: unknown option: -no_pie``. + +=== Known problems === + +There seems to be a bug in some versions of Cabal that can cause + +``` + Distribution/Simple/PackageIndex.hs:124:8-13: Assertion failed +``` + +if the same version of GF is +already installed. If you encounter this, you can use ``ghc-pkg unregister gf`` +to remove the installed version of GF and ``ghc-pkg list gf`` to verify that +it is gone. + +==Installing from the latest developer source code== + +The first time: +%, assuming you already have the Haskell Platform and darcs + +``` + darcs get --lazy http://www.grammaticalframework.org/ GF + cd GF + cabal install +``` + +Subsequently: + +``` + cd GF + darcs pull -a + cabal install +``` + +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 +[GF Developers Guide ../doc/gf-developers.html]. + +==Older releases== + +- [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). +- [GF 3.1 old-index.html] (December 2009). + + +-------------------- + +[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-next.t2t b/download/release-next.t2t index 6590e346d..4d74cc46d 100644 --- a/download/release-next.t2t +++ b/download/release-next.t2t @@ -1,4 +1,4 @@ -GF next Release Notes +GF 3.7 Release Notes June 2015 %!style:../css/style.css @@ -11,8 +11,8 @@ See the [download page http://www.grammaticalframework.org/download/index.html]. ==What's new== -Over 788 changes have been pushed to the source repository since the -[release of GF 3.6 release-3.6.html] in June 2014. +Over 800 changes have been pushed to the source repository since +[the release of GF 3.6 release-3.6.html] in June 2014. ===GF compiler and run-time library=== @@ -33,11 +33,12 @@ Over 788 changes have been pushed to the source repository since the By also adding ``-haskell=concrete`` you get a Haskell module for each concrete syntax of the grammar. These contain translations of linearization types and linearization functions. - By adding ``-haskell=variants`` you get linerization functions that output + By adding ``-haskell=variants`` you get linearization functions that output all variants. (You don't get any functions for parsing.) -- Now there is a full support for all orthographic primitives: - BIND, SOFT_BIND, SOFT_SPACE, CAPIT, ALL_CAPIT and nonExist +- Now there is full support for all orthographic primitives: + ``BIND``, ``SOFT_BIND``, ``SOFT_SPACE``, ``CAPIT``, ``ALL_CAPIT`` and + ``nonExist``. - It is now possible to define callbacks for literals from the Haskell binding to the C runtime. This is used for instance in the Wide Coverage translator on the Web. @@ -45,13 +46,20 @@ Over 788 changes have been pushed to the source repository since the ====Other changes and bug fixes==== -- Colors are now used to highlight errors and warnings (except on Windows). +- GF now uses colors to highlight errors and warnings (except on Windows). - Even though GF works with absolute paths internally, GF now shows paths relative to the current directory in diagnostic output. - GF Shell and ``gf -server``: improved responsiveness when large grammars are loaded (by increasing the GHC RTS idle timeout before full GC from the default 0.3s to 5s). - Numerous fixes in the translation dictionaries. +- C-run-time system: Bug fixes in the Java and Python bindings. +- C-run-time system: the parser is now fully Unicode compatible. +- Because of the new orthographic primitives, the version numbers in + ``.pgf`` and ``.gfo`` files have been bumped. PGF files + produced with this version of GF can not be used with older versions of GF. + If you get an error message saying ``.gfo file version mismatch``, remove + old ``.gfo`` files. ====Changes of interest to compiler developers==== @@ -62,41 +70,39 @@ Over 788 changes have been pushed to the source repository since the - Some Haddock documentation improvements to document the compiler API. - Various refactoring for readability, modularity and efficiency. Removal of some dead code. -- [...] ===Resource Grammar Library=== - New languages in the Resource Grammar Library: Mongolian (see the [updated synopsis ../lib/doc/synopsis.html]). -- [...] ===GF Cloud services=== - - Minibar and Wide Coverage Translation Demo: speech output is now available +- Minibar and Wide Coverage Translation Demo: speech output is now available (in browsers that support it). - The Wide Coverage Translation Demo can now draw syntax trees and show - inflection tables. + inflection tables. There are also lots of improvements in the + translation grammar and dictionaries. - PGF service: add commands ``c-abstrtree`` and ``c-parsetree``. These are the C runtime variants of the ``absttree`` and ``parsetree`` commands. They work in the same way, but support fewer rendering options. -- PGF Service: +- PGF service: The ``parse``/``translate``/``c-parse``/``c-translate`` commands now recognize the option ``jsontree=true`` to augment the returned JSON structure with a field called ``jsontree`` next to the field ``tree``, or ``jsontrees`` next to ``trees``, containing the the returned syntax tree in JSON format. -- PGF Service: when using ``full=yes`` with the ``complete`` command, +- PGF service: when using ``full=yes`` with the ``complete`` command, additional information about completions is included in the output, in particular there is an additional field ``seq`` containing the longest possible completion. - PGF service: add command ``c-linearizeAll`` to obtain all variants. - PGF service: PGFs now expire from the internal cache when they have been unused for 24 hours, to keep memory use down in long running servers. -- PGF Service: limit the number of parallel calls to the C run-time parse +- PGF service: limit the number of parallel calls to the C run-time parse function to 4 by default. The limit can be changed with the ``-j`` flag. -- [...] -------------------- diff --git a/gf.cabal b/gf.cabal index 017c52366..6f3dda941 100644 --- a/gf.cabal +++ b/gf.cabal @@ -253,7 +253,7 @@ Library GF.System.Directory GF.System.Process GF.System.Signal - GF.System.UseSignal +-- GF.System.UseSignal GF.Text.Clitics GF.Text.Coding GF.Text.Lexing diff --git a/src/runtime/c/INSTALL b/src/runtime/c/INSTALL index 7f2e1a6ee..af8dd3e84 100644 --- a/src/runtime/c/INSTALL +++ b/src/runtime/c/INSTALL @@ -12,7 +12,7 @@ grammar you also have to add the option '-literal=Symb' while compiling. For Linux users --------------- -You will need the package: autoconf, libtool +You will need the packages: autoconf, libtool, make The compilation steps are: