You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
4.5 KiB
174 lines
4.5 KiB
8 years ago
|
# Copyright 1999-2016 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
# $Id$
|
||
|
|
||
|
EAPI=6
|
||
|
|
||
|
# ebuild generated by hackport 0.5.9999
|
||
|
|
||
|
CABAL_FEATURES="bin"
|
||
|
inherit git-r3 haskell-cabal
|
||
|
|
||
|
MY_PN="QuickFuzz"
|
||
|
MY_P="${MY_PN}-${PV}"
|
||
|
|
||
|
DESCRIPTION="An experimental grammar fuzzer in Haskell using QuickCheck"
|
||
|
HOMEPAGE="http://quickfuzz.org/"
|
||
|
EGIT_REPO_URI="https://github.com/CIFASIS/QuickFuzz.git"
|
||
|
|
||
|
LICENSE="GPL-3"
|
||
|
SLOT="0"
|
||
|
IUSE="archs codes docs imgs media net pki"
|
||
|
|
||
|
RDEPEND="dev-haskell/abstract-par:=
|
||
|
dev-haskell/argparser:=
|
||
|
dev-haskell/derive:=
|
||
|
dev-haskell/linear:=
|
||
|
dev-haskell/monad-par:=
|
||
|
dev-haskell/mtl:=
|
||
|
dev-haskell/parallel-io:=
|
||
|
dev-haskell/primitive:=
|
||
|
dev-haskell/quickcheck:2=
|
||
|
dev-haskell/quickcheck-unicode:=
|
||
|
dev-haskell/random:=
|
||
|
dev-haskell/split:=
|
||
|
dev-haskell/text:=
|
||
|
dev-haskell/vector:=
|
||
|
dev-haskell/wl-pprint:=
|
||
|
>=dev-lang/ghc-7.8.2:=
|
||
|
archs? ( dev-haskell/base16-bytestring:=
|
||
|
>=dev-haskell/tar-0.5:=
|
||
|
dev-haskell/zip-archive:= )
|
||
|
!archs? ( net? ( dev-haskell/base16-bytestring:= ) )
|
||
|
codes? ( dev-haskell/haxml:=
|
||
|
dev-haskell/json:=
|
||
|
dev-haskell/language-bash:=
|
||
|
dev-haskell/language-css:=
|
||
|
dev-haskell/language-dot:=
|
||
|
dev-haskell/language-ecmascript:=
|
||
|
dev-haskell/language-glsl:=
|
||
|
dev-haskell/language-lua:=
|
||
|
dev-haskell/language-python:=
|
||
|
dev-haskell/shell-escape:=
|
||
|
dev-haskell/uniplate:= )
|
||
|
docs? ( app-text/pandoc:=
|
||
|
dev-haskell/data-default:=
|
||
|
dev-haskell/hcg-minus:=
|
||
|
dev-haskell/hps:=
|
||
|
dev-haskell/icalendar:=
|
||
|
dev-haskell/pandoc-types:= )
|
||
|
imgs? ( dev-haskell/ac-ppm:=
|
||
|
dev-haskell/memory:=
|
||
|
dev-haskell/attoparsec:=
|
||
|
dev-haskell/lens:=
|
||
|
dev-haskell/scientific:=
|
||
|
dev-haskell/thyme:=
|
||
|
dev-haskell/xml:=
|
||
|
>=dev-haskell/zlib-0.6:= )
|
||
|
!imgs? ( archs? ( >=dev-haskell/zlib-0.6:= ) )
|
||
|
media? ( dev-haskell/hcodecs:=
|
||
|
dev-haskell/hunit:=
|
||
|
dev-haskell/mtl:=
|
||
|
dev-haskell/old-locale:=
|
||
|
dev-haskell/random:=
|
||
|
dev-haskell/idiii:=
|
||
|
dev-haskell/bitwise:=
|
||
|
dev-haskell/monad-loops:=
|
||
|
dev-haskell/mtl:=
|
||
|
dev-haskell/wavy:= )
|
||
|
net? ( dev-haskell/concurrent-extra:=
|
||
|
dev-haskell/dns:=
|
||
|
dev-haskell/http:=
|
||
|
dev-haskell/iproute:=
|
||
|
dev-haskell/network:=
|
||
|
dev-haskell/network-uri:=
|
||
|
dev-haskell/unbounded-delays:= )
|
||
|
pki? ( dev-haskell/hourglass:=
|
||
|
dev-haskell/asn1-types:=
|
||
|
dev-haskell/asn1-parse:=
|
||
|
dev-haskell/cryptonite:=
|
||
|
dev-haskell/hourglass:=
|
||
|
dev-haskell/memory:= )
|
||
|
"
|
||
|
DEPEND="${RDEPEND}
|
||
|
>=dev-haskell/cabal-1.18.1.3
|
||
|
"
|
||
|
|
||
|
PATCHES=(
|
||
|
# bundled libs:
|
||
|
"${FILESDIR}"/${P}-megadeth-ghc-8.patch
|
||
|
"${FILESDIR}"/${P}-megadeth-better-erroro.patch
|
||
|
"${FILESDIR}"/${P}-megadeth-ghc-8-gadt.patch
|
||
|
|
||
|
"${FILESDIR}"/${P}-ttasm-layout.patch
|
||
|
|
||
|
# package itself:
|
||
|
"${FILESDIR}"/${PN}-0.1-QC-2.9.patch
|
||
|
"${FILESDIR}"/${P}-th-2.11-1.patch
|
||
|
"${FILESDIR}"/${P}-th-2.11-2.patch
|
||
|
)
|
||
|
|
||
|
# As of 2016-09-10 QuickFuzz forks a few hackage packages
|
||
|
# without renames:
|
||
|
# - asn1-encoding: stabilised handling of corrupterd data
|
||
|
# - hogg: more functions are exported directly
|
||
|
# - juicypixels: more functions and modules are exported,
|
||
|
# unsafe functions are changed to safe
|
||
|
# - svg-tree: expose internal modules
|
||
|
# - x509: stabilised handling of corrupterd data
|
||
|
# - megadeth: not a fork but has no releases
|
||
|
# - ttasm: cabalised, renamed module
|
||
|
|
||
|
src_unpack() {
|
||
|
git-r3_src_unpack
|
||
|
|
||
|
cd "${S}"
|
||
|
|
||
|
local forked_repos=(
|
||
|
Juicy.Pixels
|
||
|
hogg
|
||
|
hs-asn1-encoding
|
||
|
hs-certificate-x509
|
||
|
svg-tree
|
||
|
ttasm
|
||
|
|
||
|
# not exactly fork. just unreleased upstream library
|
||
|
megadeth
|
||
|
)
|
||
|
local repo_name
|
||
|
local repo_subdir=${S}/bundled
|
||
|
|
||
|
mkdir "${repo_subdir}/" || die
|
||
|
for repo_name in "${forked_repos[@]}"; do
|
||
|
git-r3_fetch https://github.com/CIFASIS/${repo_name}.git
|
||
|
git-r3_checkout https://github.com/CIFASIS/${repo_name}.git "${repo_subdir}/${repo_name}"
|
||
|
done
|
||
|
}
|
||
|
|
||
|
src_prepare() {
|
||
|
default
|
||
|
|
||
|
# inline dependencies of bundled dependencies
|
||
|
cabal_chdeps \
|
||
|
'JuicyPixels' 'memory' \
|
||
|
'asn1-encoding' 'hourglass' \
|
||
|
'hogg' 'array' \
|
||
|
'megadeth' 'base' \
|
||
|
'svg-tree' 'attoparsec, lens, scientific, thyme' \
|
||
|
'ttasm' 'bitwise, mtl, monad-loops' \
|
||
|
'x509' 'asn1-parse, cryptonite, hourglass, memory' \
|
||
|
\
|
||
|
'hs-source-dirs: src' 'hs-source-dirs: src, bundled/Juicy.Pixels/src, bundled/hogg, bundled/hs-asn1-encoding, bundled/hs-certificate-x509, bundled/megadeth, bundled/svg-tree/src, bundled/ttasm'
|
||
|
}
|
||
|
|
||
|
src_configure() {
|
||
|
haskell-cabal_src_configure \
|
||
|
$(cabal_flag archs archs) \
|
||
|
$(cabal_flag codes codes) \
|
||
|
$(cabal_flag docs docs) \
|
||
|
$(cabal_flag imgs imgs) \
|
||
|
$(cabal_flag media media) \
|
||
|
$(cabal_flag net net) \
|
||
|
$(cabal_flag pki pki)
|
||
|
}
|