diff options
Diffstat (limited to 'app-forensics/quickfuzz')
7 files changed, 393 insertions, 0 deletions
diff --git a/app-forensics/quickfuzz/Manifest b/app-forensics/quickfuzz/Manifest new file mode 100644 index 000000000000..36c20f04f1be --- /dev/null +++ b/app-forensics/quickfuzz/Manifest @@ -0,0 +1,7 @@ +AUX quickfuzz-0.1_p20160920-derive-2.6.patch 663 BLAKE2B 7eea4e3259044c340767ef774b13e060c9e7c1c59f253f62b9e3a47d30f8ec7f6d9a3256e99bd1f7257a2e539c3358f03be5fd6fa02af326e2c1d3842827a201 SHA512 c604134457566e226d0254451988c848cb10d5ec5a8ea6ae5387ad7813eadacc31fbf72e1072ec57ff650c813d0656a7bbdabb65c1e69d125cbd858258baff72 +AUX quickfuzz-0.1_p20160920-directory-1.3.patch 267 BLAKE2B 716af42b15069c0204ef98c275725ae5e26369bac072232561663538412e8d1554ae75489c5195fd46cd5f39b0ada717ab2ca4be6afce48a9a54adcea42409d8 SHA512 cd1cbe40b93c324caf8a687742ffb8fc9e5caab4dbfc18a3292d392e6b8fa74b30c3f9ef40342047c9cf8cca29de11ffa1121b6dbed3ec0495fd5706a8e6a0c5 +AUX quickfuzz-0.1_p20160920-ghc-8.0.2_rc1.patch 250 BLAKE2B d6de3b6acec0fcf3a61c2de5eb870b30bf0186baf33ca2260a0c210c98801097d135db5eef71055c6e28ce8c299d38ffb512d496cd96b6c3c95c1077fede3f4b SHA512 f1eab2915fc5175b35b6f4d92ed9a04d215058b5f131f43f9b584d80613a2cf59a701688433871c9a165dfdce21577e9c6ebbbaba5b0bcd4a6a1b13ff789a3ca +DIST quickfuzz-0.1_p20160920.tar.gz 1073894 BLAKE2B fdf9cf9f1b3aaf7e21221d62417aa5bd80dd67bab3e09d67344b0eaf8d6a50e9eee585a6d234b1c6472f7c17a9b4057a242ba19f48fbfa859cfd0ef8111c409b SHA512 52068c35cef580e4719f1b7128ae069a80581f176adc4a2abbbdfc7fc48849e4ff1c228d342b7eaddc780e5b50eabb285b398c334753fca0dc70d3d3ec9f55f8 +EBUILD quickfuzz-0.1_p20160920.ebuild 4188 BLAKE2B ee219636c2f27136dd92fbdd4c2c47da623ffcb89a15d713d16c0d66af6ed1959afa80b7f6a2582116f073dc4749d914f5311b647584383783f8d6bf5af236c7 SHA512 d49800f4b9bb9a527af576f5b1d3e5485b52a1ac9cba167ffef623eea7f74c654c1e8cdaf76cad4e31633ba2fcbfb1bae6fbf1df1ac6ab0ae7681c63bbd8a79c +EBUILD quickfuzz-9999.ebuild 4726 BLAKE2B 358d39153910f22d0e991fe4855e96407f837161fa31f02771e347018ed1effdaa3a1f7b163e8a941227b35f4cd008003f51f7ad30ca10435f7bff54f40143a0 SHA512 cd8523998adee21241edbc8aa3db85530d76cfd19f25ba6987c83da12f38889b8edd26dd4fc25c0ff6b6fed5ed70aa1c467838c828138b343f37e116ffc95940 +MISC metadata.xml 805 BLAKE2B 5e8884355c25d4387fa5a96d25aa773cc87481a9767a2824e2987319979fe1f42e78fee3ce1a6a07d3aa1290cb1a3e3ce5de67fecad1486e621d86b5b1c70b42 SHA512 c0546197822adc83a8339312fcbf88d3f81effe6689508d4b1bbe34c42a91b407be5539713599ba087985d6780db4788f328a7f7a3d4925fe7d4ca03ec115989 diff --git a/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-derive-2.6.patch b/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-derive-2.6.patch new file mode 100644 index 000000000000..6e0f25636b6a --- /dev/null +++ b/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-derive-2.6.patch @@ -0,0 +1,21 @@ +diff --git a/src/DeriveShow.hs b/src/DeriveShow.hs +index c11dd03..40cc205 100644 +--- a/src/DeriveShow.hs ++++ b/src/DeriveShow.hs +@@ -1,5 +1,5 @@ + {-# LANGUAGE TemplateHaskell #-} ++{-# LANGUAGE StandaloneDeriving #-} + module DeriveShow where + +-import Data.Derive.Show + import Data.DeriveTH +@@ -12,3 +12,2 @@ isArbInsName = isinsName ''Show + devShow :: Name -> Q [Dec] +-devShow = megaderive (derive makeShow) isArbInsName +- ++devShow = megaderive (\n -> [d| deriving instance Show $(return (ConT n)) |]) isArbInsName +--- a/QuickFuzz.cabal ++++ b/QuickFuzz.cabal +@@ -75,0 +75,1 @@ executable QuickFuzz ++ default-extensions: StandaloneDeriving + diff --git a/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-directory-1.3.patch b/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-directory-1.3.patch new file mode 100644 index 000000000000..34e92089b53f --- /dev/null +++ b/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-directory-1.3.patch @@ -0,0 +1,9 @@ +diff --git a/src/Check.hs b/src/Check.hs +index b38a56a..246bf24 100644 +--- a/src/Check.hs ++++ b/src/Check.hs +@@ -23,3 +23,3 @@ import System.Posix.Env + import System.Exit +-import System.Directory ++import System.Directory hiding (getFileSize) + import System.IO.Unsafe diff --git a/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-ghc-8.0.2_rc1.patch b/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-ghc-8.0.2_rc1.patch new file mode 100644 index 000000000000..0e8abbd9d796 --- /dev/null +++ b/app-forensics/quickfuzz/files/quickfuzz-0.1_p20160920-ghc-8.0.2_rc1.patch @@ -0,0 +1,8 @@ +diff --git a/src/Midi.hs b/src/Midi.hs +index 2b7a359..8c4eacc 100644 +--- a/src/Midi.hs ++++ b/src/Midi.hs +@@ -1,2 +1,2 @@ +-{-# LANGUAGE TemplateHaskell, FlexibleInstances#-} ++{-# LANGUAGE TemplateHaskell, FlexibleInstances, OverlappingInstances #-} + diff --git a/app-forensics/quickfuzz/metadata.xml b/app-forensics/quickfuzz/metadata.xml new file mode 100644 index 000000000000..1e1e29136406 --- /dev/null +++ b/app-forensics/quickfuzz/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + <use> + <flag name='archs'>support archive formats</flag> + <flag name='codes'>support cource code formats</flag> + <flag name='docs'>support document formats</flag> + <flag name='imgs'>support image formats</flag> + <flag name='media'>support media formats</flag> + <flag name='net'>support networking formats</flag> + <flag name='pki'>support PKI formats</flag> + </use> + <longdescription> + An experimental grammar fuzzer in Haskell using QuickCheck. + </longdescription> + <upstream> + <remote-id type="github">CIFASIS/QuickFuzz</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-forensics/quickfuzz/quickfuzz-0.1_p20160920.ebuild b/app-forensics/quickfuzz/quickfuzz-0.1_p20160920.ebuild new file mode 100644 index 000000000000..b16b564b392b --- /dev/null +++ b/app-forensics/quickfuzz/quickfuzz-0.1_p20160920.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# ebuild generated by hackport 0.5.9999 + +CABAL_FEATURES="bin" +inherit haskell-cabal + +MY_PN="QuickFuzz" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="An experimental grammar fuzzer in Haskell using QuickCheck" +HOMEPAGE="http://quickfuzz.org/" +SRC_URI="https://dev.gentoo.org/~slyfox/distfiles/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +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/process-extras:= + 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=( + "${FILESDIR}"/${P}-ghc-8.0.2_rc1.patch + "${FILESDIR}"/${P}-directory-1.3.patch + "${FILESDIR}"/${P}-derive-2.6.patch +) + +# $1 - target tarball name (not including extension) +make_snapshot() { + ln -s "${S}" "${WORKDIR}"/"$1" || die + tar \ + --dereference \ + --directory="${WORKDIR}" \ + --exclude="$1"/bundled/Juicy.Pixels/tests \ + -zcvvf \ + "${WORKDIR}"/"$1".tar.gz "$1"/ || die +} + +# 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: upstream, build agains patched juicypixels +# - x509: stabilised handling of corrupterd data +# - megadeth: not a fork but has no releases +# - ttasm: cabalised, renamed module + +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) +} diff --git a/app-forensics/quickfuzz/quickfuzz-9999.ebuild b/app-forensics/quickfuzz/quickfuzz-9999.ebuild new file mode 100644 index 000000000000..41734df6f0ce --- /dev/null +++ b/app-forensics/quickfuzz/quickfuzz-9999.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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/process-extras:= + 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 +" + +# $1 - target tarball name (not including extension) +make_snapshot() { + ln -s "${S}" "${WORKDIR}"/"$1" || die + tar \ + --dereference \ + --directory="${WORKDIR}" \ + --exclude="$1"/bundled/Juicy.Pixels/tests \ + -zcvvf \ + "${WORKDIR}"/"$1".tar.gz "$1"/ || die +} + +# 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: upstream, build agains patched juicypixels +# - 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 + 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 + + git-r3_fetch https://github.com/Twinside/svg-tree.git + git-r3_checkout https://github.com/Twinside/svg-tree.git "${repo_subdir}/svg-tree" + + make_snapshot quickfuzz-0.1_p$(date "+%Y%m%d") +} + +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) +} |