From 56bd759df1d0c750a065b8c845e93d5dfa6b549d Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 8 Aug 2015 13:49:04 -0700 Subject: proj/gentoo: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson X-Thanks: Alec Warner - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring - wrote much python to improve cvs2svn X-Thanks: Rich Freeman - validation scripts X-Thanks: Patrick Lauer - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed --- dev-haskell/happy/Manifest | 4 + dev-haskell/happy/files/happy-1.18.6-man.patch | 12 + .../happy/files/happy-1.18.9-missing-tests.patch | 260 +++++++++++++++++++++ .../happy/files/happy-1.19.5-ghc-7.10.2.patch | 27 +++ dev-haskell/happy/happy-1.18.10.ebuild | 63 +++++ dev-haskell/happy/happy-1.19.3.ebuild | 67 ++++++ dev-haskell/happy/happy-1.19.4.ebuild | 67 ++++++ dev-haskell/happy/happy-1.19.5.ebuild | 74 ++++++ dev-haskell/happy/metadata.xml | 8 + 9 files changed, 582 insertions(+) create mode 100644 dev-haskell/happy/Manifest create mode 100644 dev-haskell/happy/files/happy-1.18.6-man.patch create mode 100644 dev-haskell/happy/files/happy-1.18.9-missing-tests.patch create mode 100644 dev-haskell/happy/files/happy-1.19.5-ghc-7.10.2.patch create mode 100644 dev-haskell/happy/happy-1.18.10.ebuild create mode 100644 dev-haskell/happy/happy-1.19.3.ebuild create mode 100644 dev-haskell/happy/happy-1.19.4.ebuild create mode 100644 dev-haskell/happy/happy-1.19.5.ebuild create mode 100644 dev-haskell/happy/metadata.xml (limited to 'dev-haskell/happy') diff --git a/dev-haskell/happy/Manifest b/dev-haskell/happy/Manifest new file mode 100644 index 000000000000..c3532967afac --- /dev/null +++ b/dev-haskell/happy/Manifest @@ -0,0 +1,4 @@ +DIST happy-1.18.10.tar.gz 159994 SHA256 c1c920f77906740252e261e2baec5b7519e584344d6080aa5a9cc0b677b9064b SHA512 e052b016bae9f255a9dfa7e4970a015cc5abfdd5216e6e4d4317c63890f154dd68da75aac1ac9bb5a8c84854e59066d0daed09c6ac4d4928ce93ecf4c8bcfb80 WHIRLPOOL ec97a2d7011af0dfd2e099b19bc6dda1df9a128b2a1c50bc82c010b7504c0a5682533b032b9f51386fd37935c17fee5aa38f7bd27e6dbb920664d964dcbbe637 +DIST happy-1.19.3.tar.gz 160853 SHA256 7d9c21ae2093c4f753f68eb6f654e48f08f72a79157bcac7182e6fcede8d70e0 SHA512 8d04a5756eb3b36a0aea3e7828adb69d657c6f9a18a2552295c60483fd50caf27a21cff3da4052e25adf25b0203907e782372ed0d2e2563467425144654a281b WHIRLPOOL cf97b16698b68f3fe4f9788689fbe799ab8d336c61b8b095ef79ad10cf4094e560c8d05add5b23825ee51acfa383253fdc6b7fd83bfbe88e2ef631f0d6e89754 +DIST happy-1.19.4.tar.gz 160497 SHA256 6be499f66c61f8c48cbbbcb70515eb8e62c2bfa08adcc8c9474e7ae343a6936d SHA512 d49893098f9982321fc03dad464bf787873a1a82167165d53f617ba04923c7e5d8f177def7fa045a5669d1c7f886a88087ba8f668ef1900a71498b5800cc4b1a WHIRLPOOL 6f9b63a149e3681f3ea52a91c01386898c70df5c0d06d9d99f1979b21628ffce483d71bc48cd21c3ca0a7cec8edc4581dea02fc33b90ff9de9902453327fdeec +DIST happy-1.19.5.tar.gz 159280 SHA256 62f03ac11d7b4b9913f212f5aa2eee1087f3b46dc07d799d41e1854ff02843da SHA512 7b43ef5236bdfba82bbddedb7edc7a8094990a389c0d3f5f848cb6208c3577e7b394cb290e51a2b2eebca25c97978a85ee932e74bbf6a792e261e5b5bff25a2b WHIRLPOOL 24bb36acb56dc20203032b9b81d542cc8e8f258bffd3b4e004cfa4185b209712c5b79c06da22f9bac4087452a0595021e94937fdd18fea79b082d0ac849c0541 diff --git a/dev-haskell/happy/files/happy-1.18.6-man.patch b/dev-haskell/happy/files/happy-1.18.6-man.patch new file mode 100644 index 000000000000..cd5558cc6607 --- /dev/null +++ b/dev-haskell/happy/files/happy-1.18.6-man.patch @@ -0,0 +1,12 @@ +Tue Aug 2 12:16:38 EEST 2011 Sergei Trofimovich + * doc: make happy.1 be buildabale with doc/configure +diff -rN -u old-happy/doc/configure.ac new-happy/doc/configure.ac +--- old-happy/doc/configure.ac 2011-08-02 12:24:20.913926740 +0300 ++++ new-happy/doc/configure.ac 2011-08-02 12:24:20.923926615 +0300 +@@ -9,5 +9,5 @@ + + AC_PATH_PROG(DbLatexCmd,dblatex) + +-AC_CONFIG_FILES([config.mk]) ++AC_CONFIG_FILES([config.mk happy.1]) + AC_OUTPUT diff --git a/dev-haskell/happy/files/happy-1.18.9-missing-tests.patch b/dev-haskell/happy/files/happy-1.18.9-missing-tests.patch new file mode 100644 index 000000000000..eb993678723d --- /dev/null +++ b/dev-haskell/happy/files/happy-1.18.9-missing-tests.patch @@ -0,0 +1,260 @@ +--- happy-1.18.9-orig/happy.cabal 2012-02-06 20:49:56.000000000 +1100 ++++ happy-1.18.9/happy.cabal 2012-02-07 20:50:33.859004968 +1100 +@@ -100,10 +100,13 @@ + templates/GLR_Base.hs + templates/GenericTemplate.hs + templates/GLR_Lib.hs ++ tests/AttrGrammar001.y ++ tests/AttrGrammar002.y + tests/error001.y + tests/error001.stdout + tests/error001.stderr + tests/monad001.y ++ tests/monaderror.y + tests/Makefile + tests/TestMulti.ly + tests/Partial.ly +--- happy-1.18.9-orig/tests/Makefile 2012-02-06 20:49:55.000000000 +1100 ++++ happy-1.18.9/tests/Makefile 2012-02-07 20:50:33.859004968 +1100 +@@ -1,5 +1,5 @@ + HAPPY=../dist/build/happy/happy +-HC=ghc ++HC=ghc -hide-all-packages -package base -package array -package mtl + + TESTS = Test.ly TestMulti.ly TestPrecedence.ly bug001.ly \ + monad001.y monad002.ly precedence001.ly precedence002.y \ +--- /dev/null 2012-02-07 10:04:42.144206507 +1100 ++++ happy-1.18.9/tests/AttrGrammar001.y 2012-02-07 20:50:47.013316418 +1100 +@@ -0,0 +1,68 @@ ++{ ++import Control.Monad (unless) ++} ++ ++%tokentype { Char } ++ ++%token a { 'a' } ++%token b { 'b' } ++%token c { 'c' } ++ ++%attributetype { Attrs a } ++%attribute value { a } ++%attribute len { Int } ++ ++%name parse abcstring ++ ++%monad { Maybe } ++ ++%% ++ ++abcstring ++ : alist blist clist ++ { $$ = $1 ++ $2 ++ $3 ++ ; $2.len = $1.len ++ ; $3.len = $1.len ++ } ++ ++alist ++ : a alist ++ { $$ = $1 : $> ++ ; $$.len = $>.len + 1 ++ } ++ | { $$ = []; $$.len = 0 } ++ ++blist ++ : b blist ++ { $$ = $1 : $> ++ ; $>.len = $$.len - 1 ++ } ++ | { $$ = [] ++ ; where failUnless ($$.len == 0) "blist wrong length" ++ } ++ ++clist ++ : c clist ++ { $$ = $1 : $> ++ ; $>.len = $$.len - 1 ++ } ++ | { $$ = [] ++ ; where failUnless ($$.len == 0) "clist wrong length" ++ } ++ ++{ ++happyError = error "parse error" ++failUnless b msg = unless b (fail msg) ++ ++main = case parse "" of { Just _ -> ++ case parse "abc" of { Just _ -> ++ case parse "aaaabbbbcccc" of { Just _ -> ++ case parse "abbcc" of { Nothing -> ++ case parse "aabcc" of { Nothing -> ++ case parse "aabbc" of { Nothing -> ++ putStrLn "Test works"; ++ _ -> quit } ; _ -> quit }; _ -> quit }; ++ _ -> quit } ; _ -> quit }; _ -> quit } ++ ++quit = putStrLn "Test failed" ++} +--- /dev/null 2012-02-07 10:04:42.144206507 +1100 ++++ happy-1.18.9/tests/AttrGrammar002.y 2012-02-07 20:50:47.013316418 +1100 +@@ -0,0 +1,58 @@ ++ ++%tokentype { Char } ++ ++%token minus { '-' } ++%token plus { '+' } ++%token one { '1' } ++%token zero { '0' } ++ ++%attributetype { Attrs } ++%attribute value { Integer } ++%attribute pos { Int } ++ ++%name parse start ++ ++%monad { Maybe } ++ ++%% ++ ++start ++ : num { $$ = $1 } ++ ++num ++ : bits { $$ = $1 ; $1.pos = 0 } ++ | plus bits { $$ = $2 ; $2.pos = 0 } ++ | minus bits { $$ = negate $2; $2.pos = 0 } ++ ++bits ++ : bit { $$ = $1 ++ ; $1.pos = $$.pos ++ } ++ ++ | bits bit { $$ = $1 + $2 ++ ; $1.pos = $$.pos + 1 ++ ; $2.pos = $$.pos ++ } ++ ++bit ++ : zero { $$ = 0 } ++ | one { $$ = 2^($$.pos) } ++ ++ ++{ ++happyError msg = fail $ "parse error: "++msg ++ ++main = case parse "" of { Nothing -> ++ case parse "abc" of { Nothing -> ++ case parse "0" of { Just 0 -> ++ case parse "1" of { Just 1 -> ++ case parse "101" of { Just 5 -> ++ case parse "111" of { Just 7 -> ++ case parse "10001" of { Just 17 -> ++ putStrLn "Test worked"; ++ _ -> quit }; _ -> quit }; _ -> quit }; ++ _ -> quit }; _ -> quit }; _ -> quit }; ++ _ -> quit } ++ ++quit = putStrLn "Test Failed" ++} +--- /dev/null 2012-02-07 10:04:42.144206507 +1100 ++++ happy-1.18.9/tests/ParGF.y 2012-02-07 20:50:47.014316443 +1100 +@@ -0,0 +1,40 @@ ++{- ++ ++With Happy 1.17 this file produces "Internal Happy error" when run: ++ ++$ happy ParGF.y && runghc ParGF.hs ++ParGF.hs: Internal Happy error ++ ++The problem is that we always pass around the "current token". When not ++using %lexer and we've run out of tokens, the current token is notHappyAtAll, ++which gets passed to happyError when there's an error. ++ ++-} ++ ++{ ++} ++ ++%name pGrammar ++ ++%tokentype { String } ++%error { parseError } ++ ++%token ++ 'a' { "a" } ++ ++%% ++ ++Grammar :: { () } ++Grammar : 'a' 'a' { () } ++ ++{ ++ ++parseError :: [String] -> a ++-- commenting out the below line gets rid of the "Internal Happy Error" ++parseError ("":_) = error "bar" ++parseError _ = error "foo" ++ ++main :: IO () ++main = print $ pGrammar ["a"] ++ ++} +--- /dev/null 2012-02-07 10:04:42.144206507 +1100 ++++ happy-1.18.9/tests/monaderror.y 2012-02-07 20:50:47.015316467 +1100 +@@ -0,0 +1,57 @@ ++{ ++module Main where ++ ++import Data.Char ++import Control.Monad.Error ++import System.Exit ++} ++ ++%name parseFoo ++%tokentype { Token } ++%error { handleError } ++ ++%monad { ParseM } { (>>=) } { return } ++ ++%token ++ 'S' { TokenSucc } ++ 'Z' { TokenZero } ++ ++%% ++ ++Exp : 'Z' { 0 } ++ | 'S' Exp { $2 + 1 } ++ ++{ ++ ++type ParseM a = Either ParseError a ++data ParseError ++ = ParseError (Maybe Token) ++ | StringError String ++ deriving (Eq,Show) ++instance Error ParseError where ++ strMsg = StringError ++ ++data Token ++ = TokenSucc ++ | TokenZero ++ deriving (Eq,Show) ++ ++handleError :: [Token] -> ParseM a ++handleError [] = throwError $ ParseError Nothing ++handleError ts = throwError $ ParseError $ Just $ head ts ++ ++lexer :: String -> [Token] ++lexer [] = [] ++lexer (c:cs) ++ | isSpace c = lexer cs ++ | c == 'S' = TokenSucc:(lexer cs) ++ | c == 'Z' = TokenZero:(lexer cs) ++ | otherwise = error "lexer error" ++ ++main :: IO () ++main = do ++ let tokens = lexer "S S" ++ when (parseFoo tokens /= Left (ParseError Nothing)) $ do ++ print (parseFoo tokens) ++ exitWith (ExitFailure 1) ++} diff --git a/dev-haskell/happy/files/happy-1.19.5-ghc-7.10.2.patch b/dev-haskell/happy/files/happy-1.19.5-ghc-7.10.2.patch new file mode 100644 index 000000000000..dee216b029fb --- /dev/null +++ b/dev-haskell/happy/files/happy-1.19.5-ghc-7.10.2.patch @@ -0,0 +1,27 @@ +I'm not sure if it's a ghc feature or a bug. +Should happy emable that extension for -g option? + +The build error is Kind mismatch: + + monad002.g.hs:296:26: + Couldn't match kind ‘*’ with ‘#’ + When matching types + t0 :: * + Happy_GHC_Exts.Int# :: # + Relevant bindings include + cont :: t0 -> [Char] -> Int -> ParseResult a + (bound at monad002.g.hs:293:13) + In the first argument of ‘cont’, namely ‘8#’ + In the expression: cont 8# + In a case alternative: TokenLet -> cont 8# + +Slightly related bug: https://ghc.haskell.org/trac/ghc/ticket/8739 + +diff --git a/tests/monad002.ly b/tests/monad002.ly +index 35cc5b0..4c526ca 100644 +--- a/tests/monad002.ly ++++ b/tests/monad002.ly +@@ -5,2 +5,3 @@ Test for monadic Happy Parsers, Simon Marlow 1996. + > {-# OPTIONS_GHC -fglasgow-exts #-} ++> {-# LANGUAGE MonoLocalBinds #-} + > -- -fglasgow-exts required because P is a type synonym, and Happy uses it diff --git a/dev-haskell/happy/happy-1.18.10.ebuild b/dev-haskell/happy/happy-1.18.10.ebuild new file mode 100644 index 000000000000..cdd99e16b3e7 --- /dev/null +++ b/dev-haskell/happy/happy-1.18.10.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +CABAL_FEATURES="bin" +inherit base eutils haskell-cabal autotools + +DESCRIPTION="Happy is a parser generator for Haskell" +HOMEPAGE="http://www.haskell.org/happy/" +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86" +IUSE="doc" + +RDEPEND="" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.2.3 + >=dev-haskell/mtl-1.0 + >=dev-lang/ghc-6.8.2 + + + haskell + + Happy is a parser generator for Haskell + + -- cgit v1.2.3-65-gdbad