From 1767be209a7cd0a9247148b2a83bb9f300f56ee7 Mon Sep 17 00:00:00 2001 From: "W. Duncan Fraser" Date: Mon, 9 Jul 2018 00:29:48 -0800 Subject: [PATCH] Added cabal-install, alex, and happy Signed-off-by: W. Duncan Fraser --- .bldr.toml | 6 ++++++ alex/README.md | 15 ++++++++++++++ alex/plan.sh | 45 ++++++++++++++++++++++++++++++++++++++++ cabal-install/README.md | 15 ++++++++++++++ cabal-install/plan.sh | 46 +++++++++++++++++++++++++++++++++++++++++ happy/README.md | 15 ++++++++++++++ happy/plan.sh | 45 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 187 insertions(+) create mode 100644 alex/README.md create mode 100644 alex/plan.sh create mode 100644 cabal-install/README.md create mode 100644 cabal-install/plan.sh create mode 100644 happy/README.md create mode 100644 happy/plan.sh diff --git a/.bldr.toml b/.bldr.toml index 5742472cef..b7087f268b 100644 --- a/.bldr.toml +++ b/.bldr.toml @@ -4,6 +4,8 @@ plan_path = "7zip" plan_path = "acbuild" [acl] plan_path = "acl" +[alex] +plan_path = "alex" [alsa-lib] plan_path = "alsa-lib" [ant] @@ -85,6 +87,8 @@ paths = [ ] [c-ares] plan_path = "c-ares" +[cabal-install] +plan_path = "cabal-install" [cacerts] plan_path = "cacerts" [caddy] @@ -382,6 +386,8 @@ plan_path = "guile" plan_path = "gzip" [handlebars-cmd] plan_path = "handlebars-cmd" +[happy] +plan_path = "happy" [haproxy] plan_path = "haproxy" [harfbuzz] diff --git a/alex/README.md b/alex/README.md new file mode 100644 index 0000000000..2a0416f7be --- /dev/null +++ b/alex/README.md @@ -0,0 +1,15 @@ +# alex + +Alex is a tool for generating lexical analysers in Haskell. It takes a description of tokens based on regular expressions and generates a Haskell module containing code for scanning text efficiently. It is similar to the tool lex or flex for C/C++. + +## Maintainers + +* The Habitat Maintainers: + +## Type of Package + +Binary package + +## Usage + +*TODO: Add instructions for usage* diff --git a/alex/plan.sh b/alex/plan.sh new file mode 100644 index 0000000000..8b74a01541 --- /dev/null +++ b/alex/plan.sh @@ -0,0 +1,45 @@ +pkg_name=alex +pkg_origin=core +pkg_version=3.2.4 +pkg_license=('BSD-3-Clause') +pkg_upstream_url="http://www.haskell.org/alex/" +pkg_description="Alex is a tool for generating lexical analysers in Haskell. It takes a description of tokens based on regular expressions and generates a Haskell module containing code for scanning text efficiently. It is similar to the tool lex or flex for C/C++." +pkg_maintainer="The Habitat Maintainers " +pkg_source="https://hackage.haskell.org/package/${pkg_name}-${pkg_version}/${pkg_name}-${pkg_version}.tar.gz" +pkg_shasum="d58e4d708b14ff332a8a8edad4fa8989cb6a9f518a7c6834e96281ac5f8ff232" + +pkg_bin_dirs=(bin) + +pkg_deps=( + core/glibc + core/gmp + core/libffi +) + +pkg_build_deps=( + core/cabal-install + core/ghc +) + +do_clean() { + do_default_clean + + # Strip any previous cabal config/cache + rm -rf /root/.cabal +} + +do_build() { + cabal sandbox init + cabal update + + # Install dependencies + cabal install --only-dependencies + + # Configure and Build + cabal configure --prefix="$pkg_prefix" + cabal build +} + +do_install() { + cabal copy +} diff --git a/cabal-install/README.md b/cabal-install/README.md new file mode 100644 index 0000000000..3935ea3cef --- /dev/null +++ b/cabal-install/README.md @@ -0,0 +1,15 @@ +# cabal-install + +Command-line interface for Cabal and Hackage. + +## Maintainers + +* The Habitat Maintainers: + +## Type of Package + +Binary package + +## Usage + +*TODO: Add instructions for usage* diff --git a/cabal-install/plan.sh b/cabal-install/plan.sh new file mode 100644 index 0000000000..488900c847 --- /dev/null +++ b/cabal-install/plan.sh @@ -0,0 +1,46 @@ +pkg_name=cabal-install +pkg_origin=core +pkg_version=2.2.0.0 +pkg_license=('BSD-3-Clause') +pkg_upstream_url="https://www.haskell.org/cabal/" +pkg_description="Command-line interface for Cabal and Hackage" +pkg_maintainer="The Habitat Maintainers " +pkg_source="https://www.haskell.org/cabal/release/cabal-install-${pkg_version}/cabal-install-${pkg_version}.tar.gz" +pkg_shasum="c856a2dd93c5a7b909597c066b9f9ca27fbda1a502b3f96077b7918c0f64a3d9" + +pkg_bin_dirs=(bin) + +pkg_deps=( + core/glibc + core/gmp + core/libffi + core/zlib +) + +pkg_build_deps=( + core/curl + core/ghc + core/sed + core/which +) + +do_clean() { + do_default_clean + + # Strip any previous cabal config + rm -rf /root/.cabal +} + +do_build() { + EXTRA_CONFIGURE_OPTS="--extra-include-dirs=$(pkg_path_for zlib)/include --extra-lib-dirs=$(pkg_path_for zlib)/lib" ./bootstrap.sh --sandbox +} + +do_check() { + # Validate the sandbox build + .cabal-sandbox/bin/cabal update + .cabal-sandbox/bin/cabal info cabal +} + +do_install() { + cp -f .cabal-sandbox/bin/cabal "$pkg_prefix/bin" +} diff --git a/happy/README.md b/happy/README.md new file mode 100644 index 0000000000..8793b9a702 --- /dev/null +++ b/happy/README.md @@ -0,0 +1,15 @@ +# happy + +Happy is a parser generator for Haskell. Given a grammar specification in BNF, Happy generates Haskell code to parse the grammar. Happy works in a similar way to the yacc tool for C. + +## Maintainers + +* The Habitat Maintainers: + +## Type of Package + +Binary package + +## Usage + +*TODO: Add instructions for usage* diff --git a/happy/plan.sh b/happy/plan.sh new file mode 100644 index 0000000000..17ef000cdb --- /dev/null +++ b/happy/plan.sh @@ -0,0 +1,45 @@ +pkg_name=happy +pkg_origin=core +pkg_version=1.19.9 +pkg_license=('BSD-3-Clause') +pkg_upstream_url="https://www.haskell.org/happy/" +pkg_description="Happy is a parser generator for Haskell. Given a grammar specification in BNF, Happy generates Haskell code to parse the grammar. Happy works in a similar way to the yacc tool for C." +pkg_maintainer="The Habitat Maintainers " +pkg_source="https://hackage.haskell.org/package/${pkg_name}-${pkg_version}/${pkg_name}-${pkg_version}.tar.gz" +pkg_shasum="3e81a3e813acca3aae52721c412cde18b7b7c71ecbacfaeaa5c2f4b35abf1d8d" + +pkg_bin_dirs=(bin) + +pkg_deps=( + core/glibc + core/gmp + core/libffi +) + +pkg_build_deps=( + core/cabal-install + core/ghc +) + +do_clean() { + do_default_clean + + # Strip any previous cabal config/cache + rm -rf /root/.cabal +} + +do_build() { + cabal sandbox init + cabal update + + # Install dependencies + cabal install --only-dependencies + + # Configure and Build + cabal configure --prefix="$pkg_prefix" + cabal build +} + +do_install() { + cabal copy +}