Ebnf2ps: the package is now available from Hackage
svn path=/nixpkgs/trunk/; revision=32147
This commit is contained in:
parent
3782f740a0
commit
0df0d9ad9c
20
pkgs/development/tools/parsing/Ebnf2ps/default.nix
Normal file
20
pkgs/development/tools/parsing/Ebnf2ps/default.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{ cabal, happy }:
|
||||||
|
|
||||||
|
cabal.mkDerivation (self: {
|
||||||
|
pname = "Ebnf2ps";
|
||||||
|
version = "1.0.9";
|
||||||
|
sha256 = "0c8nbjyar5dqv33vnm3r1f2rbrmwnv1fm41cbgb6fbsf0cp3979w";
|
||||||
|
isLibrary = false;
|
||||||
|
isExecutable = true;
|
||||||
|
buildTools = [ happy ];
|
||||||
|
meta = {
|
||||||
|
homepage = "http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/";
|
||||||
|
description = "Peter's Syntax Diagram Drawing Tool";
|
||||||
|
license = self.stdenv.lib.licenses.bsd3;
|
||||||
|
platforms = self.ghc.meta.platforms;
|
||||||
|
maintainers = [
|
||||||
|
self.stdenv.lib.maintainers.andres
|
||||||
|
self.stdenv.lib.maintainers.simons
|
||||||
|
];
|
||||||
|
};
|
||||||
|
})
|
@ -1,35 +0,0 @@
|
|||||||
{ cabal, fetchurl, happy }:
|
|
||||||
|
|
||||||
let
|
|
||||||
pname = "ebnf2ps";
|
|
||||||
version = "1.0.8";
|
|
||||||
in
|
|
||||||
cabal.mkDerivation (self: {
|
|
||||||
inherit pname version;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/${pname}-${version}.tar.gz";
|
|
||||||
sha256 = "1yfgq4nf79g1nyfb0yxqi887kxc04dvwpm1fwrk50bs4xj1vg3wf";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildTools = [ happy ];
|
|
||||||
|
|
||||||
patches = [ ./modernize.patch ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/";
|
|
||||||
description = "Syntax Diagram Drawing Tool";
|
|
||||||
license = "BSD";
|
|
||||||
|
|
||||||
longDescription = ''
|
|
||||||
Ebnf2ps generates nice looking syntax diagrams in EPS and FIG
|
|
||||||
format from EBNF specifications and from yacc, bison, and Happy
|
|
||||||
input grammars. The diagrams can be immediatedly included in
|
|
||||||
TeX/LaTeX documents and in texts created with other popular
|
|
||||||
document preparation systems.
|
|
||||||
'';
|
|
||||||
|
|
||||||
platforms = self.stdenv.lib.platforms.linux;
|
|
||||||
maintainers = [ self.stdenv.lib.maintainers.simons ];
|
|
||||||
};
|
|
||||||
})
|
|
@ -1,256 +0,0 @@
|
|||||||
diff --git a/Ebnf2ps.cabal b/Ebnf2ps.cabal
|
|
||||||
index 483d34a..0a7b96e 100644
|
|
||||||
--- a/Ebnf2ps.cabal
|
|
||||||
+++ b/Ebnf2ps.cabal
|
|
||||||
@@ -1,66 +1,30 @@
|
|
||||||
--- Ebnf2ps.cabal auto-generated by cabal init. For additional options,
|
|
||||||
--- see
|
|
||||||
--- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.
|
|
||||||
--- The name of the package.
|
|
||||||
Name: Ebnf2ps
|
|
||||||
-
|
|
||||||
--- The package version. See the Haskell package versioning policy
|
|
||||||
--- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
|
|
||||||
--- standards guiding when and how versions should be incremented.
|
|
||||||
Version: 1.0.8
|
|
||||||
-
|
|
||||||
--- A short (one-line) description of the package.
|
|
||||||
-Synopsis: Ebnf2ps: Peter's Syntax Diagram Drawing Tool
|
|
||||||
-
|
|
||||||
--- A longer description of the package.
|
|
||||||
--- Description:
|
|
||||||
-
|
|
||||||
--- URL for the project homepage or repository.
|
|
||||||
+Synopsis: Peter's Syntax Diagram Drawing Tool
|
|
||||||
Homepage: http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/
|
|
||||||
-
|
|
||||||
--- The license under which the package is released.
|
|
||||||
License: BSD4
|
|
||||||
-
|
|
||||||
--- The file containing the license text.
|
|
||||||
-- License-file: LICENSE
|
|
||||||
-
|
|
||||||
--- The package author(s).
|
|
||||||
-Author: Peter Thiemann
|
|
||||||
-
|
|
||||||
--- An email address to which users can send suggestions, bug reports,
|
|
||||||
--- and patches.
|
|
||||||
-Maintainer: thiemann@acm.org
|
|
||||||
-
|
|
||||||
--- A copyright notice.
|
|
||||||
--- Copyright:
|
|
||||||
-
|
|
||||||
+Author: Peter Thiemann <thiemann@acm.org>
|
|
||||||
+Maintainer: Peter Thiemann <thiemann@acm.org>
|
|
||||||
Category: Language
|
|
||||||
-
|
|
||||||
Build-type: Simple
|
|
||||||
-
|
|
||||||
--- Extra files to be distributed with the package, such as examples or
|
|
||||||
--- a README.
|
|
||||||
--- Extra-source-files:
|
|
||||||
-
|
|
||||||
--- Constraint on the version of Cabal needed to build this package.
|
|
||||||
Cabal-version: >=1.2
|
|
||||||
-
|
|
||||||
+Tested-With: GHC == 6.10.4, GHC == 6.12.3, GHC == 7.0.4, GHC == 7.2.2
|
|
||||||
+Description: Ebnf2ps generates nice looking syntax diagrams in EPS
|
|
||||||
+ and FIG format from EBNF specifications and from yacc,
|
|
||||||
+ bison, and Happy input grammars. The diagrams can be
|
|
||||||
+ immediatedly included in TeX/LaTeX documents and in
|
|
||||||
+ texts created with other popular document preparation
|
|
||||||
+ systems.
|
|
||||||
|
|
||||||
Executable Ebnf2ps
|
|
||||||
- -- .hs or .lhs file containing the Main module.
|
|
||||||
Main-is: Ebnf2ps.hs
|
|
||||||
Hs-source-dirs: src
|
|
||||||
-
|
|
||||||
- -- Packages needed in order to build this package.
|
|
||||||
- Build-depends: base < 4.3
|
|
||||||
- , containers < 0.4
|
|
||||||
- , haskell98
|
|
||||||
- , unix < 2.5
|
|
||||||
-
|
|
||||||
- -- Modules not exported by this package.
|
|
||||||
- -- Other-modules:
|
|
||||||
-
|
|
||||||
- -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
|
|
||||||
+ Build-depends: base >= 2 && < 5,
|
|
||||||
+ containers,
|
|
||||||
+ old-time,
|
|
||||||
+ directory,
|
|
||||||
+ unix
|
|
||||||
Build-tools: happy
|
|
||||||
Cc-options: -DAFMPATH=/usr/share/texmf-texlive/fonts/afm
|
|
||||||
|
|
||||||
diff --git a/src/Color.hs b/src/Color.hs
|
|
||||||
index 184e5e6..8786dac 100644
|
|
||||||
--- a/src/Color.hs
|
|
||||||
+++ b/src/Color.hs
|
|
||||||
@@ -23,7 +23,7 @@
|
|
||||||
module Color where
|
|
||||||
-- (Color (..), lookupColor, showsColor, showsAColor, prepareColors)
|
|
||||||
|
|
||||||
-import Char
|
|
||||||
+import Data.Char
|
|
||||||
import Numeric
|
|
||||||
|
|
||||||
type Color = (Int, Int, Int)
|
|
||||||
diff --git a/src/CommandLine.hs b/src/CommandLine.hs
|
|
||||||
index 50d6546..518b107 100644
|
|
||||||
--- a/src/CommandLine.hs
|
|
||||||
+++ b/src/CommandLine.hs
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
module CommandLine (parse_cmds) where
|
|
||||||
-import System
|
|
||||||
-
|
|
||||||
+import System.IO
|
|
||||||
+import System.Environment
|
|
||||||
|
|
||||||
defaultArgs :: Args
|
|
||||||
defaultArgs = MkArgs "Times-Roman" 10 "black" "Times-Roman" 10 "black" "white" "black" "Times-Roman" 10 "black" "white" "black" "black" 500 500 30 100 200 "rgb.txt" False False False False True False False False False
|
|
||||||
diff --git a/src/Ebnf2ps.hs b/src/Ebnf2ps.hs
|
|
||||||
index 9dc2e4d..6f340cf 100644
|
|
||||||
--- a/src/Ebnf2ps.hs
|
|
||||||
+++ b/src/Ebnf2ps.hs
|
|
||||||
@@ -25,11 +25,10 @@ import Defaults (afmPathDefault, ebnfInputDefault, rgbPathDefault)
|
|
||||||
import PathExpansion (expandPath)
|
|
||||||
import Color
|
|
||||||
import Info
|
|
||||||
-import IO
|
|
||||||
-import Monad
|
|
||||||
+import System.Time
|
|
||||||
+import System.Environment
|
|
||||||
+import Control.Monad
|
|
||||||
import Numeric
|
|
||||||
-import System
|
|
||||||
-import Time
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
main :: IO ()
|
|
||||||
diff --git a/src/Ebnf2psParser.hs b/src/Ebnf2psParser.hs
|
|
||||||
index 4cc7052..0fb4557 100644
|
|
||||||
--- a/src/Ebnf2psParser.hs
|
|
||||||
+++ b/src/Ebnf2psParser.hs
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
module Ebnf2psParser (theEbnfParser, theHappyParser, theYaccParser) where
|
|
||||||
import AbstractSyntax
|
|
||||||
import Lexer
|
|
||||||
-import List
|
|
||||||
+import Data.List
|
|
||||||
|
|
||||||
data HappyAbsSyn
|
|
||||||
= HappyTerminal Token'
|
|
||||||
diff --git a/src/EbnfLayout.hs b/src/EbnfLayout.hs
|
|
||||||
index cd0b4d9..aecc0b4 100644
|
|
||||||
--- a/src/EbnfLayout.hs
|
|
||||||
+++ b/src/EbnfLayout.hs
|
|
||||||
@@ -25,7 +25,7 @@ import AbstractSyntax
|
|
||||||
import Color
|
|
||||||
import Fonts (FONT, stringWidth, stringHeight, fontDescender)
|
|
||||||
import Info
|
|
||||||
-import List
|
|
||||||
+import Data.List
|
|
||||||
|
|
||||||
-- all arithmetic is done in 1/100 pt
|
|
||||||
|
|
||||||
diff --git a/src/Fonts.hs b/src/Fonts.hs
|
|
||||||
index c1639de..ed36a79 100644
|
|
||||||
--- a/src/Fonts.hs
|
|
||||||
+++ b/src/Fonts.hs
|
|
||||||
@@ -17,7 +17,7 @@
|
|
||||||
module Fonts (FONT, makeFont, fontDescender, stringWidth, stringHeight, fontName, fontScale, noFont)
|
|
||||||
where
|
|
||||||
|
|
||||||
-import Char
|
|
||||||
+import Data.Char
|
|
||||||
import Numeric
|
|
||||||
|
|
||||||
data FONT = FONT String Int Int (String -> Int)
|
|
||||||
diff --git a/src/GrammarTransform.hs b/src/GrammarTransform.hs
|
|
||||||
index 99c3840..65624ab 100644
|
|
||||||
--- a/src/GrammarTransform.hs
|
|
||||||
+++ b/src/GrammarTransform.hs
|
|
||||||
@@ -13,7 +13,7 @@ module GrammarTransform
|
|
||||||
where
|
|
||||||
|
|
||||||
import AbstractSyntax
|
|
||||||
-import List
|
|
||||||
+import Data.List
|
|
||||||
|
|
||||||
|
|
||||||
data RInfo
|
|
||||||
diff --git a/src/GrammarUnfold.hs b/src/GrammarUnfold.hs
|
|
||||||
index 056119a..d35a630 100644
|
|
||||||
--- a/src/GrammarUnfold.hs
|
|
||||||
+++ b/src/GrammarUnfold.hs
|
|
||||||
@@ -17,7 +17,7 @@ module GrammarUnfold (
|
|
||||||
import AbstractSyntax
|
|
||||||
import GrammarTransform
|
|
||||||
import StringMatch (stringMatch)
|
|
||||||
-import List
|
|
||||||
+import Data.List
|
|
||||||
|
|
||||||
import qualified Data.Map (Map, keys, elems, findWithDefault, fromList)
|
|
||||||
|
|
||||||
diff --git a/src/IOSupplement.hs b/src/IOSupplement.hs
|
|
||||||
index 3251365..ba666b1 100644
|
|
||||||
--- a/src/IOSupplement.hs
|
|
||||||
+++ b/src/IOSupplement.hs
|
|
||||||
@@ -29,8 +29,9 @@
|
|
||||||
module IOSupplement (getPath, readPathFile, readRGBPathFile)
|
|
||||||
where
|
|
||||||
|
|
||||||
-import System
|
|
||||||
-import IO
|
|
||||||
+import System.IO
|
|
||||||
+import System.IO.Error
|
|
||||||
+import System.Environment
|
|
||||||
|
|
||||||
#ifdef __HBC__
|
|
||||||
ioError = fail
|
|
||||||
diff --git a/src/Lexer.hs b/src/Lexer.hs
|
|
||||||
index 52f2549..8bf9f82 100644
|
|
||||||
--- a/src/Lexer.hs
|
|
||||||
+++ b/src/Lexer.hs
|
|
||||||
@@ -3,7 +3,7 @@ module Lexer where
|
|
||||||
-- Last Modified By: M. Walter
|
|
||||||
--
|
|
||||||
|
|
||||||
-import Char
|
|
||||||
+import Data.Char
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
--NOW the lexer
|
|
||||||
diff --git a/src/PathExpansion.hs b/src/PathExpansion.hs
|
|
||||||
index 48e27d6..01807e5 100644
|
|
||||||
--- a/src/PathExpansion.hs
|
|
||||||
+++ b/src/PathExpansion.hs
|
|
||||||
@@ -3,10 +3,11 @@ module PathExpansion (expandPath)
|
|
||||||
where
|
|
||||||
|
|
||||||
#ifdef __GLASGOW_HASKELL__
|
|
||||||
-import System
|
|
||||||
-import Directory
|
|
||||||
-import Monad
|
|
||||||
-import IO
|
|
||||||
+import System.Directory
|
|
||||||
+import System.Environment
|
|
||||||
+import Control.Monad
|
|
||||||
+import System.IO
|
|
||||||
+import System.IO.Error
|
|
||||||
import System.Posix.User (getUserEntryForName, homeDirectory)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -99,8 +100,8 @@ replaceEnv (x:xs) = do t <- replaceEnv xs
|
|
||||||
return (x:t)
|
|
||||||
|
|
||||||
getEnv2 t
|
|
||||||
- |t == "HOME" = catch (getEnv t) (\e -> if IO.isDoesNotExistError e then return ['.'] else ioError e)
|
|
||||||
- |otherwise = catch (getEnv t) (\e -> if IO.isDoesNotExistError e then return [] else ioError e)
|
|
||||||
+ |t == "HOME" = catch (getEnv t) (\e -> if isDoesNotExistError e then return ['.'] else ioError e)
|
|
||||||
+ |otherwise = catch (getEnv t) (\e -> if isDoesNotExistError e then return [] else ioError e)
|
|
||||||
-------------------------------------------------------
|
|
||||||
|
|
||||||
---------------- Teilen nach Doppelpunkt --------------
|
|
@ -1566,9 +1566,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
|
|||||||
|
|
||||||
cpphs = callPackage ../development/tools/misc/cpphs {};
|
cpphs = callPackage ../development/tools/misc/cpphs {};
|
||||||
|
|
||||||
ebnf2ps = callPackage ../development/tools/parsing/ebnf2ps {
|
Ebnf2ps = callPackage ../development/tools/parsing/Ebnf2ps {};
|
||||||
inherit (pkgs) fetchurl;
|
|
||||||
};
|
|
||||||
|
|
||||||
frown = callPackage ../development/tools/parsing/frown {};
|
frown = callPackage ../development/tools/parsing/frown {};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user